mirror of https://github.com/ghostfolio/ghostfolio
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.4 KiB
50 lines
1.4 KiB
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.ExecutionContextHost = void 0;
|
|
class ExecutionContextHost {
|
|
constructor(args, constructorRef = null, handler = null) {
|
|
this.args = args;
|
|
this.constructorRef = constructorRef;
|
|
this.handler = handler;
|
|
this.contextType = 'http';
|
|
}
|
|
setType(type) {
|
|
type && (this.contextType = type);
|
|
}
|
|
getType() {
|
|
return this.contextType;
|
|
}
|
|
getClass() {
|
|
return this.constructorRef;
|
|
}
|
|
getHandler() {
|
|
return this.handler;
|
|
}
|
|
getArgs() {
|
|
return this.args;
|
|
}
|
|
getArgByIndex(index) {
|
|
return this.args[index];
|
|
}
|
|
switchToRpc() {
|
|
return Object.assign(this, {
|
|
getData: () => this.getArgByIndex(0),
|
|
getContext: () => this.getArgByIndex(1),
|
|
});
|
|
}
|
|
switchToHttp() {
|
|
return Object.assign(this, {
|
|
getRequest: () => this.getArgByIndex(0),
|
|
getResponse: () => this.getArgByIndex(1),
|
|
getNext: () => this.getArgByIndex(2),
|
|
});
|
|
}
|
|
switchToWs() {
|
|
return Object.assign(this, {
|
|
getClient: () => this.getArgByIndex(0),
|
|
getData: () => this.getArgByIndex(1),
|
|
getPattern: () => this.getArgByIndex(this.getArgs().length - 1),
|
|
});
|
|
}
|
|
}
|
|
exports.ExecutionContextHost = ExecutionContextHost;
|
|
|