@@ -12,9 +12,10 @@ export type Component<Data=DefaultData<never>, Methods=DefaultMethods<never>, Co
12
12
| FunctionalComponentOptions < Props >
13
13
| ComponentOptions < never , Data , Methods , Computed , Props >
14
14
15
- interface EsModuleComponent {
16
- default : Component
17
- }
15
+ type EsModule < T > = T | { default : T }
16
+
17
+ type ImportedComponent < Data = DefaultData < never > , Methods = DefaultMethods < never > , Computed = DefaultComputed , Props = DefaultProps >
18
+ = EsModule < Component < Data , Methods , Computed , Props > >
18
19
19
20
export type AsyncComponent < Data = DefaultData < never > , Methods = DefaultMethods < never > , Computed = DefaultComputed , Props = DefaultProps >
20
21
= AsyncComponentPromise < Data , Methods , Computed , Props >
@@ -23,12 +24,12 @@ export type AsyncComponent<Data=DefaultData<never>, Methods=DefaultMethods<never
23
24
export type AsyncComponentPromise < Data = DefaultData < never > , Methods = DefaultMethods < never > , Computed = DefaultComputed , Props = DefaultProps > = (
24
25
resolve : ( component : Component < Data , Methods , Computed , Props > ) => void ,
25
26
reject : ( reason ?: any ) => void
26
- ) => Promise < Component | EsModuleComponent > | void ;
27
+ ) => Promise < ImportedComponent < Data , Methods , Computed , Props > > | void ;
27
28
28
29
export type AsyncComponentFactory < Data = DefaultData < never > , Methods = DefaultMethods < never > , Computed = DefaultComputed , Props = DefaultProps > = ( ) => {
29
- component : AsyncComponentPromise < Data , Methods , Computed , Props > ;
30
- loading ?: Component | EsModuleComponent ;
31
- error ?: Component | EsModuleComponent ;
30
+ component : Promise < ImportedComponent < Data , Methods , Computed , Props > > ;
31
+ loading ?: ImportedComponent ;
32
+ error ?: ImportedComponent ;
32
33
delay ?: number ;
33
34
timeout ?: number ;
34
35
}
0 commit comments