@awesome-ecs/workers
Version:
The Workers package for Awesome ECS. Provides basic implementation for the Worker communication using ECS.
1 lines • 1.5 kB
Source Map (JSON)
{"version":3,"sources":["../../src/helpers/index.ts","../../src/helpers/worker-message-queue.ts"],"sourcesContent":["export * from './worker-message-queue';\n","import { WorkerRequestMessage } from '../abstract/worker-message';\nimport { IWorkerMessageQueue } from '../abstract/worker-queue';\n\n// @injectable\nexport class WorkerMessageQueue implements IWorkerMessageQueue {\n private _queue: WorkerRequestMessage<any>[];\n\n constructor() {\n this._queue = [];\n }\n\n get size(): number {\n return this._queue.length;\n }\n\n get queue(): WorkerRequestMessage<any>[] {\n return this._queue;\n }\n\n enqueue(message: WorkerRequestMessage<any>): void {\n this._queue.push(message);\n }\n\n dequeue(): WorkerRequestMessage<any> {\n return this._queue.shift();\n }\n\n peek(): WorkerRequestMessage<any> {\n if (this._queue.length) {\n return this._queue[0];\n }\n\n return undefined;\n }\n\n clear(): void {\n this._queue = [];\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACIO,IAAM,qBAAN,MAAwD;AAAA,EACrD;AAAA,EAER,cAAc;AACZ,SAAK,SAAS,CAAC;AAAA,EACjB;AAAA,EAEA,IAAI,OAAe;AACjB,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEA,IAAI,QAAqC;AACvC,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,QAAQ,SAA0C;AAChD,SAAK,OAAO,KAAK,OAAO;AAAA,EAC1B;AAAA,EAEA,UAAqC;AACnC,WAAO,KAAK,OAAO,MAAM;AAAA,EAC3B;AAAA,EAEA,OAAkC;AAChC,QAAI,KAAK,OAAO,QAAQ;AACtB,aAAO,KAAK,OAAO,CAAC;AAAA,IACtB;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,QAAc;AACZ,SAAK,SAAS,CAAC;AAAA,EACjB;AACF;","names":[]}