{"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":[]}