{
  "version": 3,
  "sources": ["../src/sync.ts", "../src/constants.ts", "../src/utils.ts", "../src/functions.ts"],
  "sourcesContent": ["import { S, T } from \"./constants.js\";\nimport { Transform, Either, EventSync } from \"./types.js\";\nimport { pass } from \"./utils.js\";\n\nexport * from \"./types.js\";\nexport * from \"./functions.js\";\n\nexport const eve = <I, O = I>(transform?: Transform<I, Either<undefined, O>>) =>\n  ({\n    [S]: null,\n    [T]: transform || (pass as Transform<I, Either<undefined, O>>),\n  } as unknown as EventSync<I, O>);\n\nexport const pub = <I, O>(event: EventSync<I, O>, value: I) => {\n  const listeners = event[S];\n\n  if (listeners) {\n    const transformedValue = event[T](value);\n\n    if (transformedValue !== undefined) {\n      for (const subscriber of listeners.values()) {\n        subscriber(transformedValue);\n      }\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,EAAiBC,IAC3B,CACC,CAACC,CAAC,EAAG,KACL,CAACC,CAAC,EAAGF,GAAcG,CACrB,GAEWC,EAAM,CAAOC,EAAwBC,IAAa,CAC7D,IAAMC,EAAYF,EAAMJ,CAAC,EAEzB,GAAIM,EAAW,CACb,IAAMC,EAAmBH,EAAMH,CAAC,EAAEI,CAAK,EAEvC,GAAIE,IAAqB,OACvB,QAAWC,KAAcF,EAAU,OAAO,EACxCE,EAAWD,CAAgB,EAInC",
  "names": ["sync_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", "subscriber"]
}
