{"version":3,"file":"event-queue.mjs","sourceRoot":"","sources":["../../../src/shared/utils/event-queue.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAU;IAAvB;QACE,UAAK,GAA4B,EAAE,CAAC;IAiBtC,CAAC;IAfQ,IAAI,CAAC,QAA6B;QACvC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,GAAG;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE5B,IAAI,CAAC;gBACH,MAAM,KAAK,EAAE,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;CACF","sourcesContent":["export class EventQueue {\n  queue: (() => Promise<void>)[] = [];\n\n  public push(callback: () => Promise<void>) {\n    this.queue.push(callback);\n  }\n\n  public async run() {\n    while (this.queue.length > 0) {\n      const event = this.queue[0];\n\n      try {\n        await event();\n      } finally {\n        this.queue = this.queue.filter((e) => e !== event);\n      }\n    }\n  }\n}\n"]}