metaapi.cloud-sdk
Version:
SDK for MetaApi, a professional cloud forex API which includes MetaTrader REST API and MetaTrader websocket API. Supports both MetaTrader 5 (MT5) and MetaTrader 4 (MT4). CopyFactory copy trading API included. (https://metaapi.cloud)
99 lines (98 loc) • 11.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
function _define_property(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
// import type ChildPool from '../child/childPool';
// import {Constructor} from '../../types/util';
/**
* Process context
*/ let ProcessContext = class ProcessContext {
/**
* Returns process ID
* @returns process ID
*/ get processId() {
return this._context.processId;
}
/**
* Returns current process stage
* @returns process stage
*/ get stage() {
return this._context.stage;
}
/**
* Whether the process was scheduled to cancel by external command (cancel or restart)
* @returns whether canceled
*/ get canceled() {
return !!this._context.canceled;
}
/**
* Returns process IDs chain from root process
* @returns process IDs chain
*/ getProcessIdChain() {
return [
this._context.processId
];
}
/**
* Process this context relates to. Called automatically by async pool
* @param process current process
*/ initialize(process) {
this._process = process;
}
/**
* Releases internal resources. Called automatically by async pool
*/ release() {
// childSchedulerRegistry.off('childSchedulerSubscribed', this._subscribeChildScheduler);
// childSchedulerRegistry.off('childSchedulerUnsubscribed', this._unsubscribeChildScheduler);
}
// private _childPoolConstructor: Constructor<ChildPool<any>>;
/**
* Constructs instance
* @param poolContext context from pool
* @param scheduler process scheduler
* @param childPoolConstructor child pool constructor
*/ constructor(poolContext, scheduler){
_define_property(this, "_context", void 0);
_define_property(this, "_scheduler", void 0);
// private _childPools = new Map<ChildSchedulerRegistry.ChildSchedulerEntry, AsyncProcessPool<any, any>>();
_define_property(this, "_runChildren", void 0);
_define_property(this, "_process", void 0);
this._context = poolContext;
this._scheduler = scheduler;
// this._childPoolConstructor = childPoolConstructor;
// this._subscribeChildScheduler = this._subscribeChildScheduler.bind(this);
// this._unsubscribeChildScheduler = this._unsubscribeChildScheduler.bind(this);
// childSchedulerRegistry.on('childSchedulerSubscribed', this._subscribeChildScheduler);
// childSchedulerRegistry.on('childSchedulerUnsubscribed', this._unsubscribeChildScheduler);
}
};
(function(ProcessContext) {
let ProcessStage;
(function(ProcessStage) {
ProcessStage[ProcessStage["STARTING"] = 0] = "STARTING";
ProcessStage[ProcessStage["RUNNING"] = 1] = "RUNNING";
ProcessStage[ProcessStage["STOPPING"] = 2] = "STOPPING";
ProcessStage[ProcessStage["STOPPED"] = 3] = "STOPPED";
})(ProcessStage = ProcessContext.ProcessStage || (ProcessContext.ProcessStage = {}));
})(ProcessContext || (ProcessContext = {}));
const _default = ProcessContext;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjxhbm9uPiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBBc3luY1Byb2Nlc3MgZnJvbSAnLi9hc3luY1Byb2Nlc3MnO1xuaW1wb3J0IHtTY2hlZHVsZXJ9IGZyb20gJy4uLy4uL3R5cGVzL2xyYXAnO1xuLy8gaW1wb3J0IGNoaWxkU2NoZWR1bGVyUmVnaXN0cnksIHtDaGlsZFNjaGVkdWxlclJlZ2lzdHJ5fSBmcm9tICcuLi9jaGlsZC9jaGlsZFNjaGVkdWxlclJlZ2lzdHJ5JztcbmltcG9ydCBBc3luY1Byb2Nlc3NQb29sIGZyb20gJy4vYXN5bmNQcm9jZXNzUG9vbCc7XG4vLyBpbXBvcnQgdHlwZSBDaGlsZFBvb2wgZnJvbSAnLi4vY2hpbGQvY2hpbGRQb29sJztcbi8vIGltcG9ydCB7Q29uc3RydWN0b3J9IGZyb20gJy4uLy4uL3R5cGVzL3V0aWwnO1xuXG4vKipcbiAqIFByb2Nlc3MgY29udGV4dFxuICovXG5jbGFzcyBQcm9jZXNzQ29udGV4dCB7XG5cbiAgcHJpdmF0ZSBfY29udGV4dDogQXN5bmNQcm9jZXNzUG9vbC5Db250ZXh0O1xuICBwcml2YXRlIF9zY2hlZHVsZXI6IFNjaGVkdWxlcjxBc3luY1Byb2Nlc3M+O1xuICAvLyBwcml2YXRlIF9jaGlsZFBvb2xzID0gbmV3IE1hcDxDaGlsZFNjaGVkdWxlclJlZ2lzdHJ5LkNoaWxkU2NoZWR1bGVyRW50cnksIEFzeW5jUHJvY2Vzc1Bvb2w8YW55LCBhbnk+PigpO1xuICBwcml2YXRlIF9ydW5DaGlsZHJlbj86IGJvb2xlYW47XG4gIHByaXZhdGUgX3Byb2Nlc3M6IEFzeW5jUHJvY2VzcztcbiAgLy8gcHJpdmF0ZSBfY2hpbGRQb29sQ29uc3RydWN0b3I6IENvbnN0cnVjdG9yPENoaWxkUG9vbDxhbnk+PjtcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBpbnN0YW5jZVxuICAgKiBAcGFyYW0gcG9vbENvbnRleHQgY29udGV4dCBmcm9tIHBvb2xcbiAgICogQHBhcmFtIHNjaGVkdWxlciBwcm9jZXNzIHNjaGVkdWxlclxuICAgKiBAcGFyYW0gY2hpbGRQb29sQ29uc3RydWN0b3IgY2hpbGQgcG9vbCBjb25zdHJ1Y3RvclxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcG9vbENvbnRleHQ6IEFzeW5jUHJvY2Vzc1Bvb2wuQ29udGV4dCxcbiAgICBzY2hlZHVsZXI6IFNjaGVkdWxlcjxBc3luY1Byb2Nlc3M+LFxuICAgIC8vIGNoaWxkUG9vbENvbnN0cnVjdG9yOiBDb25zdHJ1Y3RvcjxDaGlsZFBvb2w8YW55Pj5cbiAgKSB7XG4gICAgdGhpcy5fY29udGV4dCA9IHBvb2xDb250ZXh0O1xuICAgIHRoaXMuX3NjaGVkdWxlciA9IHNjaGVkdWxlcjtcbiAgICAvLyB0aGlzLl9jaGlsZFBvb2xDb25zdHJ1Y3RvciA9IGNoaWxkUG9vbENvbnN0cnVjdG9yO1xuICAgIFxuICAgIC8vIHRoaXMuX3N1YnNjcmliZUNoaWxkU2NoZWR1bGVyID0gdGhpcy5fc3Vic2NyaWJlQ2hpbGRTY2hlZHVsZXIuYmluZCh0aGlzKTtcbiAgICAvLyB0aGlzLl91bnN1YnNjcmliZUNoaWxkU2NoZWR1bGVyID0gdGhpcy5fdW5zdWJzY3JpYmVDaGlsZFNjaGVkdWxlci5iaW5kKHRoaXMpO1xuICAgIC8vIGNoaWxkU2NoZWR1bGVyUmVnaXN0cnkub24oJ2NoaWxkU2NoZWR1bGVyU3Vic2NyaWJlZCcsIHRoaXMuX3N1YnNjcmliZUNoaWxkU2NoZWR1bGVyKTtcbiAgICAvLyBjaGlsZFNjaGVkdWxlclJlZ2lzdHJ5Lm9uKCdjaGlsZFNjaGVkdWxlclVuc3Vic2NyaWJlZCcsIHRoaXMuX3Vuc3Vic2NyaWJlQ2hpbGRTY2hlZHVsZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgcHJvY2VzcyBJRFxuICAgKiBAcmV0dXJucyBwcm9jZXNzIElEXG4gICAqL1xuICBnZXQgcHJvY2Vzc0lkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRleHQucHJvY2Vzc0lkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgY3VycmVudCBwcm9jZXNzIHN0YWdlXG4gICAqIEByZXR1cm5zIHByb2Nlc3Mgc3RhZ2VcbiAgICovXG4gIGdldCBzdGFnZSgpOiBQcm9jZXNzQ29udGV4dC5Qcm9jZXNzU3RhZ2Uge1xuICAgIHJldHVybiB0aGlzLl9jb250ZXh0LnN0YWdlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHByb2Nlc3Mgd2FzIHNjaGVkdWxlZCB0byBjYW5jZWwgYnkgZXh0ZXJuYWwgY29tbWFuZCAoY2FuY2VsIG9yIHJlc3RhcnQpXG4gICAqIEByZXR1cm5zIHdoZXRoZXIgY2FuY2VsZWRcbiAgICovXG4gIGdldCBjYW5jZWxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9jb250ZXh0LmNhbmNlbGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgcHJvY2VzcyBJRHMgY2hhaW4gZnJvbSByb290IHByb2Nlc3NcbiAgICogQHJldHVybnMgcHJvY2VzcyBJRHMgY2hhaW5cbiAgICovXG4gIGdldFByb2Nlc3NJZENoYWluKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW3RoaXMuX2NvbnRleHQucHJvY2Vzc0lkXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNzIHRoaXMgY29udGV4dCByZWxhdGVzIHRvLiBDYWxsZWQgYXV0b21hdGljYWxseSBieSBhc3luYyBwb29sXG4gICAqIEBwYXJhbSBwcm9jZXNzIGN1cnJlbnQgcHJvY2Vzc1xuICAgKi9cbiAgaW5pdGlhbGl6ZShwcm9jZXNzOiBBc3luY1Byb2Nlc3MpIHtcbiAgICB0aGlzLl9wcm9jZXNzID0gcHJvY2VzcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWxlYXNlcyBpbnRlcm5hbCByZXNvdXJjZXMuIENhbGxlZCBhdXRvbWF0aWNhbGx5IGJ5IGFzeW5jIHBvb2xcbiAgICovXG4gIHJlbGVhc2UoKSB7XG4gICAgLy8gY2hpbGRTY2hlZHVsZXJSZWdpc3RyeS5vZmYoJ2NoaWxkU2NoZWR1bGVyU3Vic2NyaWJlZCcsIHRoaXMuX3N1YnNjcmliZUNoaWxkU2NoZWR1bGVyKTtcbiAgICAvLyBjaGlsZFNjaGVkdWxlclJlZ2lzdHJ5Lm9mZignY2hpbGRTY2hlZHVsZXJVbnN1YnNjcmliZWQnLCB0aGlzLl91bnN1YnNjcmliZUNoaWxkU2NoZWR1bGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgcnVubmluZyBjaGlsZCBwcm9jZXNzZXNcbiAgICovXG4gIC8vIHN0YXJ0Q2hpbGRQcm9jZXNzZXMoKSB7XG4gIC8vICAgdGhpcy5fcnVuQ2hpbGRyZW4gPSB0cnVlO1xuICAvLyAgIGZvciAobGV0IHNjaGVkdWxlciBvZiBjaGlsZFNjaGVkdWxlclJlZ2lzdHJ5LmdldENoaWxkU2NoZWR1bGVycyh0aGlzLl9zY2hlZHVsZXIpKSB7XG4gIC8vICAgICB0aGlzLl9zdWJzY3JpYmVDaGlsZFNjaGVkdWxlcih0aGlzLl9zY2hlZHVsZXIsIHNjaGVkdWxlcik7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLyoqXG4gICAqIFN0b3BzIHJ1bm5pbmcgY2hpbGQgcHJvY2Vzc2VzXG4gICAqIEByZXR1cm5zIHByb21pc2Ugd2hlbiBhbGwgY2hpbGQgcHJvY2Vzc2VzIGZ1bGx5IHN0b3BwZWRcbiAgICogQHJlbWFya3MgcGFyZW50IHByb2Nlc3Mgc2hvdWxkIGF3YWl0IHRoaXMgbWV0aG9kIHRvIGVuc3VyZSBzdGF0ZSBjb25zaXN0ZW5jeSBiZXR3ZWVuIHBhcmVudCBhbmQgY2hpbGQgcHJvY2Vzc2VzXG4gICAqL1xuICAvLyBhc3luYyBzdG9wQ2hpbGRQcm9jZXNzZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vICAgZGVsZXRlIHRoaXMuX3J1bkNoaWxkcmVuO1xuICAvLyAgIGF3YWl0IFByb21pc2UuYWxsKFsuLi50aGlzLl9jaGlsZFBvb2xzLmtleXMoKV0ubWFwKHNjaGVkdWxlciA9PiB7XG4gIC8vICAgICByZXR1cm4gdGhpcy5fdW5zdWJzY3JpYmVDaGlsZFNjaGVkdWxlcih0aGlzLl9zY2hlZHVsZXIsIHNjaGVkdWxlcik7XG4gIC8vICAgfSkpO1xuICAvLyB9XG5cbiAgLy8gcHJpdmF0ZSBfc3Vic2NyaWJlQ2hpbGRTY2hlZHVsZXIocGFyZW50OiBTY2hlZHVsZXIsIGVudHJ5OiBDaGlsZFNjaGVkdWxlclJlZ2lzdHJ5LkNoaWxkU2NoZWR1bGVyRW50cnkpIHtcbiAgLy8gICBpZiAoIXRoaXMuX3J1bkNoaWxkcmVuIHx8IHBhcmVudCAhPT0gdGhpcy5fc2NoZWR1bGVyKSB7XG4gIC8vICAgICByZXR1cm47XG4gIC8vICAgfVxuICAvLyAgIGxldCBjaGlsZFBvb2wgPSBuZXcgdGhpcy5fY2hpbGRQb29sQ29uc3RydWN0b3IoZW50cnkuY2hpbGRDb25zdHJ1Y3Rvciwge1xuICAvLyAgICAgLi4uZW50cnkub3B0aW9ucz8uY2hpbGRQb29sLFxuICAvLyAgICAgZGVwZW5kZW5jaWVzOiBlbnRyeS5zY2hlZHVsZXIuZGVwZW5kZW5jaWVzLFxuICAvLyAgICAgbGFiZWw6IFtcbiAgLy8gICAgICAgdGhpcy5nZXRQcm9jZXNzSWRDaGFpbigpLmpvaW4oJzonKSxcbiAgLy8gICAgICAgZW50cnkub3B0aW9ucz8uY2hpbGRQb29sPy5sYWJlbCB8fCBlbnRyeS5zY2hlZHVsZXIubGFiZWwgfHwgJ2RlZmF1bHQnXG4gIC8vICAgICBdLmpvaW4oJzonKVxuICAvLyAgIH0pO1xuICAvLyAgIHRoaXMuX2NoaWxkUG9vbHMuc2V0KGVudHJ5LCBjaGlsZFBvb2wpO1xuICAvLyAgIGVudHJ5LnNjaGVkdWxlci5zdWJzY3JpYmVQb29sKHRoaXMuZ2V0UHJvY2Vzc0lkQ2hhaW4oKSwgdGhpcy5fcHJvY2VzcywgY2hpbGRQb29sKTtcbiAgLy8gfVxuXG4gIC8vIHByaXZhdGUgX3Vuc3Vic2NyaWJlQ2hpbGRTY2hlZHVsZXIocGFyZW50OiBTY2hlZHVsZXIsIGVudHJ5OiBDaGlsZFNjaGVkdWxlclJlZ2lzdHJ5LkNoaWxkU2NoZWR1bGVyRW50cnkpIHtcbiAgLy8gICBpZiAocGFyZW50ICE9PSB0aGlzLl9zY2hlZHVsZXIpIHtcbiAgLy8gICAgIHJldHVybjtcbiAgLy8gICB9XG4gIC8vICAgaWYgKHRoaXMuX2NoaWxkUG9vbHMuaGFzKGVudHJ5KSkge1xuICAvLyAgICAgZW50cnkuc2NoZWR1bGVyLnVuc3Vic2NyaWJlUG9vbCh0aGlzLmdldFByb2Nlc3NJZENoYWluKCkpO1xuICAvLyAgICAgbGV0IHJlc3VsdCA9IHRoaXMuX2NoaWxkUG9vbHMuZ2V0KGVudHJ5KS5zdG9wKCk7XG4gIC8vICAgICB0aGlzLl9jaGlsZFBvb2xzLmRlbGV0ZShlbnRyeSk7XG4gIC8vICAgICByZXR1cm4gcmVzdWx0O1xuICAvLyAgIH1cbiAgLy8gfVxufVxuXG5uYW1lc3BhY2UgUHJvY2Vzc0NvbnRleHQge1xuXG4gIC8qKiBQcm9jZXNzIHN0YWdlICovXG4gIGV4cG9ydCBlbnVtIFByb2Nlc3NTdGFnZSB7U1RBUlRJTkcsIFJVTk5JTkcsIFNUT1BQSU5HLCBTVE9QUEVEfVxufVxuXG5leHBvcnQgZGVmYXVsdCBQcm9jZXNzQ29udGV4dDtcbiJdLCJuYW1lcyI6WyJQcm9jZXNzQ29udGV4dCIsInByb2Nlc3NJZCIsIl9jb250ZXh0Iiwic3RhZ2UiLCJjYW5jZWxlZCIsImdldFByb2Nlc3NJZENoYWluIiwiaW5pdGlhbGl6ZSIsInByb2Nlc3MiLCJfcHJvY2VzcyIsInJlbGVhc2UiLCJjb25zdHJ1Y3RvciIsInBvb2xDb250ZXh0Iiwic2NoZWR1bGVyIiwiX3NjaGVkdWxlciIsIl9ydW5DaGlsZHJlbiIsIlByb2Nlc3NTdGFnZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFpSkE7OztlQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0FBN0lBLG1EQUFtRDtBQUNuRCxnREFBZ0Q7QUFFaEQ7O0NBRUMsR0FDRCxJQUFBLEFBQU1BLGlCQUFOLE1BQU1BO0lBOEJKOzs7R0FHQyxHQUNELElBQUlDLFlBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDQyxRQUFRLENBQUNELFNBQVM7SUFDaEM7SUFFQTs7O0dBR0MsR0FDRCxJQUFJRSxRQUFxQztRQUN2QyxPQUFPLElBQUksQ0FBQ0QsUUFBUSxDQUFDQyxLQUFLO0lBQzVCO0lBRUE7OztHQUdDLEdBQ0QsSUFBSUMsV0FBb0I7UUFDdEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDRixRQUFRLENBQUNFLFFBQVE7SUFDakM7SUFFQTs7O0dBR0MsR0FDREMsb0JBQThCO1FBQzVCLE9BQU87WUFBQyxJQUFJLENBQUNILFFBQVEsQ0FBQ0QsU0FBUztTQUFDO0lBQ2xDO0lBRUE7OztHQUdDLEdBQ0RLLFdBQVdDLE9BQXFCLEVBQUU7UUFDaEMsSUFBSSxDQUFDQyxRQUFRLEdBQUdEO0lBQ2xCO0lBRUE7O0dBRUMsR0FDREUsVUFBVTtJQUNSLHlGQUF5RjtJQUN6Riw2RkFBNkY7SUFDL0Y7SUFyRUEsOERBQThEO0lBRTlEOzs7OztHQUtDLEdBQ0RDLFlBQ0VDLFdBQXFDLEVBQ3JDQyxTQUFrQyxDQUVsQztRQWpCRix1QkFBUVYsWUFBUixLQUFBO1FBQ0EsdUJBQVFXLGNBQVIsS0FBQTtRQUNBLDJHQUEyRztRQUMzRyx1QkFBUUMsZ0JBQVIsS0FBQTtRQUNBLHVCQUFRTixZQUFSLEtBQUE7UUFjRSxJQUFJLENBQUNOLFFBQVEsR0FBR1M7UUFDaEIsSUFBSSxDQUFDRSxVQUFVLEdBQUdEO0lBQ2xCLHFEQUFxRDtJQUVyRCw0RUFBNEU7SUFDNUUsZ0ZBQWdGO0lBQ2hGLHdGQUF3RjtJQUN4Riw0RkFBNEY7SUFDOUY7QUFtR0Y7VUFFVVo7O2NBR0llOzs7OztPQUFBQSw4QkFBQUEsZ0NBQUFBO0FBQ2QsR0FKVWYsbUJBQUFBO01BTVYsV0FBZUEifQ==