@exchanges/binance
Version:
Exchange provider for Binance API
88 lines • 7.79 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.parseAccountConfigUpdate = exports.parseOrderTradeUpdate = exports.parseAccountUpdate = exports.parseMarginCall = exports.parseListenKeyExpired = void 0;
const safe_parsing_1 = require("@berish/safe-parsing");
function parseListenKeyExpired(data) {
return (0, safe_parsing_1.parse)(data, (_a) => {
var { e, E } = _a, other = __rest(_a, ["e", "E"]);
return (Object.assign({ eventType: 'listenKeyExpired', eventTime: (0, safe_parsing_1.parse)(E, safe_parsing_1.dateParser) }, other));
});
}
exports.parseListenKeyExpired = parseListenKeyExpired;
function parseMarginCall(data) {
return (0, safe_parsing_1.parse)(data, (_a) => {
var { e, E, cw, p } = _a, other = __rest(_a, ["e", "E", "cw", "p"]);
return (Object.assign({ eventType: 'MARGIN_CALL', eventTime: (0, safe_parsing_1.parse)(E, safe_parsing_1.dateParser), crossWalletBalance: (0, safe_parsing_1.parse)(cw, safe_parsing_1.numberParser), positionsOfMarginCall: (0, safe_parsing_1.parseArray)(p, (_a) => {
var { s, ps, pa, mt, iw, mp, up, mm } = _a, other = __rest(_a, ["s", "ps", "pa", "mt", "iw", "mp", "up", "mm"]);
return (Object.assign({ symbol: s, positionSide: ps, positionAmount: (0, safe_parsing_1.parse)(pa, safe_parsing_1.numberParser), marginType: mt, isolatedWallet: (0, safe_parsing_1.parse)(iw, safe_parsing_1.numberParser), markPrice: (0, safe_parsing_1.parse)(mp, safe_parsing_1.numberParser), unrealizedPnL: (0, safe_parsing_1.parse)(up, safe_parsing_1.numberParser), maintenanceMarginRequired: (0, safe_parsing_1.parse)(mm, safe_parsing_1.numberParser) }, other));
}) }, other));
});
}
exports.parseMarginCall = parseMarginCall;
function parseAccountUpdate(data) {
return (0, safe_parsing_1.parse)(data, (_a) => {
var { e, E, T, a } = _a, other = __rest(_a, ["e", "E", "T", "a"]);
return (Object.assign({ eventType: 'ACCOUNT_UPDATE', eventTime: (0, safe_parsing_1.parse)(E, safe_parsing_1.dateParser), transactionTime: (0, safe_parsing_1.parse)(T, safe_parsing_1.dateParser), updateData: (0, safe_parsing_1.parse)(a, (_a) => {
var { m, B, P } = _a, other = __rest(_a, ["m", "B", "P"]);
return (Object.assign({ eventReasonType: m, balances: (0, safe_parsing_1.parseArray)(B, (_a) => {
var { a, wb, cw } = _a, other = __rest(_a, ["a", "wb", "cw"]);
return (Object.assign({ asset: a, walletBalance: (0, safe_parsing_1.parse)(wb, safe_parsing_1.numberParser), crossWalletBalance: (0, safe_parsing_1.parse)(cw, safe_parsing_1.numberParser) }, other));
}), positions: (0, safe_parsing_1.parseArray)(P, (_a) => {
var { s, pa, ep, cr, up, mt, iw, ps } = _a, other = __rest(_a, ["s", "pa", "ep", "cr", "up", "mt", "iw", "ps"]);
return (Object.assign({ symbol: s, positionAmount: (0, safe_parsing_1.parse)(pa, safe_parsing_1.numberParser), entryPrice: (0, safe_parsing_1.parse)(ep, safe_parsing_1.numberParser), preFeeAccumulatedRealized: (0, safe_parsing_1.parse)(cr, safe_parsing_1.numberParser), unrealizedPnL: (0, safe_parsing_1.parse)(up, safe_parsing_1.numberParser), marginType: mt, isolatedWallet: (0, safe_parsing_1.parse)(iw, safe_parsing_1.numberParser), positionSide: ps }, other));
}) }, other));
}) }, other));
});
}
exports.parseAccountUpdate = parseAccountUpdate;
function parseOrderTradeUpdate(data) {
return (0, safe_parsing_1.parse)(data, (_a) => {
var { e, E, T, o } = _a, other = __rest(_a, ["e", "E", "T", "o"]);
return (Object.assign(Object.assign({ eventType: 'ORDER_TRADE_UPDATE', eventTime: (0, safe_parsing_1.parse)(E, safe_parsing_1.dateParser), transactionTime: (0, safe_parsing_1.parse)(T, safe_parsing_1.dateParser) }, other), (0, safe_parsing_1.parse)(o, (_a) => {
var { s, c, S, o, f, q, p, ap, sp, x, X, i, l, z, L, N, n, T, t, b, a, m, R, wt, ot, ps, cp, AP, cr, rp } = _a, other = __rest(_a, ["s", "c", "S", "o", "f", "q", "p", "ap", "sp", "x", "X", "i", "l", "z", "L", "N", "n", "T", "t", "b", "a", "m", "R", "wt", "ot", "ps", "cp", "AP", "cr", "rp"]);
return (Object.assign({ symbol: s, clientOrderId: c, side: S, orderType: o, timeInForce: f, originalQuantity: (0, safe_parsing_1.parse)(q, safe_parsing_1.numberParser), originalPrice: (0, safe_parsing_1.parse)(p, safe_parsing_1.numberParser), averagePrice: (0, safe_parsing_1.parse)(ap, safe_parsing_1.numberParser), stopPrice: (0, safe_parsing_1.parse)(sp, safe_parsing_1.numberParser), executionType: x, orderStatus: X, orderId: i, orderLastFilledQuantity: (0, safe_parsing_1.parse)(l, safe_parsing_1.numberParser), orderFilledAccumulatedQuantity: (0, safe_parsing_1.parse)(z, safe_parsing_1.numberParser), lastFilledPrice: (0, safe_parsing_1.parse)(L, safe_parsing_1.numberParser), commissionAsset: N, commissionAmount: (0, safe_parsing_1.parse)(n, safe_parsing_1.numberParser), orderTradeTime: (0, safe_parsing_1.parse)(T, safe_parsing_1.dateParser), tradeId: t, bidsNotional: (0, safe_parsing_1.parse)(b, safe_parsing_1.numberParser), asksNotional: (0, safe_parsing_1.parse)(a, safe_parsing_1.numberParser), isBuyerMaker: m, isReduceOnly: R, stopPriceWorkingType: wt, originalOrderType: ot, positionSide: ps, isConditionalOrder: cp, activationPrice: (0, safe_parsing_1.parse)(AP, safe_parsing_1.numberParser), callbackRate: (0, safe_parsing_1.parse)(cr, safe_parsing_1.numberParser), realizedProfit: (0, safe_parsing_1.parse)(rp, safe_parsing_1.numberParser) }, other));
})));
});
}
exports.parseOrderTradeUpdate = parseOrderTradeUpdate;
function parseAccountConfigUpdate(data) {
return (0, safe_parsing_1.parse)(data, (_a) => {
var { e, E, T, ac, ai } = _a, other = __rest(_a, ["e", "E", "T", "ac", "ai"]);
return (Object.assign({ eventType: 'ACCOUNT_CONFIG_UPDATE', eventTime: (0, safe_parsing_1.parse)(E, safe_parsing_1.dateParser), transactionTime: (0, safe_parsing_1.parse)(T, safe_parsing_1.dateParser), accountTradingPairConfig: (0, safe_parsing_1.parse)(ac, (_a) => {
var { s, l } = _a, other = __rest(_a, ["s", "l"]);
return (Object.assign({ symbol: s, leverage: l }, other));
}), accountConfig: (0, safe_parsing_1.parse)(ai, (_a) => {
var { j } = _a, other = __rest(_a, ["j"]);
return (Object.assign({ multiAssetsMode: j }, other));
}) }, other));
});
}
exports.parseAccountConfigUpdate = parseAccountConfigUpdate;
function parseUserData(data) {
return (0, safe_parsing_1.parse)(data, (data) => {
if (data.e === 'listenKeyExpired')
return parseListenKeyExpired(data);
if (data.e === 'MARGIN_CALL')
return parseMarginCall(data);
if (data.e === 'ACCOUNT_UPDATE')
return parseAccountUpdate(data);
if (data.e === 'ORDER_TRADE_UPDATE')
return parseOrderTradeUpdate(data);
if (data.e === 'ACCOUNT_CONFIG_UPDATE')
return parseAccountConfigUpdate(data);
return data;
});
}
exports.parseUserData = parseUserData;
//# sourceMappingURL=parsers.js.map