tradingview-scraper
Version:
A gateway to TradingView's data for your Node.js application!
38 lines • 1.31 kB
JavaScript
;
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