{
  "version": 3,
  "sources": ["../src/async.ts", "../src/constants.ts", "../src/utils.ts", "../src/functions.ts"],
  "sourcesContent": ["import { S, T } from \"./constants.js\";\nimport { Transform, Either, EventAsync } from \"./types.js\";\nimport { pass } from \"./utils.js\";\n\nexport * from \"./types.js\";\nexport * from \"./functions.js\";\n\nexport const eve = <I, O = I>(\n  transform?: Transform<I, PromiseLike<Either<undefined, O>>>,\n) =>\n  ({\n    [S]: null,\n    [T]: transform || (pass as Transform<I, PromiseLike<Either<undefined, O>>>),\n  } as unknown as EventAsync<I, O>);\n\nexport const pub = async <I, O>(event: EventAsync<I, O>, value: I) => {\n  const listeners = event[S];\n\n  if (listeners) {\n    const transformedValue = await event[T](value);\n\n    if (transformedValue !== undefined) {\n      const promises: Promise<void>[] = [];\n\n      for (const subscriber of listeners.values()) {\n        promises.push(subscriber(transformedValue));\n      }\n\n      await Promise.allSettled(promises);\n    }\n  }\n};\n", "export const S = Symbol();\nexport const T = Symbol();\n", "export const pass = (v: unknown) => v;\n", "import { S } from \"./constants.js\";\nimport { EventAny, InferSubscriber } from \"./types.js\";\n\nexport const uns = <\n  Event extends EventAny,\n  Subscriber extends InferSubscriber<Event>,\n>(\n  event: Event,\n  subscriber: Subscriber,\n) => {\n  event[S]?.delete(subscriber);\n};\n\nexport const sub = <\n  Event extends EventAny,\n  Subscriber extends InferSubscriber<Event>,\n>(\n  event: Event,\n  subscriber: Subscriber,\n) => {\n  event[S] ??= new Set();\n  event[S].add(subscriber);\n\n  return () => uns(event, subscriber);\n};\n\nexport const has = <\n  Event extends EventAny,\n  Subscriber extends InferSubscriber<Event>,\n>(\n  event: Event,\n  subscriber: Subscriber,\n) => {\n  return event[S]?.has(subscriber) || false;\n};\n\nexport const clr = <Event extends EventAny>(event: Event) => {\n  event[S]?.clear();\n};\n"],
  "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,SAAAE,EAAA,QAAAC,EAAA,QAAAC,EAAA,QAAAC,EAAA,QAAAC,EAAA,QAAAC,IAAA,eAAAC,EAAAR,GCAO,IAAMS,EAAI,OAAO,EACXC,EAAI,OAAO,ECDjB,IAAMC,EAAQC,GAAeA,ECG7B,IAAMC,EAAM,CAIjBC,EACAC,IACG,CACHD,EAAME,CAAC,GAAG,OAAOD,CAAU,CAC7B,EAEaE,EAAM,CAIjBH,EACAC,KAEAD,EAAME,CAAC,IAAM,IAAI,IACjBF,EAAME,CAAC,EAAE,IAAID,CAAU,EAEhB,IAAMF,EAAIC,EAAOC,CAAU,GAGvBG,EAAM,CAIjBJ,EACAC,IAEOD,EAAME,CAAC,GAAG,IAAID,CAAU,GAAK,GAGzBI,EAA+BL,GAAiB,CAC3DA,EAAME,CAAC,GAAG,MAAM,CAClB,EH/BO,IAAMI,EACXC,IAEC,CACC,CAACC,CAAC,EAAG,KACL,CAACC,CAAC,EAAGF,GAAcG,CACrB,GAEWC,EAAM,MAAaC,EAAyBC,IAAa,CACpE,IAAMC,EAAYF,EAAMJ,CAAC,EAEzB,GAAIM,EAAW,CACb,IAAMC,EAAmB,MAAMH,EAAMH,CAAC,EAAEI,CAAK,EAE7C,GAAIE,IAAqB,OAAW,CAClC,IAAMC,EAA4B,CAAC,EAEnC,QAAWC,KAAcH,EAAU,OAAO,EACxCE,EAAS,KAAKC,EAAWF,CAAgB,CAAC,EAG5C,MAAM,QAAQ,WAAWC,CAAQ,GAGvC",
  "names": ["async_exports", "__export", "clr", "eve", "has", "pub", "sub", "uns", "__toCommonJS", "S", "T", "pass", "v", "uns", "event", "subscriber", "S", "sub", "has", "clr", "eve", "transform", "S", "T", "pass", "pub", "event", "value", "listeners", "transformedValue", "promises", "subscriber"]
}
