UNPKG

deadem

Version:

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

63 lines (52 loc) 1.21 kB
import Assert from '#core/Assert.js'; import Serializable from '#core/Serializable.js'; import WorkerMessageType from '#data/enums/WorkerMessageType.js'; class WorkerRequest extends Serializable { /** * @abstract * @constructor * @param {WorkerMessageType} type * @param {*} payload * @param {Transferable[]} transfers */ constructor(type, payload, transfers) { super(); Assert.isTrue(type instanceof WorkerMessageType); this._type = type; this._payload = payload; this._transfers = transfers; } /** * @returns {WorkerMessageType} */ get type() { return this._type; } /** * @returns {*} */ get payload() { return this._payload; } /** * @returns {Transferable[]} */ get transfers() { return this._transfers; } /** * @protected * @param {*} payload * @returns {WorkerRequestRaw} */ _serialize(payload) { return { __type: this._type.code, payload }; } } /** * @typedef {{ __type: String, payload: * }} WorkerRequestRaw */ export default WorkerRequest;