File tree Expand file tree Collapse file tree 3 files changed +23
-9
lines changed
Expand file tree Collapse file tree 3 files changed +23
-9
lines changed Original file line number Diff line number Diff line change @@ -10,7 +10,10 @@ Vite exposes its manual HMR API via the special `import.meta.hot` object:
1010
1111``` ts twoslash
1212import type { ModuleNamespace } from ' vite/types/hot.d.ts'
13- import type { InferCustomEventPayload } from ' vite/types/customEvent.d.ts'
13+ import type {
14+ CustomEventName ,
15+ InferCustomEventPayload ,
16+ } from ' vite/types/customEvent.d.ts'
1417
1518// ---cut---
1619interface ImportMeta {
@@ -32,15 +35,18 @@ interface ViteHotContext {
3235 prune(cb : (data : any ) => void ): void
3336 invalidate(message ? : string ): void
3437
35- on<T extends string >(
38+ on<T extends CustomEventName >(
3639 event : T ,
3740 cb : (payload : InferCustomEventPayload <T >) => void ,
3841 ): void
39- off<T extends string >(
42+ off<T extends CustomEventName >(
4043 event : T ,
4144 cb : (payload : InferCustomEventPayload <T >) => void ,
4245 ): void
43- send<T extends string >(event : T , data ? : InferCustomEventPayload <T >): void
46+ send<T extends CustomEventName >(
47+ event : T ,
48+ data ? : InferCustomEventPayload <T >,
49+ ): void
4450}
4551```
4652
Original file line number Diff line number Diff line change @@ -33,7 +33,12 @@ export interface InvalidatePayload {
3333}
3434
3535/**
36- * provides types for built-in Vite events
36+ * provides types for payloads of built-in Vite events
3737 */
3838export type InferCustomEventPayload < T extends string > =
3939 T extends keyof CustomEventMap ? CustomEventMap [ T ] : any
40+
41+ /**
42+ * provides types for names of built-in Vite events
43+ */
44+ export type CustomEventName = keyof CustomEventMap | ( string & { } )
Original file line number Diff line number Diff line change 1- import type { InferCustomEventPayload } from './customEvent'
1+ import type { CustomEventName , InferCustomEventPayload } from './customEvent'
22
33export type ModuleNamespace = Record < string , any > & {
44 [ Symbol . toStringTag ] : 'Module'
@@ -24,13 +24,16 @@ export interface ViteHotContext {
2424 prune ( cb : ( data : any ) => void ) : void
2525 invalidate ( message ?: string ) : void
2626
27- on < T extends string > (
27+ on < T extends CustomEventName > (
2828 event : T ,
2929 cb : ( payload : InferCustomEventPayload < T > ) => void ,
3030 ) : void
31- off < T extends string > (
31+ off < T extends CustomEventName > (
3232 event : T ,
3333 cb : ( payload : InferCustomEventPayload < T > ) => void ,
3434 ) : void
35- send < T extends string > ( event : T , data ?: InferCustomEventPayload < T > ) : void
35+ send < T extends CustomEventName > (
36+ event : T ,
37+ data ?: InferCustomEventPayload < T > ,
38+ ) : void
3639}
You can’t perform that action at this time.
0 commit comments