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)
25 lines (24 loc) • 2.95 kB
JavaScript
;
export 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/KSA9PiB7XG4gICAgbGV0IGJvdW5kT25ldmVudCA9IG9uZXZlbnQ7XG4gICAgY29uc3QgbmFtZXNwYWNlcyA9IChwcm9jZXNzIGFzIGFueSkubmFtZXNwYWNlcyB8fCB7fTtcbiAgXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMobmFtZXNwYWNlcykpIHtcbiAgICAgIGNvbnN0IG5zID0gbmFtZXNwYWNlc1trZXldO1xuICAgICAgYm91bmRPbmV2ZW50ID0gbnMuYmluZChib3VuZE9uZXZlbnQpO1xuICAgIH1cblxuICAgIHNvY2tldC5vbmV2ZW50ID0gYm91bmRPbmV2ZW50O1xuXG4gICAgcmV0dXJuIG5leHQgPyBuZXh0KCkgOiBudWxsO1xuICB9XG59XG4iXSwibmFtZXMiOlsiY3VzdG9tRW1pdHRlciIsIkVtaXR0ZXIiLCJlbWl0IiwicHJvdG90eXBlIiwib25ldmVudCIsInBhY2tldCIsImFyZ3MiLCJkYXRhIiwiaWQiLCJwdXNoIiwiYWNrIiwiY2FsbCIsImFwcGx5Iiwic29ja2V0IiwibmV4dCIsImJvdW5kT25ldmVudCIsIm5hbWVzcGFjZXMiLCJwcm9jZXNzIiwia2V5IiwiT2JqZWN0Iiwia2V5cyIsIm5zIiwiYmluZCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFFQSxlQUFlLENBQUEsQ0FBQ0E7SUFDZCxNQUFNQyxVQUFVRDtJQUNoQixNQUFNRSxPQUFPRCxRQUFRRSxTQUFTLENBQUNELElBQUk7SUFFbkMsTUFBTUUsVUFBVSxTQUFVQyxNQUFNO1FBQzlCLElBQUlDLE9BQU9ELE9BQU9FLElBQUksSUFBSSxFQUFFO1FBQzVCLElBQUlGLE9BQU9HLEVBQUUsSUFBSSxNQUFNO1lBQ3JCRixLQUFLRyxJQUFJLENBQUMsSUFBSSxDQUFDQyxHQUFHLENBQUNMLE9BQU9HLEVBQUU7UUFDOUI7UUFDQU4sS0FBS1MsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLTjtRQUNyQixPQUFPSCxLQUFLVSxLQUFLLENBQUMsSUFBSSxFQUFFTjtJQUMxQjtJQUVBLE9BQU8sQ0FBQ08sUUFBUUM7UUFDZCxJQUFJQyxlQUFlWDtRQUNuQixNQUFNWSxhQUFhLEFBQUNDLFFBQWdCRCxVQUFVLElBQUksQ0FBQztRQUVuRCxLQUFLLE1BQU1FLE9BQU9DLE9BQU9DLElBQUksQ0FBQ0osWUFBYTtZQUN6QyxNQUFNSyxLQUFLTCxVQUFVLENBQUNFLElBQUk7WUFDMUJILGVBQWVNLEdBQUdDLElBQUksQ0FBQ1A7UUFDekI7UUFFQUYsT0FBT1QsT0FBTyxHQUFHVztRQUVqQixPQUFPRCxPQUFPQSxTQUFTO0lBQ3pCO0FBQ0YsQ0FBQSxFQUFDIn0=