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)
82 lines (81 loc) • 7.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return MetaApiClient;
}
});
const _methodAccessError = /*#__PURE__*/ _interop_require_default(require("./methodAccessError"));
function _define_property(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
let MetaApiClient = class MetaApiClient {
/**
* Returns type of current token
* @returns {string} Type of current token
* @protected
*/ get _tokenType() {
if (typeof this._token === "string" && this._token.split(".").length === 3) {
return "api";
}
if (typeof this._token === "string" && this._token.split(".").length === 1) {
return "account";
}
return "";
}
/**
* Checks that current token is not api token
* @returns {boolean} Indicator of absence api token
* @protected
*/ _isNotJwtToken() {
return typeof this._token !== "string" || this._token.split(".").length !== 3;
}
/**
* Checks that current token is not account token
* @returns {boolean} Indicator of absence account token
* @protected
*/ _isNotAccountToken() {
return typeof this._token !== "string" || this._token.split(".").length !== 1;
}
/**
* Handles no accessing to the method
* @param {string} methodName Name of method
* @protected
* @throws
*/ _handleNoAccessError(methodName) {
return Promise.reject(new _methodAccessError.default(methodName, this._tokenType));
}
/**
* Constructs MetaTrader API client instance
* @param {HttpClient} httpClient HTTP client
* @param {DomainClient} domainClient domain client
*/ constructor(httpClient, domainClient){
_define_property(this, "_httpClient", void 0);
_define_property(this, "_domainClient", void 0);
_define_property(this, "_host", void 0);
_define_property(this, "_token", void 0);
this._httpClient = httpClient;
this._domainClient = domainClient;
this._host = `https://mt-provisioning-api-v1.${domainClient.domain}`;
this._token = domainClient.token;
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjxhbm9uPiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCBEb21haW5DbGllbnQgZnJvbSAnLi9kb21haW4uY2xpZW50JztcbmltcG9ydCBIdHRwQ2xpZW50IGZyb20gJy4vaHR0cENsaWVudCc7XG5pbXBvcnQgTWV0aG9kQWNjZXNzRXJyb3IgZnJvbSAnLi9tZXRob2RBY2Nlc3NFcnJvcic7XG5cbi8qKlxuICogbWV0YWFwaS5jbG91ZCBNZXRhVHJhZGVyIEFQSSBjbGllbnRcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWV0YUFwaUNsaWVudCB7XG4gIFxuICBwcm90ZWN0ZWQgX2h0dHBDbGllbnQ6IGFueTtcbiAgcHJvdGVjdGVkIF9kb21haW5DbGllbnQ6IGFueTtcbiAgcHJvdGVjdGVkIF9ob3N0OiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfdG9rZW46IGFueTtcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBNZXRhVHJhZGVyIEFQSSBjbGllbnQgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtIdHRwQ2xpZW50fSBodHRwQ2xpZW50IEhUVFAgY2xpZW50XG4gICAqIEBwYXJhbSB7RG9tYWluQ2xpZW50fSBkb21haW5DbGllbnQgZG9tYWluIGNsaWVudFxuICAgKi9cbiAgY29uc3RydWN0b3IoaHR0cENsaWVudDogSHR0cENsaWVudCwgZG9tYWluQ2xpZW50OiBEb21haW5DbGllbnQpIHtcbiAgICB0aGlzLl9odHRwQ2xpZW50ID0gaHR0cENsaWVudDtcbiAgICB0aGlzLl9kb21haW5DbGllbnQgPSBkb21haW5DbGllbnQ7XG4gICAgdGhpcy5faG9zdCA9IGBodHRwczovL210LXByb3Zpc2lvbmluZy1hcGktdjEuJHtkb21haW5DbGllbnQuZG9tYWlufWA7XG4gICAgdGhpcy5fdG9rZW4gPSBkb21haW5DbGllbnQudG9rZW47XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0eXBlIG9mIGN1cnJlbnQgdG9rZW5cbiAgICogQHJldHVybnMge3N0cmluZ30gVHlwZSBvZiBjdXJyZW50IHRva2VuXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIGdldCBfdG9rZW5UeXBlKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5fdG9rZW4gPT09ICdzdHJpbmcnICYmIHRoaXMuX3Rva2VuLnNwbGl0KCcuJykubGVuZ3RoID09PSAzKSB7XG4gICAgICByZXR1cm4gJ2FwaSc7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdGhpcy5fdG9rZW4gPT09ICdzdHJpbmcnICYmIHRoaXMuX3Rva2VuLnNwbGl0KCcuJykubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4gJ2FjY291bnQnO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHRoYXQgY3VycmVudCB0b2tlbiBpcyBub3QgYXBpIHRva2VuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBJbmRpY2F0b3Igb2YgYWJzZW5jZSBhcGkgdG9rZW5cbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgX2lzTm90Snd0VG9rZW4oKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLl90b2tlbiAhPT0gJ3N0cmluZycgfHwgdGhpcy5fdG9rZW4uc3BsaXQoJy4nKS5sZW5ndGggIT09IDM7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHRoYXQgY3VycmVudCB0b2tlbiBpcyBub3QgYWNjb3VudCB0b2tlblxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gSW5kaWNhdG9yIG9mIGFic2VuY2UgYWNjb3VudCB0b2tlblxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBfaXNOb3RBY2NvdW50VG9rZW4oKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLl90b2tlbiAhPT0gJ3N0cmluZycgfHwgdGhpcy5fdG9rZW4uc3BsaXQoJy4nKS5sZW5ndGggIT09IDE7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBubyBhY2Nlc3NpbmcgdG8gdGhlIG1ldGhvZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kTmFtZSBOYW1lIG9mIG1ldGhvZFxuICAgKiBAcHJvdGVjdGVkXG4gICAqIEB0aHJvd3NcbiAgICovXG4gIF9oYW5kbGVOb0FjY2Vzc0Vycm9yKG1ldGhvZE5hbWUpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IE1ldGhvZEFjY2Vzc0Vycm9yKG1ldGhvZE5hbWUsIHRoaXMuX3Rva2VuVHlwZSkpO1xuICB9XG5cbn1cbiJdLCJuYW1lcyI6WyJNZXRhQXBpQ2xpZW50IiwiX3Rva2VuVHlwZSIsIl90b2tlbiIsInNwbGl0IiwibGVuZ3RoIiwiX2lzTm90Snd0VG9rZW4iLCJfaXNOb3RBY2NvdW50VG9rZW4iLCJfaGFuZGxlTm9BY2Nlc3NFcnJvciIsIm1ldGhvZE5hbWUiLCJQcm9taXNlIiwicmVqZWN0IiwiTWV0aG9kQWNjZXNzRXJyb3IiLCJjb25zdHJ1Y3RvciIsImh0dHBDbGllbnQiLCJkb21haW5DbGllbnQiLCJfaHR0cENsaWVudCIsIl9kb21haW5DbGllbnQiLCJfaG9zdCIsImRvbWFpbiIsInRva2VuIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7OzswRUFMUzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUtmLElBQUEsQUFBTUEsZ0JBQU4sTUFBTUE7SUFtQm5COzs7O0dBSUMsR0FDRCxJQUFJQyxhQUFhO1FBQ2YsSUFBSSxPQUFPLElBQUksQ0FBQ0MsTUFBTSxLQUFLLFlBQVksSUFBSSxDQUFDQSxNQUFNLENBQUNDLEtBQUssQ0FBQyxLQUFLQyxNQUFNLEtBQUssR0FBRztZQUMxRSxPQUFPO1FBQ1Q7UUFDQSxJQUFJLE9BQU8sSUFBSSxDQUFDRixNQUFNLEtBQUssWUFBWSxJQUFJLENBQUNBLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDLEtBQUtDLE1BQU0sS0FBSyxHQUFHO1lBQzFFLE9BQU87UUFDVDtRQUNBLE9BQU87SUFDVDtJQUVBOzs7O0dBSUMsR0FDREMsaUJBQWlCO1FBQ2YsT0FBTyxPQUFPLElBQUksQ0FBQ0gsTUFBTSxLQUFLLFlBQVksSUFBSSxDQUFDQSxNQUFNLENBQUNDLEtBQUssQ0FBQyxLQUFLQyxNQUFNLEtBQUs7SUFDOUU7SUFFQTs7OztHQUlDLEdBQ0RFLHFCQUFxQjtRQUNuQixPQUFPLE9BQU8sSUFBSSxDQUFDSixNQUFNLEtBQUssWUFBWSxJQUFJLENBQUNBLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDLEtBQUtDLE1BQU0sS0FBSztJQUM5RTtJQUVBOzs7OztHQUtDLEdBQ0RHLHFCQUFxQkMsVUFBVSxFQUFFO1FBQy9CLE9BQU9DLFFBQVFDLE1BQU0sQ0FBQyxJQUFJQywwQkFBaUIsQ0FBQ0gsWUFBWSxJQUFJLENBQUNQLFVBQVU7SUFDekU7SUFyREE7Ozs7R0FJQyxHQUNEVyxZQUFZQyxVQUFzQixFQUFFQyxZQUEwQixDQUFFO1FBVmhFLHVCQUFVQyxlQUFWLEtBQUE7UUFDQSx1QkFBVUMsaUJBQVYsS0FBQTtRQUNBLHVCQUFVQyxTQUFWLEtBQUE7UUFDQSx1QkFBVWYsVUFBVixLQUFBO1FBUUUsSUFBSSxDQUFDYSxXQUFXLEdBQUdGO1FBQ25CLElBQUksQ0FBQ0csYUFBYSxHQUFHRjtRQUNyQixJQUFJLENBQUNHLEtBQUssR0FBRyxDQUFDLCtCQUErQixFQUFFSCxhQUFhSSxNQUFNLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUNoQixNQUFNLEdBQUdZLGFBQWFLLEtBQUs7SUFDbEM7QUE2Q0YifQ==