UNPKG

deadem

Version:

JavaScript (Node.js & Browsers) parser for Deadlock (Valve Source 2 Engine) demo/replay files

46 lines (37 loc) 921 B
import Assert from '#core/Assert.js'; import BroadcastAgent from './BroadcastAgent.js'; class BroadcastReadStreamBrowser extends ReadableStream { /** * @constructor * @param {BroadcastAgent} agent * @param {*} [options={ }] */ constructor(agent, options = { }) { Assert.isTrue(agent instanceof BroadcastAgent); super({ start(controller) { agent.subscribe((chunk) => { if (chunk === null) { controller.close(); } else { controller.enqueue(chunk); } }); } }, options); this._agent = agent; } /** * @public */ start() { this._agent.start(); } /** * @public */ stop() { this._agent.stop(); } } export default BroadcastReadStreamBrowser;