UNPKG

cli-testing-library

Version:

Simple and complete CLI testing utilities that encourage good testing practices.

1 lines 1.48 kB
{"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;;"}