react-simple-loadable 2.3.2 → 2.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/loadable.d.ts +5 -1
- package/loadable.d.ts.map +1 -1
- package/loadable.js +22 -13
- package/package.json +1 -1
package/loadable.d.ts
CHANGED
|
@@ -21,8 +21,12 @@ export interface LoadableConfig {
|
|
|
21
21
|
*/
|
|
22
22
|
extra?: ComponentType<any>;
|
|
23
23
|
}
|
|
24
|
+
export interface LoadableConfigWithLoad<P = any> extends LoadableConfig {
|
|
25
|
+
load: LoadComponentFn<P>;
|
|
26
|
+
}
|
|
24
27
|
type LoadableComponent$<P> = LoadableComponent<P>;
|
|
25
28
|
export declare const loadableDefaultConfig: Partial<LoadableConfig>;
|
|
26
|
-
export declare function loadable<P = any>(
|
|
29
|
+
export declare function loadable<P = any>(config: LoadableConfigWithLoad<P>): LoadableComponent$<P>;
|
|
30
|
+
export declare function loadable<P = any>(load: LoadComponentFn<P>, loadingOrConfig?: null | undefined | LoadableConfig['loading'] | LoadableConfig): LoadableComponent$<P>;
|
|
27
31
|
export {};
|
|
28
32
|
//# sourceMappingURL=loadable.d.ts.map
|
package/loadable.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadable.d.ts","sourceRoot":"","sources":["../src/loadable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5D,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,OAAO,CAClE,aAAa,CAAC,CAAC,CAAC,CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CACxD,KAAK,EAAE,CAAC,KACL,SAAS,CAAC,GACb,aAAa,CAAC;AAIhB,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE;;OAEG;IACH,MAAM,CAAC,EAAE,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/D;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"loadable.d.ts","sourceRoot":"","sources":["../src/loadable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5D,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,OAAO,CAClE,aAAa,CAAC,CAAC,CAAC,CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CACxD,KAAK,EAAE,CAAC,KACL,SAAS,CAAC,GACb,aAAa,CAAC;AAIhB,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE;;OAEG;IACH,MAAM,CAAC,EAAE,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/D;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,cAAc;IACrE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;CAC1B;AAgID,KAAK,kBAAkB,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAElD,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,cAAc,CAEzD,CAAC;AAEF,wBAAgB,QAAQ,CAAC,CAAC,GAAG,GAAG,EAC9B,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAChC,kBAAkB,CAAC,CAAC,CAAC,CAAC;AACzB,wBAAgB,QAAQ,CAAC,CAAC,GAAG,GAAG,EAC9B,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EACxB,eAAe,CAAC,EACZ,IAAI,GACJ,SAAS,GACT,cAAc,CAAC,SAAS,CAAC,GACzB,cAAc,GACjB,kBAAkB,CAAC,CAAC,CAAC,CAAC"}
|
package/loadable.js
CHANGED
|
@@ -46,7 +46,7 @@ class LoadableComponentBase extends Component {
|
|
|
46
46
|
constructor(config, props) {
|
|
47
47
|
super(props);
|
|
48
48
|
this.config = config;
|
|
49
|
-
this.state = getLoadingState(config.
|
|
49
|
+
this.state = getLoadingState(config.load);
|
|
50
50
|
}
|
|
51
51
|
static loadFn = undefined;
|
|
52
52
|
static preload() {
|
|
@@ -56,10 +56,10 @@ class LoadableComponentBase extends Component {
|
|
|
56
56
|
if (!this.state.loading) {
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
|
-
const { promise } = load(this.config.
|
|
60
|
-
this.setState(getLoadingState(this.config.
|
|
59
|
+
const { promise } = load(this.config.load);
|
|
60
|
+
this.setState(getLoadingState(this.config.load));
|
|
61
61
|
promise.finally(() => {
|
|
62
|
-
this.setState(getLoadingState(this.config.
|
|
62
|
+
this.setState(getLoadingState(this.config.load));
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
render() {
|
|
@@ -93,17 +93,26 @@ class LoadableComponentBase extends Component {
|
|
|
93
93
|
export const loadableDefaultConfig = {
|
|
94
94
|
throwOnError: false,
|
|
95
95
|
};
|
|
96
|
-
export function loadable(
|
|
97
|
-
const config =
|
|
98
|
-
|
|
99
|
-
|
|
96
|
+
export function loadable(...args) {
|
|
97
|
+
const config = {
|
|
98
|
+
...loadableDefaultConfig,
|
|
99
|
+
};
|
|
100
|
+
if (args.length === 1) {
|
|
101
|
+
Object.assign(config, args[0]);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
config.load = args[0];
|
|
105
|
+
if (typeof args[1] === 'function') {
|
|
106
|
+
config.loading = args[1];
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
Object.assign(config, args[1] || {});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
100
112
|
class LoadableComponent extends LoadableComponentBase {
|
|
101
|
-
static loadFn =
|
|
113
|
+
static loadFn = config.load;
|
|
102
114
|
constructor(props) {
|
|
103
|
-
super(
|
|
104
|
-
loadFn,
|
|
105
|
-
...config,
|
|
106
|
-
}, props);
|
|
115
|
+
super(config, props);
|
|
107
116
|
}
|
|
108
117
|
}
|
|
109
118
|
return LoadableComponent;
|