-
-
Notifications
You must be signed in to change notification settings - Fork 561
/
is-cjs.js
29 lines (25 loc) 路 841 Bytes
/
is-cjs.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
const commonJSMetaPromises = new Map();
export function getCommonJSMetaPromise(id) {
let commonJSMetaPromise = commonJSMetaPromises.get(id);
if (commonJSMetaPromise) return commonJSMetaPromise.promise;
const promise = new Promise((resolve) => {
commonJSMetaPromise = {
resolve,
promise: null
};
commonJSMetaPromises.set(id, commonJSMetaPromise);
});
commonJSMetaPromise.promise = promise;
return promise;
}
export function setCommonJSMetaPromise(id, commonjsMeta) {
const commonJSMetaPromise = commonJSMetaPromises.get(id);
if (commonJSMetaPromise) {
if (commonJSMetaPromise.resolve) {
commonJSMetaPromise.resolve(commonjsMeta);
commonJSMetaPromise.resolve = null;
}
} else {
commonJSMetaPromises.set(id, { promise: Promise.resolve(commonjsMeta), resolve: null });
}
}