@sharplygroup/xtb-api-js
Version:
A module for interacting with the XTB API
51 lines • 1.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TradingOperations = void 0;
class TradingOperations {
wsManager;
constructor(wsManager) {
this.wsManager = wsManager;
}
/**
* Starts trade transaction.
* @param {any} tradeTransInfo - TRADE_TRANS_INFO
* @returns {Promise<ITradeTransactionResponse>}
*/
async tradeTransaction(tradeTransInfo) {
const response = (await this.wsManager.sendCommand({
command: "tradeTransaction",
arguments: {
tradeTransInfo: tradeTransInfo,
},
}));
if (!response.status || !response.returnData) {
throw new Error(response.errorDescr || "Failed to start trade transaction");
}
return {
status: response.status,
returnData: response.returnData,
};
}
/**
* Returns current transaction status.
* @param {number} order - order
* @returns {Promise<any>} // TODO: Create ITradeStatusResponse interface
*/
async tradeTransactionStatus(order) {
const response = await this.wsManager.sendCommand({
command: "tradeTransactionStatus",
arguments: {
order: order,
},
});
if (!response.status || !response.returnData) {
throw new Error(response.errorDescr || "Failed to get trade transaction status");
}
return {
status: response.status,
returnData: response.returnData,
};
}
}
exports.TradingOperations = TradingOperations;
//# sourceMappingURL=TradingOperations.js.map