Skip to content

Commit 7bcc773

Browse files
committed
fix: allow more that one import per mark
1 parent 19ea4b3 commit 7bcc773

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/loadable.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import isNode from 'detect-node';
2-
import LOADABLE_MARKS from './marks';
2+
import {loadMark} from './marks';
33

44
let pending = [];
55

@@ -63,7 +63,7 @@ const toLoadable = (importFunction, autoImport = true) => {
6363
};
6464

6565
if (mark) {
66-
mark.forEach(subMark => LOADABLE_MARKS[subMark] = loadable)
66+
mark.forEach(subMark => loadMark(subMark, loadable))
6767
}
6868

6969
if (isNode && autoImport) {

src/marks.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,13 @@ export const useMark = (stream, marks) => {
1010
}
1111
};
1212

13+
export const loadMark = (markId, loadable) => {
14+
if (!LOADABLE_MARKS[markId]) {
15+
LOADABLE_MARKS[markId] = []
16+
}
17+
LOADABLE_MARKS[markId].push(loadable)
18+
};
19+
1320
export const drainHydrateMarks = (stream = 0) => {
1421
const used = Object.keys(USED_MARKS[stream] || {});
1522
delete USED_MARKS[stream];
@@ -21,6 +28,7 @@ export const rehydrateMarks = (marks = false) => {
2128
return Promise.all(
2229
rehydrate
2330
.map(mark => LOADABLE_MARKS[mark])
31+
.reduce((acc, loadable) => [...acc, ...loadable], [])
2432
.filter(it => !!it)
2533
.map(loadable => loadable.load())
2634
);

0 commit comments

Comments
 (0)