UNPKG

@exchanges/binance

Version:

Exchange provider for Binance API

40 lines 2.61 kB
"use strict"; 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.indexKlineCandlestickStreams = void 0; const apiCall_1 = require("../../../apiCall"); const safe_parsing_1 = require("@berish/safe-parsing"); function indexKlineCandlestickStreams(client, pair, interval, callback) { if (!pair) throw new TypeError('indexKlineCandlestickStreams pair is empty'); if (!interval) throw new TypeError('indexKlineCandlestickStreams interval is empty'); if (typeof pair !== 'string') throw new TypeError('indexKlineCandlestickStreams 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, k } = _a, other = __rest(_a, ["e", "E", "ps", "k"]); return (Object.assign(Object.assign({ eventTime: (0, safe_parsing_1.parse)(E, safe_parsing_1.dateParser), pair: ps }, other), (0, safe_parsing_1.parse)(k, (_a) => { var { t, T, i, o, c, h, l, n, x } = _a, other = __rest(_a, ["t", "T", "i", "o", "c", "h", "l", "n", "x"]); 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, 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), numberOfBasicData: n, isThisKlineClosed: x }, other)); }))); }); return callback(response); }); return (0, apiCall_1.apiCall)({ host: 'coinM', path: `${pair.toLowerCase()}@indexPriceKline_${interval}`, securityType: 'SOCKET', client }, parseCallback); } exports.indexKlineCandlestickStreams = indexKlineCandlestickStreams; //# sourceMappingURL=indexKlineCandlestickStreams.js.map