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)

48 lines (47 loc) 4.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { getCallsWithExactly: function() { return getCallsWithExactly; }, getCallsWithMatch: function() { return getCallsWithMatch; } }); require("should"); function getCallsWithMatch(spy, ...args) { return _getCallsWith(spy, "match", args); } function getCallsWithExactly(spy, ...args) { return _getCallsWith(spy, "deepEqual", args); } function _getCallsWith(spy, checkMethod, args) { if (!spy.isSinonProxy) { throw new Error("Given function is not a sinon spy"); } let result = []; for(let call = 0; call < spy.args.length; ++call){ let actualArgs = spy.args[call]; try { actualArgs.should[checkMethod](args); result.push({ returnValue: spy.returnValues[call], args: actualArgs }); } catch (err) { if (err.name !== "AssertionError") { throw err; } } } return result; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjxhbm9uPiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCAnc2hvdWxkJztcblxuLyoqXG4gKiBAdHlwZWRlZiBTcHlDYWxsSW5mbyBJbmZvcm1hdGlvbiBhYm91dCBzcHkgY2FsbFxuICogQHByb3BlcnR5IHthbnl9IHJldHVyblZhbHVlIENhbGwgcmV0dXJuIHZhbHVlXG4gKiBAcHJvcGVydHkge2FueVtdfSBhcmdzIENhbGwgYXJndW1lbnRzXG4gKi9cblxuLyoqXG4gKiBSZXRyaWV2ZXMgaW5mb3JtYXRpb24gYWJvdXQgY2FsbHMgd2l0aCBtYXRjaGVkIGFyZ3MgZnJvbSBhIHNpbm9uIHNweVxuICogQHBhcmFtIHtGdW5jdGlvbn0gc3B5IFNpbm9uIHN0dWIgb3Igc3B5XG4gKiBAcGFyYW0ge0FycmF5fSBhcmdzIEV4cGVjdGVkIGNhbGwgYXJndW1lbnRzXG4gKiBAcmV0dXJucyB7U3B5Q2FsbEluZm9bXX0gQ2FsbHMgaW5mb3JtYXRpb25cbiAqIEB0aHJvd3MgSWYgZmFpbGVkIHRvIHJldHJpZXZlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDYWxsc1dpdGhNYXRjaChzcHksIC4uLmFyZ3MpIHtcbiAgcmV0dXJuIF9nZXRDYWxsc1dpdGgoc3B5LCAnbWF0Y2gnLCBhcmdzKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgaW5mb3JtYXRpb24gYWJvdXQgY2FsbHMgd2l0aCBkZWVwIGVxdWFsIGFyZ3MgZnJvbSBhIHNpbm9uIHNweVxuICogQHBhcmFtIHtGdW5jdGlvbn0gc3B5IFNpbm9uIHN0dWIgb3Igc3B5XG4gKiBAcGFyYW0ge0FycmF5fSBhcmdzIEV4cGVjdGVkIGNhbGwgYXJndW1lbnRzXG4gKiBAcmV0dXJucyB7U3B5Q2FsbEluZm9bXX0gQ2FsbHMgaW5mb3JtYXRpb25cbiAqIEB0aHJvd3MgSWYgZmFpbGVkIHRvIHJldHJpZXZlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDYWxsc1dpdGhFeGFjdGx5KHNweSwgLi4uYXJncykge1xuICByZXR1cm4gX2dldENhbGxzV2l0aChzcHksICdkZWVwRXF1YWwnLCBhcmdzKTtcbn1cblxuZnVuY3Rpb24gX2dldENhbGxzV2l0aChzcHksIGNoZWNrTWV0aG9kLCBhcmdzKSB7XG4gIGlmICghc3B5LmlzU2lub25Qcm94eSkge1xuICAgIHRocm93IG5ldyBFcnJvcignR2l2ZW4gZnVuY3Rpb24gaXMgbm90IGEgc2lub24gc3B5Jyk7XG4gIH1cbiAgbGV0IHJlc3VsdCA9IFtdO1xuICBmb3IgKGxldCBjYWxsID0gMDsgY2FsbCA8IHNweS5hcmdzLmxlbmd0aDsgKytjYWxsKSB7XG4gICAgbGV0IGFjdHVhbEFyZ3MgPSBzcHkuYXJnc1tjYWxsXTtcbiAgICB0cnkge1xuICAgICAgYWN0dWFsQXJncy5zaG91bGRbY2hlY2tNZXRob2RdKGFyZ3MpO1xuICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICByZXR1cm5WYWx1ZTogc3B5LnJldHVyblZhbHVlc1tjYWxsXSxcbiAgICAgICAgYXJnczogYWN0dWFsQXJnc1xuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAoZXJyLm5hbWUgIT09ICdBc3NlcnRpb25FcnJvcicpIHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuIl0sIm5hbWVzIjpbImdldENhbGxzV2l0aEV4YWN0bHkiLCJnZXRDYWxsc1dpdGhNYXRjaCIsInNweSIsImFyZ3MiLCJfZ2V0Q2FsbHNXaXRoIiwiY2hlY2tNZXRob2QiLCJpc1Npbm9uUHJveHkiLCJFcnJvciIsInJlc3VsdCIsImNhbGwiLCJsZW5ndGgiLCJhY3R1YWxBcmdzIiwic2hvdWxkIiwicHVzaCIsInJldHVyblZhbHVlIiwicmV0dXJuVmFsdWVzIiwiZXJyIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBNEJnQkEsbUJBQW1CO2VBQW5CQTs7SUFYQUMsaUJBQWlCO2VBQWpCQTs7O1FBZlQ7QUFlQSxTQUFTQSxrQkFBa0JDLEdBQUcsRUFBRSxHQUFHQyxJQUFJO0lBQzVDLE9BQU9DLGNBQWNGLEtBQUssU0FBU0M7QUFDckM7QUFTTyxTQUFTSCxvQkFBb0JFLEdBQUcsRUFBRSxHQUFHQyxJQUFJO0lBQzlDLE9BQU9DLGNBQWNGLEtBQUssYUFBYUM7QUFDekM7QUFFQSxTQUFTQyxjQUFjRixHQUFHLEVBQUVHLFdBQVcsRUFBRUYsSUFBSTtJQUMzQyxJQUFJLENBQUNELElBQUlJLFlBQVksRUFBRTtRQUNyQixNQUFNLElBQUlDLE1BQU07SUFDbEI7SUFDQSxJQUFJQyxTQUFTLEVBQUU7SUFDZixJQUFLLElBQUlDLE9BQU8sR0FBR0EsT0FBT1AsSUFBSUMsSUFBSSxDQUFDTyxNQUFNLEVBQUUsRUFBRUQsS0FBTTtRQUNqRCxJQUFJRSxhQUFhVCxJQUFJQyxJQUFJLENBQUNNLEtBQUs7UUFDL0IsSUFBSTtZQUNGRSxXQUFXQyxNQUFNLENBQUNQLFlBQVksQ0FBQ0Y7WUFDL0JLLE9BQU9LLElBQUksQ0FBQztnQkFDVkMsYUFBYVosSUFBSWEsWUFBWSxDQUFDTixLQUFLO2dCQUNuQ04sTUFBTVE7WUFDUjtRQUNGLEVBQUUsT0FBT0ssS0FBSztZQUNaLElBQUlBLElBQUlDLElBQUksS0FBSyxrQkFBa0I7Z0JBQ2pDLE1BQU1EO1lBQ1I7UUFDRjtJQUNGO0lBQ0EsT0FBT1I7QUFDVCJ9