@hydroperx/event
Advanced tools
| export type TypedEventTarget<EventMap extends object> = { | ||
| new (): IntermediateEventTarget<EventMap>; | ||
| }; | ||
| interface IntermediateEventTarget<EventMap> extends EventTarget { | ||
| addEventListener<K extends keyof EventMap>(type: K, callback: (event: EventMap[K] extends Event ? EventMap[K] : never) => EventMap[K] extends Event ? void : never, options?: boolean | AddEventListenerOptions): void; | ||
| addEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void; | ||
| removeEventListener<K extends keyof EventMap>(type: K, callback: (event: EventMap[K] extends Event ? EventMap[K] : never) => EventMap[K] extends Event ? void : never, options?: boolean | EventListenerOptions): void; | ||
| removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void; | ||
| } | ||
| export {}; |
| export {}; |
+2
-1
| { | ||
| "name": "@hydroperx/event", | ||
| "version": "1.0.1", | ||
| "version": "1.0.2", | ||
| "description": "Provide types of dispatched events in event targets.", | ||
@@ -15,2 +15,3 @@ "scripts": { | ||
| }, | ||
| "files": ["/dist"], | ||
| "repository": "https://github.com/hydroperx/event", | ||
@@ -17,0 +18,0 @@ "license": "Apache-2.0", |
| export type TypedEventTarget<EventMap extends object> = { | ||
| new (): IntermediateEventTarget<EventMap>; | ||
| }; | ||
| interface IntermediateEventTarget<EventMap> extends EventTarget { | ||
| addEventListener<K extends keyof EventMap>(type: K, callback: (event: EventMap[K] extends Event ? EventMap[K] : never) => EventMap[K] extends Event ? void : never, options?: boolean | AddEventListenerOptions): void; | ||
| addEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void; | ||
| removeEventListener<K extends keyof EventMap>(type: K, callback: (event: EventMap[K] extends Event ? EventMap[K] : never) => EventMap[K] extends Event ? void : never, options?: boolean | EventListenerOptions): void; | ||
| removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void; | ||
| } | ||
| export {}; |
| export {}; |
-33
| export type TypedEventTarget<EventMap extends object> = | ||
| { new (): IntermediateEventTarget<EventMap>; }; | ||
| // internal helper type | ||
| interface IntermediateEventTarget<EventMap> extends EventTarget { | ||
| addEventListener<K extends keyof EventMap>( | ||
| type: K, | ||
| callback: ( | ||
| event: EventMap[K] extends Event ? EventMap[K] : never | ||
| ) => EventMap[K] extends Event ? void : never, | ||
| options?: boolean | AddEventListenerOptions | ||
| ): void; | ||
| addEventListener( | ||
| type: string, | ||
| callback: EventListenerOrEventListenerObject | null, | ||
| options?: EventListenerOptions | boolean | ||
| ): void; | ||
| removeEventListener<K extends keyof EventMap>( | ||
| type: K, | ||
| callback: ( | ||
| event: EventMap[K] extends Event ? EventMap[K] : never | ||
| ) => EventMap[K] extends Event ? void : never, | ||
| options?: boolean | EventListenerOptions | ||
| ): void; | ||
| removeEventListener( | ||
| type: string, | ||
| callback: EventListenerOrEventListenerObject | null, | ||
| options?: EventListenerOptions | boolean | ||
| ): void; | ||
| } |
| { | ||
| "compilerOptions": { | ||
| "target": "ES2024", | ||
| "moduleResolution": "node", | ||
| "lib": ["es2017", "DOM", "ES2020.Intl"], | ||
| "strict": true, | ||
| "noEmit": false, | ||
| "declaration": true | ||
| } | ||
| } |
2035
-37.69%4
-33.33%11
-77.08%