UNPKG

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
"use strict"; 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=