UNPKG

deadem

Version:

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

63 lines (52 loc) 1.22 kB
import Assert from '#core/Assert.js'; import Serializable from '#core/Serializable.js'; import WorkerMessageType from '#data/enums/WorkerMessageType.js'; class WorkerResponse extends Serializable { /** * @abstract * @constructor * @param {WorkerMessageType} type * @param {*} payload * @param {TransferListItem[]} 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 {TransferListItem[]} */ get transfers() { return this._transfers; } /** * @protected * @param {*} payload * @returns {WorkerResponseRaw} */ _serialize(payload) { return { __type: this._type.code, payload }; } } /** * @typedef {{ __type: String, payload: * }} WorkerResponseRaw */ export default WorkerResponse;