Skip to content

Commit 237a727

Browse files
committed
Fix typings of Loadable
1 parent 3915fea commit 237a727

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

.eslintrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
"__DEV__": true,
1717
"Stripe": true
1818
},
19+
"settings": {
20+
"import/ignore": ["worker-loader/?", "sandbox-hooks"]
21+
},
1922
"rules": {
2023
"react/jsx-filename-extension": 0,
2124
"react/sort-comp": 0,

packages/app/src/app/utils/Loadable.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
import React from 'react';
22
import { Loading } from 'app/components/Loading';
33

4-
export default (loader: () => Promise<{ default: React.ComponentType }>) =>
4+
type Unpacked<T> = T extends Promise<infer U> ? U : T;
5+
6+
const Loadable: <T extends Promise<{ default: React.ComponentType }>>(
7+
loader: () => T
8+
) => Unpacked<T>['default'] = loader =>
59
class extends React.Component {
610
state = {
711
LoadedComponent: null,
@@ -43,3 +47,5 @@ export default (loader: () => Promise<{ default: React.ComponentType }>) =>
4347
return null;
4448
}
4549
};
50+
51+
export default Loadable;

packages/common/.eslintignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
src/forked-vendors
2+
src/stories
3+
*.stories.tsx

0 commit comments

Comments
 (0)