trader-server
Version:
OData server for testing strategies, simulating and real trading.
33 lines • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const odata = require("./odata");
const odata_1 = require("./odata");
const utils_1 = require("./utils");
class ODataControllerBase {
static on(method, fn, ...keys) {
let fnName = (fn.name || fn);
odata.method(method)(this.prototype, fnName);
if (keys && keys.length > 0) {
fn = this.prototype[fnName];
let parameterNames = utils_1.getFunctionParameters(fn);
keys.forEach((key) => {
odata.key(this.prototype, fnName, parameterNames.indexOf(key));
});
}
}
/** Enables the filtering
* @param fn
* @param param
*/
static enableFilter(fn, param) {
let fnName = (fn.name || fn);
fn = this.prototype[fnName];
let parameterNames = utils_1.getFunctionParameters(fn);
odata.filter(this.prototype, fnName, parameterNames.indexOf(param || parameterNames[0]));
}
}
exports.ODataControllerBase = ODataControllerBase;
class ODataController extends odata_1.ODataBase(ODataControllerBase) {
}
exports.ODataController = ODataController;
//# sourceMappingURL=controller.js.map