UNPKG

tradingview-scraper

Version:

A gateway to TradingView's data for your Node.js application!

38 lines 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createMessage = exports.prependHeader = exports.parseMessages = void 0; var parseMessages = function (str) { var packets = []; while (str.length > 0) { var x = /~m~(\d+)~m~/.exec(str); if (!x || x.length < 2) { throw new Error('Invalid Socket.IO packet'); } var packet = str.slice(x[0].length, x[0].length + parseInt(x[1], 10)); if (packet.slice(0, 3) !== '~h~') { packets.push({ isKeepAlive: false, data: JSON.parse(packet) }); } else { packets.push({ isKeepAlive: true, data: packet.slice(3) }); } str.slice(0, x[0].length); str = str.slice(x[0].length + parseInt(x[1], 10)); } return packets; }; exports.parseMessages = parseMessages; var prependHeader = function (str) { return '~m~' + str.length + '~m~' + str; }; exports.prependHeader = prependHeader; var createMessage = function (func, paramList) { return (0, exports.prependHeader)(constructMessage(func, paramList)); }; exports.createMessage = createMessage; var constructMessage = function (func, paramList) { return JSON.stringify({ m: func, p: paramList }); }; //# sourceMappingURL=SIOProtocol.js.map