@@ -15,12 +15,24 @@ export type Component<Data=DefaultData<never>, Methods=DefaultMethods<never>, Co
15
15
interface EsModuleComponent {
16
16
default : Component
17
17
}
18
+
19
+ export type AsyncComponent < Data = DefaultData < never > , Methods = DefaultMethods < never > , Computed = DefaultComputed , Props = DefaultProps >
20
+ = AsyncComponentPromise < Data , Methods , Computed , Props >
21
+ | AsyncComponentFactory < Data , Methods , Computed , Props >
18
22
19
- export type AsyncComponent < Data = DefaultData < never > , Methods = DefaultMethods < never > , Computed = DefaultComputed , Props = DefaultProps > = (
23
+ export type AsyncComponentPromise < Data = DefaultData < never > , Methods = DefaultMethods < never > , Computed = DefaultComputed , Props = DefaultProps > = (
20
24
resolve : ( component : Component < Data , Methods , Computed , Props > ) => void ,
21
25
reject : ( reason ?: any ) => void
22
26
) => Promise < Component | EsModuleComponent > | void ;
23
27
28
+ 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 ;
32
+ delay ?: number ;
33
+ timeout ?: number ;
34
+ }
35
+
24
36
/**
25
37
* When the `Computed` type parameter on `ComponentOptions` is inferred,
26
38
* it should have a property with the return type of every get-accessor.
0 commit comments