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
JavaScript
;
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