{
  "version": 3,
  "sources": ["../src/async.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"],
  "mappings": "qHAOO,IAAMA,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": ["eve", "transform", "S", "T", "pass", "pub", "event", "value", "listeners", "transformedValue", "promises", "subscriber"]
}
