@@ -37,28 +37,34 @@ export function init(options: UserOptions): FederationHost {
37
37
}
38
38
}
39
39
40
- export function loadRemote (
40
+ export function loadRemote < T > (
41
41
...args : Parameters < FederationHost [ 'loadRemote' ] >
42
- ) : ReturnType < FederationHost [ 'loadRemote' ] > {
42
+ ) : Promise < T | null > {
43
43
assert ( FederationInstance , 'Please call init first' ) ;
44
+ const loadRemote : typeof FederationInstance . loadRemote < T > =
45
+ FederationInstance . loadRemote ;
44
46
// eslint-disable-next-line prefer-spread
45
- return FederationInstance . loadRemote . apply ( FederationInstance , args ) ;
47
+ return loadRemote . apply ( FederationInstance , args ) ;
46
48
}
47
49
48
- export function loadShare (
50
+ export function loadShare < T > (
49
51
...args : Parameters < FederationHost [ 'loadShare' ] >
50
- ) : ReturnType < FederationHost [ 'loadShare' ] > {
52
+ ) : Promise < false | ( ( ) => T | undefined ) > {
51
53
assert ( FederationInstance , 'Please call init first' ) ;
52
54
// eslint-disable-next-line prefer-spread
53
- return FederationInstance . loadShare . apply ( FederationInstance , args ) ;
55
+ const loadShare : typeof FederationInstance . loadShare < T > =
56
+ FederationInstance . loadShare ;
57
+ return loadShare . apply ( FederationInstance , args ) ;
54
58
}
55
59
56
- export function loadShareSync (
60
+ export function loadShareSync < T > (
57
61
...args : Parameters < FederationHost [ 'loadShareSync' ] >
58
- ) : ReturnType < FederationHost [ 'loadShareSync' ] > {
62
+ ) : ( ) => T | never {
59
63
assert ( FederationInstance , 'Please call init first' ) ;
64
+ const loadShareSync : typeof FederationInstance . loadShareSync < T > =
65
+ FederationInstance . loadShareSync ;
60
66
// eslint-disable-next-line prefer-spread
61
- return FederationInstance . loadShareSync . apply ( FederationInstance , args ) ;
67
+ return loadShareSync . apply ( FederationInstance , args ) ;
62
68
}
63
69
64
70
export function preloadRemote (
0 commit comments