{"version":3,"sources":["../src/sequencer.ts"],"names":["Sequencer","seq","prefix","constructor","generateUniqueId","reset","_Sequencer","StaticSequencer","lazyInit","undefined","__publicField","_StaticSequencer"],"mappings":"oOAAO,IAAMA,CAAAA,CAAN,MAAMA,CAAAA,CACXC,IAAc,CACdC,CAAAA,MAAAA,CAAiB,GAEjBC,WAAYD,CAAAA,CAAAA,CAAiB,IAAK,CAChC,IAAA,CAAKA,OAASA,EAChB,CACAE,kBAA2B,CACzB,OAAO,IAAKF,CAAAA,MAAAA,CAAS,IAAKD,CAAAA,GAAAA,EAC5B,CACAI,KAAQ,EAAA,CACN,KAAKJ,GAAM,CAAA,EACb,CACF,CAbaD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAANM,EAeMC,CAAN,CAAA,MAAMA,CAAAA,CAIX,OAAOH,iBAAiBF,CAAiB,CAAA,GAAA,CAAa,CACpDK,OAAAA,CAAgBC,CAAAA,QAAAA,CAASN,CAAAA,CAClBK,CAAAA,CAAAA,CAAgBN,IAAKG,gBAAgB,EAC9C,CACA,OAAOC,KAAAA,CAAMH,EAAgB,CAC3BK,CAAAA,CAAgBN,IAAMQ,KACtBF,CAAAA,CAAAA,CAAAA,CAAgBC,SAASN,CAAAA,EAC3B,CACA,OAAeM,QAAAA,CAASN,CAAgB,CAAA,CACjCK,CAAgBN,CAAAA,GAAAA,GACnBM,EAAgBL,MAASA,CAAAA,CAAAA,EAAU,IACnCK,CAAgBN,CAAAA,GAAAA,CAAM,IAAID,CAAUO,CAAAA,CAAAA,CAAgBL,MAAM,CAAA,EAE9D,CACF,EAlBaK,EAAAA,CAAAA,CAAAA,iBAAAA,CAAAA,CACXG,EADWH,CACJN,CAAAA,KAAAA,CAAAA,CACPS,EAFWH,CAEJL,CAAAA,QAAAA,CAAiB,GAFnB,CAAA,CAAA,IAAMK,CAANI,CAAAA","file":"sequencer.cjs","sourcesContent":["export class Sequencer {\r\n  seq: number = 0;\r\n  prefix: string = '';\r\n\r\n  constructor(prefix: string = 'e') {\r\n    this.prefix = prefix;\r\n  }\r\n  generateUniqueId(): string {\r\n    return this.prefix + this.seq++;\r\n  }\r\n  reset() {\r\n    this.seq = 0;\r\n  }\r\n}\r\n\r\nexport class StaticSequencer {\r\n  static seq?: Sequencer;\r\n  static prefix: string = 'e';\r\n\r\n  static generateUniqueId(prefix: string = 'e'): string {\r\n    StaticSequencer.lazyInit(prefix);\r\n    return StaticSequencer.seq!.generateUniqueId();\r\n  }\r\n  static reset(prefix: string) {\r\n    StaticSequencer.seq = undefined;\r\n    StaticSequencer.lazyInit(prefix);\r\n  }\r\n  private static lazyInit(prefix: string) {\r\n    if (!StaticSequencer.seq) {\r\n      StaticSequencer.prefix = prefix || 'e';\r\n      StaticSequencer.seq = new Sequencer(StaticSequencer.prefix);\r\n    }\r\n  }\r\n}\r\n"]}