{"version":3,"file":"events.cjs","sources":["../../src/events.ts"],"sourcesContent":["import { eventMap } from \"./event-map\";\nimport type { TestInstance } from \"./types\";\n\ntype EventMap = typeof eventMap;\nexport type EventType = keyof EventMap;\n\nexport type FireFunction = <TEventType extends EventType>(\n  instance: TestInstance,\n  event: TEventType,\n  options?: Parameters<EventMap[TEventType]>[1],\n) => boolean | Promise<void>;\n\nexport type FireObject = {\n  [K in EventType]: (\n    instance: TestInstance,\n    options?: Parameters<EventMap[K]>[1],\n  ) => boolean | Promise<void>;\n};\n\nconst fireEvent: FireFunction & FireObject = ((\n  instance,\n  event,\n  props = undefined,\n) => {\n  return eventMap[event](instance, props!);\n}) satisfies FireFunction as never;\n\nObject.entries(eventMap).forEach(([_eventName, _eventFn]) => {\n  const eventName = _eventName as keyof typeof eventMap;\n  const eventFn = _eventFn as (\n    ...props: Array<unknown>\n  ) => ReturnType<(typeof eventMap)[keyof typeof eventMap]>;\n  fireEvent[eventName] = (instance, ...props) => {\n    return eventFn(instance, ...props);\n  };\n});\n\nexport { fireEvent };\n"],"names":["eventMap"],"mappings":";;;AAmBA,MAAM,YAAwC,CAC5C,UACA,OACA,QAAQ,WACL;AACH,SAAOA,kBAAS,KAAK,EAAE,UAAU,KAAM;AACzC;AAEA,OAAO,QAAQA,SAAAA,QAAQ,EAAE,QAAQ,CAAC,CAAC,YAAY,QAAQ,MAAM;AAC3D,QAAM,YAAY;AAClB,QAAM,UAAU;AAGhB,YAAU,SAAS,IAAI,CAAC,aAAa,UAAU;AACtC,WAAA,QAAQ,UAAU,GAAG,KAAK;AAAA,EACnC;AACF,CAAC;;"}