@exchanges/binance
Version:
Exchange provider for Binance API
47 lines • 3.34 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.continuousContractKlineCandlestickStreams = void 0;
const apiCall_1 = require("../../../apiCall");
const safe_parsing_1 = require("@berish/safe-parsing");
function continuousContractKlineCandlestickStreams(client, pair, contractType, interval, callback) {
if (!pair)
throw new TypeError('continuousContractKlineCandlestickStreams pair is empty');
if (!contractType)
throw new TypeError('continuousContractKlineCandlestickStreams contractType is empty');
if (!interval)
throw new TypeError('continuousContractKlineCandlestickStreams interval is empty');
if (typeof pair !== 'string')
throw new TypeError('continuousContractKlineCandlestickStreams pair is not string');
const parseCallback = callback &&
((data, error) => {
if (error)
return callback(void 0, error);
const response = (0, safe_parsing_1.parse)(data, (_a) => {
var { e, E, ps, ct, k } = _a, other = __rest(_a, ["e", "E", "ps", "ct", "k"]);
return Object.assign(Object.assign({ eventTime: (0, safe_parsing_1.parse)(E, safe_parsing_1.dateParser), pair: ps, contractType: ct }, other), (0, safe_parsing_1.parse)(k, (_a) => {
var { t, T, i, f, L, o, c, h, l, v, n, x, q, V, Q } = _a, other = __rest(_a, ["t", "T", "i", "f", "L", "o", "c", "h", "l", "v", "n", "x", "q", "V", "Q"]);
return (Object.assign({ klineStartTime: (0, safe_parsing_1.parse)(t, safe_parsing_1.dateParser), klineCloseTime: (0, safe_parsing_1.parse)(T, safe_parsing_1.dateParser), interval: i, firstTradeId: f, lastTradeId: L, openPrice: (0, safe_parsing_1.parse)(o, safe_parsing_1.numberParser), closePrice: (0, safe_parsing_1.parse)(c, safe_parsing_1.numberParser), highPrice: (0, safe_parsing_1.parse)(h, safe_parsing_1.numberParser), lowPrice: (0, safe_parsing_1.parse)(l, safe_parsing_1.numberParser), baseAssetVolume: (0, safe_parsing_1.parse)(v, safe_parsing_1.numberParser), numberOfTrades: n, isThisKlineClosed: x, quoteAssetVolume: (0, safe_parsing_1.parse)(q, safe_parsing_1.numberParser), takerBuyBaseAssetVolume: (0, safe_parsing_1.parse)(V, safe_parsing_1.numberParser), takerBuyQuoteAssetVolume: (0, safe_parsing_1.parse)(Q, safe_parsing_1.numberParser) }, other));
}));
});
return callback(response);
});
return (0, apiCall_1.apiCall)({
host: 'usdtM',
path: `${pair.toLowerCase()}_${contractType.toLowerCase()}@continuousKline_${interval}`,
securityType: 'SOCKET',
client,
}, parseCallback);
}
exports.continuousContractKlineCandlestickStreams = continuousContractKlineCandlestickStreams;
//# sourceMappingURL=continuousContractKlineCandlestickStreams.js.map