@wordpress/interactivity-router 2.32.0 → 2.32.1-next.ff1cebbba.0
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/CHANGELOG.md +2 -0
- package/build/assets/dynamic-importmap/fetch.js +32 -43
- package/build/assets/dynamic-importmap/fetch.js.map +7 -1
- package/build/assets/dynamic-importmap/index.js +43 -73
- package/build/assets/dynamic-importmap/index.js.map +7 -1
- package/build/assets/dynamic-importmap/loader.js +139 -172
- package/build/assets/dynamic-importmap/loader.js.map +7 -1
- package/build/assets/dynamic-importmap/resolver.js +99 -112
- package/build/assets/dynamic-importmap/resolver.js.map +7 -1
- package/build/assets/script-modules.js +46 -58
- package/build/assets/script-modules.js.map +7 -1
- package/build/assets/scs.js +30 -39
- package/build/assets/scs.js.map +7 -1
- package/build/assets/styles.js +81 -171
- package/build/assets/styles.js.map +7 -1
- package/build/full-page.js +43 -36
- package/build/full-page.js.map +7 -1
- package/build/index.js +139 -265
- package/build/index.js.map +7 -1
- package/build-module/assets/dynamic-importmap/fetch.js +11 -39
- package/build-module/assets/dynamic-importmap/fetch.js.map +7 -1
- package/build-module/assets/dynamic-importmap/index.js +18 -52
- package/build-module/assets/dynamic-importmap/index.js.map +7 -1
- package/build-module/assets/dynamic-importmap/loader.js +101 -165
- package/build-module/assets/dynamic-importmap/loader.js.map +7 -1
- package/build-module/assets/dynamic-importmap/resolver.js +78 -108
- package/build-module/assets/dynamic-importmap/resolver.js.map +7 -1
- package/build-module/assets/script-modules.js +25 -49
- package/build-module/assets/script-modules.js.map +7 -1
- package/build-module/assets/scs.js +9 -35
- package/build-module/assets/scs.js.map +7 -1
- package/build-module/assets/styles.js +58 -163
- package/build-module/assets/styles.js.map +7 -1
- package/build-module/full-page.js +21 -32
- package/build-module/full-page.js.map +7 -1
- package/build-module/index.js +108 -257
- package/build-module/index.js.map +7 -1
- package/build-types/index.d.ts.map +1 -1
- package/package.json +12 -4
- package/src/index.ts +2 -3
- package/tsconfig.main.tsbuildinfo +1 -1
|
@@ -1,53 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
* for use in this project.
|
|
11
|
-
*
|
|
12
|
-
* Both projects are licensed under the MIT license.
|
|
13
|
-
*
|
|
14
|
-
* MIT License: https://opensource.org/licenses/MIT
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* External dependencies
|
|
19
|
-
*/
|
|
20
|
-
import * as lexer from 'es-module-lexer';
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Internal dependencies
|
|
24
|
-
*/
|
|
25
|
-
import { fetchModule } from './fetch';
|
|
26
|
-
import { resolve } from './resolver';
|
|
27
|
-
export const initPromise = lexer.init;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Script element containing the initial page's import map.
|
|
31
|
-
*/
|
|
32
|
-
const initialImportMapElement = window.document.querySelector('script#wp-importmap[type=importmap]');
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Data from the initial page's import map.
|
|
36
|
-
*
|
|
37
|
-
* Pages containing any of the imports present on the original page
|
|
38
|
-
* in their import maps should ignore them, as those imports would
|
|
39
|
-
* be handled natively.
|
|
40
|
-
*/
|
|
41
|
-
export const initialImportMap = initialImportMapElement ? JSON.parse(initialImportMapElement.text) : {
|
|
42
|
-
imports: {},
|
|
43
|
-
scopes: {}
|
|
44
|
-
};
|
|
45
|
-
const skip = id => Object.keys(initialImportMap.imports).includes(id);
|
|
1
|
+
import * as lexer from "es-module-lexer";
|
|
2
|
+
import { fetchModule } from "./fetch";
|
|
3
|
+
import { resolve } from "./resolver";
|
|
4
|
+
const initPromise = lexer.init;
|
|
5
|
+
const initialImportMapElement = window.document.querySelector(
|
|
6
|
+
"script#wp-importmap[type=importmap]"
|
|
7
|
+
);
|
|
8
|
+
const initialImportMap = initialImportMapElement ? JSON.parse(initialImportMapElement.text) : { imports: {}, scopes: {} };
|
|
9
|
+
const skip = (id) => Object.keys(initialImportMap.imports).includes(id);
|
|
46
10
|
const fetchCache = {};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
// Init registry with importamp content.
|
|
50
|
-
Object.keys(initialImportMap.imports).forEach(id => {
|
|
11
|
+
const registry = {};
|
|
12
|
+
Object.keys(initialImportMap.imports).forEach((id) => {
|
|
51
13
|
registry[id] = {
|
|
52
14
|
blobUrl: id
|
|
53
15
|
};
|
|
@@ -58,14 +20,12 @@ async function loadAll(load, seen) {
|
|
|
58
20
|
}
|
|
59
21
|
seen[load.url] = 1;
|
|
60
22
|
await load.linkPromise;
|
|
61
|
-
await Promise.all(load.deps.map(dep => loadAll(dep, seen)));
|
|
23
|
+
await Promise.all(load.deps.map((dep) => loadAll(dep, seen)));
|
|
62
24
|
}
|
|
63
25
|
function urlJsString(url) {
|
|
64
26
|
return `'${url.replace(/'/g, "\\'")}'`;
|
|
65
27
|
}
|
|
66
|
-
const createBlob = (source, type =
|
|
67
|
-
type
|
|
68
|
-
}));
|
|
28
|
+
const createBlob = (source, type = "text/javascript") => URL.createObjectURL(new Blob([source], { type }));
|
|
69
29
|
function resolveDeps(load, seen) {
|
|
70
30
|
if (load.blobUrl || !seen[load.url]) {
|
|
71
31
|
return;
|
|
@@ -76,93 +36,93 @@ function resolveDeps(load, seen) {
|
|
|
76
36
|
}
|
|
77
37
|
const [imports, exports] = load.analysis;
|
|
78
38
|
const source = load.source;
|
|
79
|
-
let resolvedSource =
|
|
39
|
+
let resolvedSource = "";
|
|
80
40
|
if (!imports.length) {
|
|
81
41
|
resolvedSource += source;
|
|
82
42
|
} else {
|
|
83
|
-
let
|
|
84
|
-
let depIndex = 0;
|
|
85
|
-
const dynamicImportEndStack = [];
|
|
86
|
-
function pushStringTo(originalIndex) {
|
|
43
|
+
let pushStringTo = function(originalIndex) {
|
|
87
44
|
while (dynamicImportEndStack.length && dynamicImportEndStack[dynamicImportEndStack.length - 1] < originalIndex) {
|
|
88
45
|
const dynamicImportEnd = dynamicImportEndStack.pop();
|
|
89
|
-
resolvedSource += `${source.slice(
|
|
46
|
+
resolvedSource += `${source.slice(
|
|
47
|
+
lastIndex,
|
|
48
|
+
dynamicImportEnd
|
|
49
|
+
)}, ${urlJsString(load.responseUrl)}`;
|
|
90
50
|
lastIndex = dynamicImportEnd;
|
|
91
51
|
}
|
|
92
52
|
resolvedSource += source.slice(lastIndex, originalIndex);
|
|
93
53
|
lastIndex = originalIndex;
|
|
94
|
-
}
|
|
54
|
+
};
|
|
55
|
+
let lastIndex = 0;
|
|
56
|
+
let depIndex = 0;
|
|
57
|
+
const dynamicImportEndStack = [];
|
|
95
58
|
for (const {
|
|
96
59
|
s: start,
|
|
97
60
|
ss: statementStart,
|
|
98
61
|
se: statementEnd,
|
|
99
62
|
d: dynamicImportIndex
|
|
100
63
|
} of imports) {
|
|
101
|
-
// static import
|
|
102
64
|
if (dynamicImportIndex === -1) {
|
|
103
65
|
const depLoad = load.deps[depIndex++];
|
|
104
66
|
let blobUrl = depLoad.blobUrl;
|
|
105
67
|
const cycleShell = !blobUrl;
|
|
106
68
|
if (cycleShell) {
|
|
107
|
-
// Circular shell creation
|
|
108
69
|
if (!(blobUrl = depLoad.shellUrl)) {
|
|
109
|
-
blobUrl = depLoad.shellUrl = createBlob(
|
|
110
|
-
s,
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
70
|
+
blobUrl = depLoad.shellUrl = createBlob(
|
|
71
|
+
`export function u$_(m){${depLoad.analysis[1].map(({ s, e }, i) => {
|
|
72
|
+
const q = depLoad.source[s] === '"' || depLoad.source[s] === "'";
|
|
73
|
+
return `e$_${i}=m${q ? `[` : "."}${depLoad.source.slice(s, e)}${q ? `]` : ""}`;
|
|
74
|
+
}).join(",")}}${depLoad.analysis[1].length ? `let ${depLoad.analysis[1].map((_, i) => `e$_${i}`).join(",")};` : ""}export {${depLoad.analysis[1].map(
|
|
75
|
+
({ s, e }, i) => `e$_${i} as ${depLoad.source.slice(
|
|
76
|
+
s,
|
|
77
|
+
e
|
|
78
|
+
)}`
|
|
79
|
+
).join(",")}}
|
|
80
|
+
//# sourceURL=${depLoad.responseUrl}?cycle`
|
|
81
|
+
);
|
|
119
82
|
}
|
|
120
83
|
}
|
|
121
84
|
pushStringTo(start - 1);
|
|
122
|
-
resolvedSource += `/*${source.slice(
|
|
123
|
-
|
|
124
|
-
|
|
85
|
+
resolvedSource += `/*${source.slice(
|
|
86
|
+
start - 1,
|
|
87
|
+
statementEnd
|
|
88
|
+
)}*/${urlJsString(blobUrl)}`;
|
|
125
89
|
if (!cycleShell && depLoad.shellUrl) {
|
|
126
90
|
resolvedSource += `;import*as m$_${depIndex} from'${depLoad.blobUrl}';import{u$_ as u$_${depIndex}}from'${depLoad.shellUrl}';u$_${depIndex}(m$_${depIndex})`;
|
|
127
|
-
depLoad.shellUrl =
|
|
91
|
+
depLoad.shellUrl = void 0;
|
|
128
92
|
}
|
|
129
93
|
lastIndex = statementEnd;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
else
|
|
133
|
-
throw Error('The import.meta property is not supported.');
|
|
134
|
-
}
|
|
135
|
-
// dynamic import
|
|
136
|
-
else {
|
|
94
|
+
} else if (dynamicImportIndex === -2) {
|
|
95
|
+
throw Error("The import.meta property is not supported.");
|
|
96
|
+
} else {
|
|
137
97
|
pushStringTo(statementStart);
|
|
138
98
|
resolvedSource += `wpInteractivityRouterImport(`;
|
|
139
99
|
dynamicImportEndStack.push(statementEnd - 1);
|
|
140
100
|
lastIndex = start;
|
|
141
101
|
}
|
|
142
102
|
}
|
|
143
|
-
|
|
144
|
-
// progressive cycle binding updates
|
|
145
103
|
if (load.shellUrl) {
|
|
146
|
-
resolvedSource +=
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
ln
|
|
150
|
-
}) => `${source.slice(s, e)}:${ln}`).join(',')}})}catch(_){};\n`;
|
|
104
|
+
resolvedSource += `
|
|
105
|
+
;import{u$_}from'${load.shellUrl}';try{u$_({${exports.filter((e) => e.ln).map(({ s, e, ln }) => `${source.slice(s, e)}:${ln}`).join(",")}})}catch(_){};
|
|
106
|
+
`;
|
|
151
107
|
}
|
|
152
108
|
pushStringTo(source.length);
|
|
153
109
|
}
|
|
154
|
-
|
|
155
|
-
// ensure we have a proper sourceURL
|
|
156
110
|
let hasSourceURL = false;
|
|
157
|
-
resolvedSource = resolvedSource.replace(
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
111
|
+
resolvedSource = resolvedSource.replace(
|
|
112
|
+
sourceMapURLRegEx,
|
|
113
|
+
(match, isMapping, url) => {
|
|
114
|
+
hasSourceURL = !isMapping;
|
|
115
|
+
return match.replace(
|
|
116
|
+
url,
|
|
117
|
+
() => new URL(url, load.responseUrl).toString()
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
);
|
|
161
121
|
if (!hasSourceURL) {
|
|
162
|
-
resolvedSource +=
|
|
122
|
+
resolvedSource += "\n//# sourceURL=" + load.responseUrl;
|
|
163
123
|
}
|
|
164
124
|
load.blobUrl = createBlob(resolvedSource);
|
|
165
|
-
load.source =
|
|
125
|
+
load.source = void 0;
|
|
166
126
|
}
|
|
167
127
|
const sourceMapURLRegEx = /\n\/\/# source(Mapping)?URL=([^\n]+)\s*((;|\/\/[^#][^\n]*)\s*)*$/;
|
|
168
128
|
function getOrCreateLoad(url, fetchOpts, parent) {
|
|
@@ -170,28 +130,20 @@ function getOrCreateLoad(url, fetchOpts, parent) {
|
|
|
170
130
|
if (load) {
|
|
171
131
|
return load;
|
|
172
132
|
}
|
|
173
|
-
load = {
|
|
174
|
-
url
|
|
175
|
-
};
|
|
133
|
+
load = { url };
|
|
176
134
|
if (registry[url]) {
|
|
177
|
-
// If there's a naming conflict, keep incrementing until unique
|
|
178
135
|
let i = 0;
|
|
179
136
|
while (registry[load.url + ++i]) {
|
|
180
|
-
/* no-op */
|
|
181
137
|
}
|
|
182
138
|
load.url += i;
|
|
183
139
|
}
|
|
184
140
|
registry[load.url] = load;
|
|
185
141
|
load.fetchPromise = (async () => {
|
|
186
142
|
let source;
|
|
187
|
-
({
|
|
188
|
-
responseUrl: load.responseUrl,
|
|
189
|
-
source: source
|
|
190
|
-
} = await (fetchCache[url] || fetchModule(url, fetchOpts, parent)));
|
|
143
|
+
({ responseUrl: load.responseUrl, source } = await (fetchCache[url] || fetchModule(url, fetchOpts, parent)));
|
|
191
144
|
try {
|
|
192
145
|
load.analysis = lexer.parse(source, load.url);
|
|
193
146
|
} catch (e) {
|
|
194
|
-
// eslint-disable-next-line no-console
|
|
195
147
|
console.error(e);
|
|
196
148
|
load.analysis = [[], [], false, false];
|
|
197
149
|
}
|
|
@@ -200,80 +152,64 @@ function getOrCreateLoad(url, fetchOpts, parent) {
|
|
|
200
152
|
})();
|
|
201
153
|
load.linkPromise = load.fetchPromise.then(async () => {
|
|
202
154
|
let childFetchOpts = fetchOpts;
|
|
203
|
-
load.deps = (await Promise.all(
|
|
204
|
-
n,
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
blobUrl: responseUrl
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
155
|
+
load.deps = (await Promise.all(
|
|
156
|
+
load.analysis[0].map(async ({ n, d }) => {
|
|
157
|
+
if (d !== -1 || !n) {
|
|
158
|
+
return void 0;
|
|
159
|
+
}
|
|
160
|
+
const responseUrl = resolve(
|
|
161
|
+
n,
|
|
162
|
+
load.responseUrl || load.url
|
|
163
|
+
);
|
|
164
|
+
if (skip && skip(responseUrl)) {
|
|
165
|
+
return { blobUrl: responseUrl };
|
|
166
|
+
}
|
|
167
|
+
if (childFetchOpts.integrity) {
|
|
168
|
+
childFetchOpts = {
|
|
169
|
+
...childFetchOpts,
|
|
170
|
+
integrity: void 0
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
return getOrCreateLoad(
|
|
174
|
+
responseUrl,
|
|
175
|
+
childFetchOpts,
|
|
176
|
+
load.responseUrl
|
|
177
|
+
).fetchPromise;
|
|
178
|
+
})
|
|
179
|
+
)).filter((l) => l);
|
|
225
180
|
});
|
|
226
181
|
return load;
|
|
227
182
|
}
|
|
228
|
-
const dynamicImport = u => import(
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
* of them have been fetched.
|
|
234
|
-
*
|
|
235
|
-
* @param url Module URL.
|
|
236
|
-
* @param fetchOpts Fetch options.
|
|
237
|
-
* @return A promise with a `ModuleLoad` instance.
|
|
238
|
-
*/
|
|
239
|
-
export async function preloadModule(url, fetchOpts) {
|
|
183
|
+
const dynamicImport = (u) => import(
|
|
184
|
+
/* webpackIgnore: true */
|
|
185
|
+
u
|
|
186
|
+
);
|
|
187
|
+
async function preloadModule(url, fetchOpts) {
|
|
240
188
|
await initPromise;
|
|
241
189
|
const load = getOrCreateLoad(url, fetchOpts, null);
|
|
242
190
|
const seen = {};
|
|
243
191
|
await loadAll(load, seen);
|
|
244
192
|
resolveDeps(load, seen);
|
|
245
|
-
// microtask scheduling – can help ensure Blob is fully ready
|
|
246
193
|
await Promise.resolve();
|
|
247
194
|
return load;
|
|
248
195
|
}
|
|
249
|
-
|
|
250
|
-
/**
|
|
251
|
-
* Imports the module represented by the passed `ModuleLoad` instance.
|
|
252
|
-
*
|
|
253
|
-
* @param load The `ModuleLoad` instance representing the module.
|
|
254
|
-
* @return A promise with the imported module.
|
|
255
|
-
*/
|
|
256
|
-
export async function importPreloadedModule(load) {
|
|
196
|
+
async function importPreloadedModule(load) {
|
|
257
197
|
const module = await dynamicImport(load.blobUrl);
|
|
258
|
-
// if the preloaded module ended up with a shell (circular refs), finalize it
|
|
259
198
|
if (load.shellUrl) {
|
|
260
199
|
(await dynamicImport(load.shellUrl)).u$_(module);
|
|
261
200
|
}
|
|
262
201
|
return module;
|
|
263
202
|
}
|
|
264
|
-
|
|
265
|
-
/**
|
|
266
|
-
* Imports the module represented by the passed module URL.
|
|
267
|
-
*
|
|
268
|
-
* The module URL and all its dependencies are resolved using the
|
|
269
|
-
* current status of the internal dynamic import map.
|
|
270
|
-
*
|
|
271
|
-
* @param url Module URL.
|
|
272
|
-
* @param fetchOpts Fetch options.
|
|
273
|
-
* @return A promise with the imported module.
|
|
274
|
-
*/
|
|
275
|
-
export async function topLevelLoad(url, fetchOpts) {
|
|
203
|
+
async function topLevelLoad(url, fetchOpts) {
|
|
276
204
|
const load = await preloadModule(url, fetchOpts);
|
|
277
205
|
return importPreloadedModule(load);
|
|
278
206
|
}
|
|
279
|
-
|
|
207
|
+
export {
|
|
208
|
+
importPreloadedModule,
|
|
209
|
+
initPromise,
|
|
210
|
+
initialImportMap,
|
|
211
|
+
preloadModule,
|
|
212
|
+
registry,
|
|
213
|
+
topLevelLoad
|
|
214
|
+
};
|
|
215
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{"version":3,"names":["lexer","fetchModule","resolve","initPromise","init","initialImportMapElement","window","document","querySelector","initialImportMap","JSON","parse","text","imports","scopes","skip","id","Object","keys","includes","fetchCache","registry","forEach","blobUrl","loadAll","load","seen","url","linkPromise","Promise","all","deps","map","dep","urlJsString","replace","createBlob","source","type","URL","createObjectURL","Blob","resolveDeps","exports","analysis","resolvedSource","length","lastIndex","depIndex","dynamicImportEndStack","pushStringTo","originalIndex","dynamicImportEnd","pop","slice","responseUrl","s","start","ss","statementStart","se","statementEnd","d","dynamicImportIndex","depLoad","cycleShell","shellUrl","e","i","q","join","_","undefined","Error","push","filter","ln","hasSourceURL","sourceMapURLRegEx","match","isMapping","toString","getOrCreateLoad","fetchOpts","parent","fetchPromise","console","error","then","childFetchOpts","n","integrity","l","dynamicImport","u","preloadModule","importPreloadedModule","module","u$_","topLevelLoad"],"sources":["@wordpress/interactivity-router/src/assets/dynamic-importmap/loader.ts"],"sourcesContent":["/**\n * This code is derived from the following projects:\n *\n * 1. dynamic-importmap (https://github.com/keller-mark/dynamic-importmap)\n * 2. es-module-shims (https://github.com/guybedford/es-module-shims)\n *\n * The original implementation was created by Guy Bedford in es-module-shims,\n * then adapted by Mark Keller in dynamic-importmap, and further modified\n * for use in this project.\n *\n * Both projects are licensed under the MIT license.\n *\n * MIT License: https://opensource.org/licenses/MIT\n */\n\n/**\n * External dependencies\n */\nimport * as lexer from 'es-module-lexer';\n\n/**\n * Internal dependencies\n */\nimport { fetchModule } from './fetch';\nimport { resolve } from './resolver';\n\nexport interface ModuleLoad {\n\turl?: string; // original URL\n\tresponseUrl?: string; // response url\n\tfetchPromise?: Promise< ModuleLoad >; // fetch promise\n\tsource?: string; // source code\n\tlinkPromise?: Promise< void >; // link-promise (dependency fetch)\n\tanalysis?: ReturnType< typeof lexer.parse >; // analysis ([ imports, exports, ... ])\n\tdeps?: ModuleLoad[]; // deps\n\tblobUrl?: string; // blobUrl\n\tshellUrl?: string; // shellUrl for circular references\n}\n\nexport const initPromise = lexer.init;\n\n/**\n * Script element containing the initial page's import map.\n */\nconst initialImportMapElement =\n\twindow.document.querySelector< HTMLScriptElement >(\n\t\t'script#wp-importmap[type=importmap]'\n\t);\n\n/**\n * Data from the initial page's import map.\n *\n * Pages containing any of the imports present on the original page\n * in their import maps should ignore them, as those imports would\n * be handled natively.\n */\nexport const initialImportMap = initialImportMapElement\n\t? JSON.parse( initialImportMapElement.text )\n\t: { imports: {}, scopes: {} };\n\nconst skip = ( id ) => Object.keys( initialImportMap.imports ).includes( id );\n\nconst fetchCache: Record< string, Promise< ModuleLoad > > = {};\nexport const registry = {};\n\n// Init registry with importamp content.\nObject.keys( initialImportMap.imports ).forEach( ( id ) => {\n\tregistry[ id ] = {\n\t\tblobUrl: id,\n\t};\n} );\n\nasync function loadAll( load: ModuleLoad, seen: Record< string, any > ) {\n\tif ( load.blobUrl || seen[ load.url ] ) {\n\t\treturn;\n\t}\n\tseen[ load.url ] = 1;\n\tawait load.linkPromise;\n\tawait Promise.all( load.deps.map( ( dep ) => loadAll( dep, seen ) ) );\n}\n\nfunction urlJsString( url: string ) {\n\treturn `'${ url.replace( /'/g, \"\\\\'\" ) }'`;\n}\n\nconst createBlob = ( source: string, type = 'text/javascript' ) =>\n\tURL.createObjectURL( new Blob( [ source ], { type } ) );\n\nfunction resolveDeps( load: ModuleLoad, seen: Record< string, any > ) {\n\tif ( load.blobUrl || ! seen[ load.url ] ) {\n\t\treturn;\n\t}\n\tseen[ load.url ] = 0;\n\n\tfor ( const dep of load.deps ) {\n\t\tresolveDeps( dep, seen );\n\t}\n\n\tconst [ imports, exports ] = load.analysis;\n\tconst source = load.source;\n\n\tlet resolvedSource = '';\n\n\tif ( ! imports.length ) {\n\t\tresolvedSource += source;\n\t} else {\n\t\tlet lastIndex = 0;\n\t\tlet depIndex = 0;\n\t\tconst dynamicImportEndStack = [];\n\n\t\tfunction pushStringTo( originalIndex: number ) {\n\t\t\twhile (\n\t\t\t\tdynamicImportEndStack.length &&\n\t\t\t\tdynamicImportEndStack[ dynamicImportEndStack.length - 1 ] <\n\t\t\t\t\toriginalIndex\n\t\t\t) {\n\t\t\t\tconst dynamicImportEnd = dynamicImportEndStack.pop();\n\t\t\t\tresolvedSource += `${ source.slice(\n\t\t\t\t\tlastIndex,\n\t\t\t\t\tdynamicImportEnd\n\t\t\t\t) }, ${ urlJsString( load.responseUrl ) }`;\n\t\t\t\tlastIndex = dynamicImportEnd;\n\t\t\t}\n\t\t\tresolvedSource += source.slice( lastIndex, originalIndex );\n\t\t\tlastIndex = originalIndex;\n\t\t}\n\n\t\tfor ( const {\n\t\t\ts: start,\n\t\t\tss: statementStart,\n\t\t\tse: statementEnd,\n\t\t\td: dynamicImportIndex,\n\t\t} of imports ) {\n\t\t\t// static import\n\t\t\tif ( dynamicImportIndex === -1 ) {\n\t\t\t\tconst depLoad = load.deps[ depIndex++ ];\n\t\t\t\tlet blobUrl = depLoad.blobUrl;\n\t\t\t\tconst cycleShell = ! blobUrl;\n\t\t\t\tif ( cycleShell ) {\n\t\t\t\t\t// Circular shell creation\n\t\t\t\t\tif ( ! ( blobUrl = depLoad.shellUrl ) ) {\n\t\t\t\t\t\tblobUrl = depLoad.shellUrl = createBlob(\n\t\t\t\t\t\t\t`export function u$_(m){${ depLoad.analysis[ 1 ]\n\t\t\t\t\t\t\t\t.map( ( { s, e }, i ) => {\n\t\t\t\t\t\t\t\t\tconst q =\n\t\t\t\t\t\t\t\t\t\tdepLoad.source[ s ] === '\"' ||\n\t\t\t\t\t\t\t\t\t\tdepLoad.source[ s ] === \"'\";\n\t\t\t\t\t\t\t\t\treturn `e$_${ i }=m${\n\t\t\t\t\t\t\t\t\t\tq ? `[` : '.'\n\t\t\t\t\t\t\t\t\t}${ depLoad.source.slice( s, e ) }${\n\t\t\t\t\t\t\t\t\t\tq ? `]` : ''\n\t\t\t\t\t\t\t\t\t}`;\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t.join( ',' ) }}${\n\t\t\t\t\t\t\t\tdepLoad.analysis[ 1 ].length\n\t\t\t\t\t\t\t\t\t? `let ${ depLoad.analysis[ 1 ]\n\t\t\t\t\t\t\t\t\t\t\t.map( ( _, i ) => `e$_${ i }` )\n\t\t\t\t\t\t\t\t\t\t\t.join( ',' ) };`\n\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t}export {${ depLoad.analysis[ 1 ]\n\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t( { s, e }, i ) =>\n\t\t\t\t\t\t\t\t\t\t`e$_${ i } as ${ depLoad.source.slice(\n\t\t\t\t\t\t\t\t\t\t\ts,\n\t\t\t\t\t\t\t\t\t\t\te\n\t\t\t\t\t\t\t\t\t\t) }`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.join( ',' ) }}\\n//# sourceURL=${\n\t\t\t\t\t\t\t\tdepLoad.responseUrl\n\t\t\t\t\t\t\t}?cycle`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tpushStringTo( start - 1 );\n\t\t\t\tresolvedSource += `/*${ source.slice(\n\t\t\t\t\tstart - 1,\n\t\t\t\t\tstatementEnd\n\t\t\t\t) }*/${ urlJsString( blobUrl ) }`;\n\n\t\t\t\t// circular shell execution\n\t\t\t\tif ( ! cycleShell && depLoad.shellUrl ) {\n\t\t\t\t\tresolvedSource += `;import*as m$_${ depIndex } from'${ depLoad.blobUrl }';import{u$_ as u$_${ depIndex }}from'${ depLoad.shellUrl }';u$_${ depIndex }(m$_${ depIndex })`;\n\t\t\t\t\tdepLoad.shellUrl = undefined;\n\t\t\t\t}\n\t\t\t\tlastIndex = statementEnd;\n\t\t\t}\n\t\t\t// import.meta\n\t\t\telse if ( dynamicImportIndex === -2 ) {\n\t\t\t\tthrow Error( 'The import.meta property is not supported.' );\n\t\t\t}\n\t\t\t// dynamic import\n\t\t\telse {\n\t\t\t\tpushStringTo( statementStart );\n\t\t\t\tresolvedSource += `wpInteractivityRouterImport(`;\n\t\t\t\tdynamicImportEndStack.push( statementEnd - 1 );\n\t\t\t\tlastIndex = start;\n\t\t\t}\n\t\t}\n\n\t\t// progressive cycle binding updates\n\t\tif ( load.shellUrl ) {\n\t\t\tresolvedSource += `\\n;import{u$_}from'${\n\t\t\t\tload.shellUrl\n\t\t\t}';try{u$_({${ exports\n\t\t\t\t.filter( ( e ) => e.ln )\n\t\t\t\t.map( ( { s, e, ln } ) => `${ source.slice( s, e ) }:${ ln }` )\n\t\t\t\t.join( ',' ) }})}catch(_){};\\n`;\n\t\t}\n\n\t\tpushStringTo( source.length );\n\t}\n\n\t// ensure we have a proper sourceURL\n\tlet hasSourceURL = false;\n\tresolvedSource = resolvedSource.replace(\n\t\tsourceMapURLRegEx,\n\t\t( match, isMapping, url ) => {\n\t\t\thasSourceURL = ! isMapping;\n\t\t\treturn match.replace( url, () =>\n\t\t\t\tnew URL( url, load.responseUrl ).toString()\n\t\t\t);\n\t\t}\n\t);\n\tif ( ! hasSourceURL ) {\n\t\tresolvedSource += '\\n//# sourceURL=' + load.responseUrl;\n\t}\n\n\tload.blobUrl = createBlob( resolvedSource );\n\tload.source = undefined; // free memory\n}\n\nconst sourceMapURLRegEx =\n\t/\\n\\/\\/# source(Mapping)?URL=([^\\n]+)\\s*((;|\\/\\/[^#][^\\n]*)\\s*)*$/;\n\nfunction getOrCreateLoad(\n\turl: string,\n\tfetchOpts: RequestInit,\n\tparent: string\n): ModuleLoad {\n\tlet load: ModuleLoad = registry[ url ];\n\tif ( load ) {\n\t\treturn load;\n\t}\n\n\tload = { url };\n\n\tif ( registry[ url ] ) {\n\t\t// If there's a naming conflict, keep incrementing until unique\n\t\tlet i = 0;\n\t\twhile ( registry[ load.url + ++i ] ) {\n\t\t\t/* no-op */\n\t\t}\n\t\tload.url += i;\n\t}\n\tregistry[ load.url ] = load;\n\n\tload.fetchPromise = ( async () => {\n\t\tlet source;\n\t\t( { responseUrl: load.responseUrl, source: source } =\n\t\t\tawait ( fetchCache[ url ] ||\n\t\t\t\tfetchModule( url, fetchOpts, parent ) ) );\n\t\ttry {\n\t\t\tload.analysis = lexer.parse( source, load.url );\n\t\t} catch ( e ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( e );\n\t\t\tload.analysis = [ [], [], false, false ];\n\t\t}\n\t\tload.source = source;\n\t\treturn load;\n\t} )();\n\n\tload.linkPromise = load.fetchPromise.then( async () => {\n\t\tlet childFetchOpts = fetchOpts;\n\t\tload.deps = (\n\t\t\tawait Promise.all(\n\t\t\t\tload.analysis[ 0 ].map( async ( { n, d } ) => {\n\t\t\t\t\tif ( d !== -1 || ! n ) {\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t\tconst responseUrl = resolve(\n\t\t\t\t\t\tn,\n\t\t\t\t\t\tload.responseUrl || load.url\n\t\t\t\t\t);\n\t\t\t\t\tif ( skip && skip( responseUrl ) ) {\n\t\t\t\t\t\treturn { blobUrl: responseUrl } as ModuleLoad;\n\t\t\t\t\t}\n\t\t\t\t\t// remove integrity for child fetches\n\t\t\t\t\tif ( childFetchOpts.integrity ) {\n\t\t\t\t\t\tchildFetchOpts = {\n\t\t\t\t\t\t\t...childFetchOpts,\n\t\t\t\t\t\t\tintegrity: undefined,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn getOrCreateLoad(\n\t\t\t\t\t\tresponseUrl,\n\t\t\t\t\t\tchildFetchOpts,\n\t\t\t\t\t\tload.responseUrl\n\t\t\t\t\t).fetchPromise;\n\t\t\t\t} )\n\t\t\t)\n\t\t).filter( ( l ) => l );\n\t} );\n\n\treturn load;\n}\n\nconst dynamicImport = ( u: string ) => import( /* webpackIgnore: true */ u );\n\n/**\n * Resolves the passed module URL and fetches the corresponding module\n * and their dependencies, returning a `ModuleLoad` object once all\n * of them have been fetched.\n *\n * @param url Module URL.\n * @param fetchOpts Fetch options.\n * @return A promise with a `ModuleLoad` instance.\n */\nexport async function preloadModule(\n\turl: string,\n\tfetchOpts?: RequestInit\n): Promise< ModuleLoad > {\n\tawait initPromise;\n\tconst load = getOrCreateLoad( url, fetchOpts, null );\n\tconst seen = {};\n\tawait loadAll( load, seen );\n\tresolveDeps( load, seen );\n\t// microtask scheduling – can help ensure Blob is fully ready\n\tawait Promise.resolve();\n\treturn load;\n}\n\n/**\n * Imports the module represented by the passed `ModuleLoad` instance.\n *\n * @param load The `ModuleLoad` instance representing the module.\n * @return A promise with the imported module.\n */\nexport async function importPreloadedModule< Module = unknown >(\n\tload: ModuleLoad\n): Promise< Module > {\n\tconst module = await dynamicImport( load.blobUrl );\n\t// if the preloaded module ended up with a shell (circular refs), finalize it\n\tif ( load.shellUrl ) {\n\t\t( await dynamicImport( load.shellUrl ) ).u$_( module );\n\t}\n\treturn module;\n}\n\n/**\n * Imports the module represented by the passed module URL.\n *\n * The module URL and all its dependencies are resolved using the\n * current status of the internal dynamic import map.\n *\n * @param url Module URL.\n * @param fetchOpts Fetch options.\n * @return A promise with the imported module.\n */\nexport async function topLevelLoad< Module = unknown >(\n\turl: string,\n\tfetchOpts?: RequestInit\n): Promise< Module > {\n\tconst load = await preloadModule( url, fetchOpts );\n\treturn importPreloadedModule< Module >( load );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/assets/dynamic-importmap/loader.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * This code is derived from the following projects:\n *\n * 1. dynamic-importmap (https://github.com/keller-mark/dynamic-importmap)\n * 2. es-module-shims (https://github.com/guybedford/es-module-shims)\n *\n * The original implementation was created by Guy Bedford in es-module-shims,\n * then adapted by Mark Keller in dynamic-importmap, and further modified\n * for use in this project.\n *\n * Both projects are licensed under the MIT license.\n *\n * MIT License: https://opensource.org/licenses/MIT\n */\n\n/**\n * External dependencies\n */\nimport * as lexer from 'es-module-lexer';\n\n/**\n * Internal dependencies\n */\nimport { fetchModule } from './fetch';\nimport { resolve } from './resolver';\n\nexport interface ModuleLoad {\n\turl?: string; // original URL\n\tresponseUrl?: string; // response url\n\tfetchPromise?: Promise< ModuleLoad >; // fetch promise\n\tsource?: string; // source code\n\tlinkPromise?: Promise< void >; // link-promise (dependency fetch)\n\tanalysis?: ReturnType< typeof lexer.parse >; // analysis ([ imports, exports, ... ])\n\tdeps?: ModuleLoad[]; // deps\n\tblobUrl?: string; // blobUrl\n\tshellUrl?: string; // shellUrl for circular references\n}\n\nexport const initPromise = lexer.init;\n\n/**\n * Script element containing the initial page's import map.\n */\nconst initialImportMapElement =\n\twindow.document.querySelector< HTMLScriptElement >(\n\t\t'script#wp-importmap[type=importmap]'\n\t);\n\n/**\n * Data from the initial page's import map.\n *\n * Pages containing any of the imports present on the original page\n * in their import maps should ignore them, as those imports would\n * be handled natively.\n */\nexport const initialImportMap = initialImportMapElement\n\t? JSON.parse( initialImportMapElement.text )\n\t: { imports: {}, scopes: {} };\n\nconst skip = ( id ) => Object.keys( initialImportMap.imports ).includes( id );\n\nconst fetchCache: Record< string, Promise< ModuleLoad > > = {};\nexport const registry = {};\n\n// Init registry with importamp content.\nObject.keys( initialImportMap.imports ).forEach( ( id ) => {\n\tregistry[ id ] = {\n\t\tblobUrl: id,\n\t};\n} );\n\nasync function loadAll( load: ModuleLoad, seen: Record< string, any > ) {\n\tif ( load.blobUrl || seen[ load.url ] ) {\n\t\treturn;\n\t}\n\tseen[ load.url ] = 1;\n\tawait load.linkPromise;\n\tawait Promise.all( load.deps.map( ( dep ) => loadAll( dep, seen ) ) );\n}\n\nfunction urlJsString( url: string ) {\n\treturn `'${ url.replace( /'/g, \"\\\\'\" ) }'`;\n}\n\nconst createBlob = ( source: string, type = 'text/javascript' ) =>\n\tURL.createObjectURL( new Blob( [ source ], { type } ) );\n\nfunction resolveDeps( load: ModuleLoad, seen: Record< string, any > ) {\n\tif ( load.blobUrl || ! seen[ load.url ] ) {\n\t\treturn;\n\t}\n\tseen[ load.url ] = 0;\n\n\tfor ( const dep of load.deps ) {\n\t\tresolveDeps( dep, seen );\n\t}\n\n\tconst [ imports, exports ] = load.analysis;\n\tconst source = load.source;\n\n\tlet resolvedSource = '';\n\n\tif ( ! imports.length ) {\n\t\tresolvedSource += source;\n\t} else {\n\t\tlet lastIndex = 0;\n\t\tlet depIndex = 0;\n\t\tconst dynamicImportEndStack = [];\n\n\t\tfunction pushStringTo( originalIndex: number ) {\n\t\t\twhile (\n\t\t\t\tdynamicImportEndStack.length &&\n\t\t\t\tdynamicImportEndStack[ dynamicImportEndStack.length - 1 ] <\n\t\t\t\t\toriginalIndex\n\t\t\t) {\n\t\t\t\tconst dynamicImportEnd = dynamicImportEndStack.pop();\n\t\t\t\tresolvedSource += `${ source.slice(\n\t\t\t\t\tlastIndex,\n\t\t\t\t\tdynamicImportEnd\n\t\t\t\t) }, ${ urlJsString( load.responseUrl ) }`;\n\t\t\t\tlastIndex = dynamicImportEnd;\n\t\t\t}\n\t\t\tresolvedSource += source.slice( lastIndex, originalIndex );\n\t\t\tlastIndex = originalIndex;\n\t\t}\n\n\t\tfor ( const {\n\t\t\ts: start,\n\t\t\tss: statementStart,\n\t\t\tse: statementEnd,\n\t\t\td: dynamicImportIndex,\n\t\t} of imports ) {\n\t\t\t// static import\n\t\t\tif ( dynamicImportIndex === -1 ) {\n\t\t\t\tconst depLoad = load.deps[ depIndex++ ];\n\t\t\t\tlet blobUrl = depLoad.blobUrl;\n\t\t\t\tconst cycleShell = ! blobUrl;\n\t\t\t\tif ( cycleShell ) {\n\t\t\t\t\t// Circular shell creation\n\t\t\t\t\tif ( ! ( blobUrl = depLoad.shellUrl ) ) {\n\t\t\t\t\t\tblobUrl = depLoad.shellUrl = createBlob(\n\t\t\t\t\t\t\t`export function u$_(m){${ depLoad.analysis[ 1 ]\n\t\t\t\t\t\t\t\t.map( ( { s, e }, i ) => {\n\t\t\t\t\t\t\t\t\tconst q =\n\t\t\t\t\t\t\t\t\t\tdepLoad.source[ s ] === '\"' ||\n\t\t\t\t\t\t\t\t\t\tdepLoad.source[ s ] === \"'\";\n\t\t\t\t\t\t\t\t\treturn `e$_${ i }=m${\n\t\t\t\t\t\t\t\t\t\tq ? `[` : '.'\n\t\t\t\t\t\t\t\t\t}${ depLoad.source.slice( s, e ) }${\n\t\t\t\t\t\t\t\t\t\tq ? `]` : ''\n\t\t\t\t\t\t\t\t\t}`;\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t.join( ',' ) }}${\n\t\t\t\t\t\t\t\tdepLoad.analysis[ 1 ].length\n\t\t\t\t\t\t\t\t\t? `let ${ depLoad.analysis[ 1 ]\n\t\t\t\t\t\t\t\t\t\t\t.map( ( _, i ) => `e$_${ i }` )\n\t\t\t\t\t\t\t\t\t\t\t.join( ',' ) };`\n\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t}export {${ depLoad.analysis[ 1 ]\n\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t( { s, e }, i ) =>\n\t\t\t\t\t\t\t\t\t\t`e$_${ i } as ${ depLoad.source.slice(\n\t\t\t\t\t\t\t\t\t\t\ts,\n\t\t\t\t\t\t\t\t\t\t\te\n\t\t\t\t\t\t\t\t\t\t) }`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.join( ',' ) }}\\n//# sourceURL=${\n\t\t\t\t\t\t\t\tdepLoad.responseUrl\n\t\t\t\t\t\t\t}?cycle`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tpushStringTo( start - 1 );\n\t\t\t\tresolvedSource += `/*${ source.slice(\n\t\t\t\t\tstart - 1,\n\t\t\t\t\tstatementEnd\n\t\t\t\t) }*/${ urlJsString( blobUrl ) }`;\n\n\t\t\t\t// circular shell execution\n\t\t\t\tif ( ! cycleShell && depLoad.shellUrl ) {\n\t\t\t\t\tresolvedSource += `;import*as m$_${ depIndex } from'${ depLoad.blobUrl }';import{u$_ as u$_${ depIndex }}from'${ depLoad.shellUrl }';u$_${ depIndex }(m$_${ depIndex })`;\n\t\t\t\t\tdepLoad.shellUrl = undefined;\n\t\t\t\t}\n\t\t\t\tlastIndex = statementEnd;\n\t\t\t}\n\t\t\t// import.meta\n\t\t\telse if ( dynamicImportIndex === -2 ) {\n\t\t\t\tthrow Error( 'The import.meta property is not supported.' );\n\t\t\t}\n\t\t\t// dynamic import\n\t\t\telse {\n\t\t\t\tpushStringTo( statementStart );\n\t\t\t\tresolvedSource += `wpInteractivityRouterImport(`;\n\t\t\t\tdynamicImportEndStack.push( statementEnd - 1 );\n\t\t\t\tlastIndex = start;\n\t\t\t}\n\t\t}\n\n\t\t// progressive cycle binding updates\n\t\tif ( load.shellUrl ) {\n\t\t\tresolvedSource += `\\n;import{u$_}from'${\n\t\t\t\tload.shellUrl\n\t\t\t}';try{u$_({${ exports\n\t\t\t\t.filter( ( e ) => e.ln )\n\t\t\t\t.map( ( { s, e, ln } ) => `${ source.slice( s, e ) }:${ ln }` )\n\t\t\t\t.join( ',' ) }})}catch(_){};\\n`;\n\t\t}\n\n\t\tpushStringTo( source.length );\n\t}\n\n\t// ensure we have a proper sourceURL\n\tlet hasSourceURL = false;\n\tresolvedSource = resolvedSource.replace(\n\t\tsourceMapURLRegEx,\n\t\t( match, isMapping, url ) => {\n\t\t\thasSourceURL = ! isMapping;\n\t\t\treturn match.replace( url, () =>\n\t\t\t\tnew URL( url, load.responseUrl ).toString()\n\t\t\t);\n\t\t}\n\t);\n\tif ( ! hasSourceURL ) {\n\t\tresolvedSource += '\\n//# sourceURL=' + load.responseUrl;\n\t}\n\n\tload.blobUrl = createBlob( resolvedSource );\n\tload.source = undefined; // free memory\n}\n\nconst sourceMapURLRegEx =\n\t/\\n\\/\\/# source(Mapping)?URL=([^\\n]+)\\s*((;|\\/\\/[^#][^\\n]*)\\s*)*$/;\n\nfunction getOrCreateLoad(\n\turl: string,\n\tfetchOpts: RequestInit,\n\tparent: string\n): ModuleLoad {\n\tlet load: ModuleLoad = registry[ url ];\n\tif ( load ) {\n\t\treturn load;\n\t}\n\n\tload = { url };\n\n\tif ( registry[ url ] ) {\n\t\t// If there's a naming conflict, keep incrementing until unique\n\t\tlet i = 0;\n\t\twhile ( registry[ load.url + ++i ] ) {\n\t\t\t/* no-op */\n\t\t}\n\t\tload.url += i;\n\t}\n\tregistry[ load.url ] = load;\n\n\tload.fetchPromise = ( async () => {\n\t\tlet source;\n\t\t( { responseUrl: load.responseUrl, source: source } =\n\t\t\tawait ( fetchCache[ url ] ||\n\t\t\t\tfetchModule( url, fetchOpts, parent ) ) );\n\t\ttry {\n\t\t\tload.analysis = lexer.parse( source, load.url );\n\t\t} catch ( e ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( e );\n\t\t\tload.analysis = [ [], [], false, false ];\n\t\t}\n\t\tload.source = source;\n\t\treturn load;\n\t} )();\n\n\tload.linkPromise = load.fetchPromise.then( async () => {\n\t\tlet childFetchOpts = fetchOpts;\n\t\tload.deps = (\n\t\t\tawait Promise.all(\n\t\t\t\tload.analysis[ 0 ].map( async ( { n, d } ) => {\n\t\t\t\t\tif ( d !== -1 || ! n ) {\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t\tconst responseUrl = resolve(\n\t\t\t\t\t\tn,\n\t\t\t\t\t\tload.responseUrl || load.url\n\t\t\t\t\t);\n\t\t\t\t\tif ( skip && skip( responseUrl ) ) {\n\t\t\t\t\t\treturn { blobUrl: responseUrl } as ModuleLoad;\n\t\t\t\t\t}\n\t\t\t\t\t// remove integrity for child fetches\n\t\t\t\t\tif ( childFetchOpts.integrity ) {\n\t\t\t\t\t\tchildFetchOpts = {\n\t\t\t\t\t\t\t...childFetchOpts,\n\t\t\t\t\t\t\tintegrity: undefined,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn getOrCreateLoad(\n\t\t\t\t\t\tresponseUrl,\n\t\t\t\t\t\tchildFetchOpts,\n\t\t\t\t\t\tload.responseUrl\n\t\t\t\t\t).fetchPromise;\n\t\t\t\t} )\n\t\t\t)\n\t\t).filter( ( l ) => l );\n\t} );\n\n\treturn load;\n}\n\nconst dynamicImport = ( u: string ) => import( /* webpackIgnore: true */ u );\n\n/**\n * Resolves the passed module URL and fetches the corresponding module\n * and their dependencies, returning a `ModuleLoad` object once all\n * of them have been fetched.\n *\n * @param url Module URL.\n * @param fetchOpts Fetch options.\n * @return A promise with a `ModuleLoad` instance.\n */\nexport async function preloadModule(\n\turl: string,\n\tfetchOpts?: RequestInit\n): Promise< ModuleLoad > {\n\tawait initPromise;\n\tconst load = getOrCreateLoad( url, fetchOpts, null );\n\tconst seen = {};\n\tawait loadAll( load, seen );\n\tresolveDeps( load, seen );\n\t// microtask scheduling \u2013 can help ensure Blob is fully ready\n\tawait Promise.resolve();\n\treturn load;\n}\n\n/**\n * Imports the module represented by the passed `ModuleLoad` instance.\n *\n * @param load The `ModuleLoad` instance representing the module.\n * @return A promise with the imported module.\n */\nexport async function importPreloadedModule< Module = unknown >(\n\tload: ModuleLoad\n): Promise< Module > {\n\tconst module = await dynamicImport( load.blobUrl );\n\t// if the preloaded module ended up with a shell (circular refs), finalize it\n\tif ( load.shellUrl ) {\n\t\t( await dynamicImport( load.shellUrl ) ).u$_( module );\n\t}\n\treturn module;\n}\n\n/**\n * Imports the module represented by the passed module URL.\n *\n * The module URL and all its dependencies are resolved using the\n * current status of the internal dynamic import map.\n *\n * @param url Module URL.\n * @param fetchOpts Fetch options.\n * @return A promise with the imported module.\n */\nexport async function topLevelLoad< Module = unknown >(\n\turl: string,\n\tfetchOpts?: RequestInit\n): Promise< Module > {\n\tconst load = await preloadModule( url, fetchOpts );\n\treturn importPreloadedModule< Module >( load );\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|