@exchanges/binance
Version:
Exchange provider for Binance API
64 lines • 5.38 kB
JavaScript
;
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseUserData = exports.parseListStatus = exports.parseExecutionReport = exports.parseBalanceUpdate = exports.parseOutboundAccountPosition = void 0;
const safe_parsing_1 = require("@berish/safe-parsing");
function parseOutboundAccountPosition(data) {
return (0, safe_parsing_1.parse)(data, (_a) => {
var { e, E, u, B } = _a, other = __rest(_a, ["e", "E", "u", "B"]);
return (Object.assign({ eventType: 'outboundAccountPosition', eventTime: (0, safe_parsing_1.parse)(E, safe_parsing_1.dateParser), timeOfLastAccountUpdate: (0, safe_parsing_1.parse)(u, safe_parsing_1.dateParser), balances: (0, safe_parsing_1.parseArray)(B, (_a) => {
var { a, f, l } = _a, other = __rest(_a, ["a", "f", "l"]);
return (Object.assign({ assetName: a, free: (0, safe_parsing_1.parse)(f, safe_parsing_1.numberParser), locked: (0, safe_parsing_1.parse)(l, safe_parsing_1.numberParser) }, other));
}) }, other));
});
}
exports.parseOutboundAccountPosition = parseOutboundAccountPosition;
function parseBalanceUpdate(data) {
return (0, safe_parsing_1.parse)(data, (_a) => {
var { e, E, a, d, T } = _a, other = __rest(_a, ["e", "E", "a", "d", "T"]);
return (Object.assign({ eventType: 'balanceUpdate', eventTime: (0, safe_parsing_1.parse)(E, safe_parsing_1.dateParser), asset: a, balanceDelta: (0, safe_parsing_1.parse)(d, safe_parsing_1.numberParser), clearTime: (0, safe_parsing_1.parse)(T, safe_parsing_1.dateParser) }, other));
});
}
exports.parseBalanceUpdate = parseBalanceUpdate;
function parseExecutionReport(data) {
return (0, safe_parsing_1.parse)(data, (_a) => {
var { e, E, s, c, S, o, f, q, p, P, F, g, C, x, X, r, i, l, z, L, n, N, T, t, w, m, O, Z, Y, Q } = _a, other = __rest(_a, ["e", "E", "s", "c", "S", "o", "f", "q", "p", "P", "F", "g", "C", "x", "X", "r", "i", "l", "z", "L", "n", "N", "T", "t", "w", "m", "O", "Z", "Y", "Q"]);
return (Object.assign({ eventType: 'executionReport', eventTime: (0, safe_parsing_1.parse)(E, safe_parsing_1.dateParser), symbol: s, clientOrderId: c, side: S, orderType: o, timeInForce: f, orderQuantity: (0, safe_parsing_1.parse)(q, safe_parsing_1.numberParser), orderPrice: (0, safe_parsing_1.parse)(p, safe_parsing_1.numberParser), stopPrice: (0, safe_parsing_1.parse)(P, safe_parsing_1.numberParser), icebergQuantity: (0, safe_parsing_1.parse)(F, safe_parsing_1.numberParser), orderListId: g, origClientOrderId: C, executionType: x, orderStatus: X, orderRejectReason: r, orderId: i, lastExecutedQuantity: (0, safe_parsing_1.parse)(l, safe_parsing_1.numberParser), cumulativeFilledQuantity: (0, safe_parsing_1.parse)(z, safe_parsing_1.numberParser), lastExecutedPrice: (0, safe_parsing_1.parse)(L, safe_parsing_1.numberParser), commissionAmount: (0, safe_parsing_1.parse)(n, safe_parsing_1.numberParser), commissionAsset: N, transactionTime: (0, safe_parsing_1.parse)(T, safe_parsing_1.dateParser), tradeId: t, isBestMatch: w, isBuyerMaker: m, orderCreationTime: (0, safe_parsing_1.parse)(O, safe_parsing_1.dateParser), cumulativeQuoteAssetTransactedQuantity: (0, safe_parsing_1.parse)(Z, safe_parsing_1.numberParser), lastQuoteAssetTransactedQuantity: (0, safe_parsing_1.parse)(Y, safe_parsing_1.numberParser), quoteOrderQuantity: (0, safe_parsing_1.parse)(Q, safe_parsing_1.numberParser) }, other));
});
}
exports.parseExecutionReport = parseExecutionReport;
function parseListStatus(data) {
return (0, safe_parsing_1.parse)(data, (_a) => {
var { e, E, s, g, c, l, L, r, C, T, O } = _a, other = __rest(_a, ["e", "E", "s", "g", "c", "l", "L", "r", "C", "T", "O"]);
return (Object.assign({ eventType: 'listStatus', eventTime: (0, safe_parsing_1.parse)(E, safe_parsing_1.dateParser), symbol: s, orderListId: g, contingencyType: c, listStatusType: l, listOrderStatusType: L, listRejectReason: r, listClientOrderId: C, transactionTime: (0, safe_parsing_1.parse)(T, safe_parsing_1.dateParser), orders: (0, safe_parsing_1.parseArray)(O, (_a) => {
var { s, i, c } = _a, other = __rest(_a, ["s", "i", "c"]);
return (Object.assign({ symbol: s, orderId: i, clientOrderId: c }, other));
}) }, other));
});
}
exports.parseListStatus = parseListStatus;
function parseUserData(data) {
return (0, safe_parsing_1.parse)(data, (data) => {
if (data.e === 'outboundAccountPosition')
return parseOutboundAccountPosition(data);
if (data.e === 'balanceUpdate')
return parseBalanceUpdate(data);
if (data.e === 'executionReport')
return parseExecutionReport(data);
if (data.e === 'listStatus')
return parseListStatus(data);
return data;
});
}
exports.parseUserData = parseUserData;
//# sourceMappingURL=parsers.js.map