UNPKG

andrade-soulseek-downloader

Version:

Simple, safe Soulseek download library with built-in rate limiting to prevent bans

31 lines 923 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Messages = void 0; const stream_1 = require("stream"); const message_1 = require("./message"); class Messages extends stream_1.Writable { rest; _write(chunk, _enc, next) { this.read(this.rest ? Buffer.concat([this.rest, chunk]) : chunk); next(); } read(data) { if (data.length < 4) { this.rest = data.slice(0, data.length); return; } const size = data.readUInt32LE(); if (size + 4 <= data.length) { this.emit('message', new message_1.Message(data.slice(0, size + 4))); this.read(data.slice(size + 4, data.length)); } else { this.rest = data.slice(0, data.length); } } reset() { this.rest = undefined; } } exports.Messages = Messages; //# sourceMappingURL=messages.js.map