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)
34 lines (33 loc) • 3.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
const _default = (customEmitter)=>{
const Emitter = customEmitter;
const emit = Emitter.prototype.emit;
const onevent = function(packet) {
var args = packet.data || [];
if (packet.id != null) {
args.push(this.ack(packet.id));
}
emit.call(this, "*", packet);
return emit.apply(this, args);
};
return (socket, next)=>{
let boundOnevent = onevent;
const namespaces = process.namespaces || {};
for (const key of Object.keys(namespaces)){
const ns = namespaces[key];
boundOnevent = ns.bind(boundOnevent);
}
socket.onevent = boundOnevent;
return next ? next() : null;
};
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjxhbm9uPiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCdcblxuZXhwb3J0IGRlZmF1bHQgKGN1c3RvbUVtaXR0ZXIpID0+IHtcbiAgY29uc3QgRW1pdHRlciA9IGN1c3RvbUVtaXR0ZXI7XG4gIGNvbnN0IGVtaXQgPSBFbWl0dGVyLnByb3RvdHlwZS5lbWl0O1xuICBcbiAgY29uc3Qgb25ldmVudCA9IGZ1bmN0aW9uIChwYWNrZXQpIHtcbiAgICB2YXIgYXJncyA9IHBhY2tldC5kYXRhIHx8IFtdO1xuICAgIGlmIChwYWNrZXQuaWQgIT0gbnVsbCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWVxLW51bGwsIGVxZXFlcVxuICAgICAgYXJncy5wdXNoKHRoaXMuYWNrKHBhY2tldC5pZCkpO1xuICAgIH0gICAgXG4gICAgZW1pdC5jYWxsKHRoaXMsICcqJywgcGFja2V0KTtcbiAgICByZXR1cm4gZW1pdC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgfVxuICBcbiAgcmV0dXJuIChzb2NrZXQsIG5leHQ/KSA9PiB7XG4gICAgbGV0IGJvdW5kT25ldmVudCA9IG9uZXZlbnQ7XG4gICAgY29uc3QgbmFtZXNwYWNlcyA9IChwcm9jZXNzIGFzIGFueSkubmFtZXNwYWNlcyB8fCB7fTtcbiAgXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMobmFtZXNwYWNlcykpIHtcbiAgICAgIGNvbnN0IG5zID0gbmFtZXNwYWNlc1trZXldO1xuICAgICAgYm91bmRPbmV2ZW50ID0gbnMuYmluZChib3VuZE9uZXZlbnQpO1xuICAgIH1cblxuICAgIHNvY2tldC5vbmV2ZW50ID0gYm91bmRPbmV2ZW50O1xuXG4gICAgcmV0dXJuIG5leHQgPyBuZXh0KCkgOiBudWxsO1xuICB9XG59XG4iXSwibmFtZXMiOlsiY3VzdG9tRW1pdHRlciIsIkVtaXR0ZXIiLCJlbWl0IiwicHJvdG90eXBlIiwib25ldmVudCIsInBhY2tldCIsImFyZ3MiLCJkYXRhIiwiaWQiLCJwdXNoIiwiYWNrIiwiY2FsbCIsImFwcGx5Iiwic29ja2V0IiwibmV4dCIsImJvdW5kT25ldmVudCIsIm5hbWVzcGFjZXMiLCJwcm9jZXNzIiwia2V5IiwiT2JqZWN0Iiwia2V5cyIsIm5zIiwiYmluZCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUFBOzs7TUFBQSxXQUFlLENBQUNBO0lBQ2QsTUFBTUMsVUFBVUQ7SUFDaEIsTUFBTUUsT0FBT0QsUUFBUUUsU0FBUyxDQUFDRCxJQUFJO0lBRW5DLE1BQU1FLFVBQVUsU0FBVUMsTUFBTTtRQUM5QixJQUFJQyxPQUFPRCxPQUFPRSxJQUFJLElBQUksRUFBRTtRQUM1QixJQUFJRixPQUFPRyxFQUFFLElBQUksTUFBTTtZQUNyQkYsS0FBS0csSUFBSSxDQUFDLElBQUksQ0FBQ0MsR0FBRyxDQUFDTCxPQUFPRyxFQUFFO1FBQzlCO1FBQ0FOLEtBQUtTLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBS047UUFDckIsT0FBT0gsS0FBS1UsS0FBSyxDQUFDLElBQUksRUFBRU47SUFDMUI7SUFFQSxPQUFPLENBQUNPLFFBQVFDO1FBQ2QsSUFBSUMsZUFBZVg7UUFDbkIsTUFBTVksYUFBYSxBQUFDQyxRQUFnQkQsVUFBVSxJQUFJLENBQUM7UUFFbkQsS0FBSyxNQUFNRSxPQUFPQyxPQUFPQyxJQUFJLENBQUNKLFlBQWE7WUFDekMsTUFBTUssS0FBS0wsVUFBVSxDQUFDRSxJQUFJO1lBQzFCSCxlQUFlTSxHQUFHQyxJQUFJLENBQUNQO1FBQ3pCO1FBRUFGLE9BQU9ULE9BQU8sR0FBR1c7UUFFakIsT0FBT0QsT0FBT0EsU0FBUztJQUN6QjtBQUNGIn0=