{"version":3,"file":"EventEmitter.mjs","sources":["../../../../../../packages/upload-sdk/src/upload-core/EventEmitter.ts"],"sourcesContent":["export class EventEmitter<T extends string> {\n  private events: Map<T, Set<any>>;\n  constructor() {\n    this.events = new Map();\n  }\n\n  on(event: T, listener: any) {\n    if (!this.events.has(event)) {\n      this.events.set(event, new Set());\n    }\n    this.events.get(event)!.add(listener);\n  }\n\n  off(event: T, listener: any) {\n    if (!this.events.has(event)) {\n      return;\n    }\n    this.events.get(event)!.delete(listener);\n  }\n\n  once(event: T, listener: any) {\n    const onceListener = (...args: any[]) => {\n      listener(...args);\n      this.off(event, onceListener);\n    };\n    this.on(event, onceListener);\n  }\n\n  emit(event: T, ...args: any[]) {\n    if (!this.events.has(event)) {\n      return;\n    }\n    this.events.get(event)!.forEach((listener) => {\n      listener(...args);\n    });\n  }\n}\n"],"names":[],"mappings":"AAAO,MAAM,YAAY,CAAC;AAC1B,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,CAAC,MAAM,mBAAmB,IAAI,GAAG,EAAE,CAAC;AAC5C,GAAG;AACH,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE;AACtB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACjC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,kBAAkB,IAAI,GAAG,EAAE,CAAC,CAAC;AACxD,KAAK;AACL,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE;AACvB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACjC,MAAM,OAAO;AACb,KAAK;AACL,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5C,GAAG;AACH,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE;AACxB,IAAI,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,KAAK;AACtC,MAAM,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACpC,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACjC,GAAG;AACH,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE;AACvB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACjC,MAAM,OAAO;AACb,KAAK;AACL,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK;AACjD,MAAM,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,KAAK,CAAC,CAAC;AACP,GAAG;AACH;;;;"}