{"version":3,"file":"hslayers-ng-services-queues.mjs","sources":["../../../projects/hslayers/services/queues/queues.service.ts","../../../projects/hslayers/services/queues/hslayers-ng-services-queues.ts"],"sourcesContent":["import Queue from 'queue';\n\nimport {Injectable} from '@angular/core';\n\ntype Queues = {\n  [useCase: string]: {\n    q: Queue;\n  };\n};\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class HsQueuesService {\n  queues: Queues = {};\n\n  /**\n   * Get the params saved by the queues service for the current app\n   * @param useCase - Queue for\n   * @param customConcurrency - (Optional) custom concurrency\n   * @param timeout - (Optional) Timeout of one queue item\n   */\n  ensureQueue(\n    useCase: string,\n    customConcurrency?: number,\n    timeout?: number,\n  ): Queue {\n    if (this.queues[useCase]) {\n      return this.queues[useCase].q;\n    }\n    const newQueue: {\n      q: Queue;\n    } = {\n      q: new Queue({\n        results: [],\n        concurrency: customConcurrency || 5,\n        autostart: true,\n        timeout,\n      }),\n    };\n    this.queues[useCase] = newQueue;\n    newQueue.q.addEventListener('end', () => {\n      delete this.queues[useCase];\n    });\n    return newQueue.q;\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAaa,eAAe,CAAA;AAH5B,IAAA,WAAA,GAAA;QAIE,IAAA,CAAA,MAAM,GAAW,EAAE;AAgCpB,IAAA;AA9BC;;;;;AAKG;AACH,IAAA,WAAW,CACT,OAAe,EACf,iBAA0B,EAC1B,OAAgB,EAAA;AAEhB,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/B;AACA,QAAA,MAAM,QAAQ,GAEV;YACF,CAAC,EAAE,IAAI,KAAK,CAAC;AACX,gBAAA,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,iBAAiB,IAAI,CAAC;AACnC,gBAAA,SAAS,EAAE,IAAI;gBACf,OAAO;aACR,CAAC;SACH;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ;QAC/B,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAK;AACtC,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;AAC7B,QAAA,CAAC,CAAC;QACF,OAAO,QAAQ,CAAC,CAAC;IACnB;+GAhCW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACZD;;AAEG;;;;"}