@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,60 +1,52 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
Object.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
*
|
|
19
|
-
* 1. dynamic-importmap (https://github.com/keller-mark/dynamic-importmap)
|
|
20
|
-
* 2. es-module-shims (https://github.com/guybedford/es-module-shims)
|
|
21
|
-
*
|
|
22
|
-
* The original implementation was created by Guy Bedford in es-module-shims,
|
|
23
|
-
* then adapted by Mark Keller in dynamic-importmap, and further modified
|
|
24
|
-
* for use in this project.
|
|
25
|
-
*
|
|
26
|
-
* Both projects are licensed under the MIT license.
|
|
27
|
-
*
|
|
28
|
-
* MIT License: https://opensource.org/licenses/MIT
|
|
29
|
-
*/ /**
|
|
30
|
-
* External dependencies
|
|
31
|
-
*/ /**
|
|
32
|
-
* Internal dependencies
|
|
33
|
-
*/
|
|
34
|
-
const initPromise = exports.initPromise = lexer.init;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Script element containing the initial page's import map.
|
|
38
|
-
*/
|
|
39
|
-
const initialImportMapElement = window.document.querySelector('script#wp-importmap[type=importmap]');
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Data from the initial page's import map.
|
|
43
|
-
*
|
|
44
|
-
* Pages containing any of the imports present on the original page
|
|
45
|
-
* in their import maps should ignore them, as those imports would
|
|
46
|
-
* be handled natively.
|
|
47
|
-
*/
|
|
48
|
-
const initialImportMap = exports.initialImportMap = initialImportMapElement ? JSON.parse(initialImportMapElement.text) : {
|
|
49
|
-
imports: {},
|
|
50
|
-
scopes: {}
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
51
18
|
};
|
|
52
|
-
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
var loader_exports = {};
|
|
29
|
+
__export(loader_exports, {
|
|
30
|
+
importPreloadedModule: () => importPreloadedModule,
|
|
31
|
+
initPromise: () => initPromise,
|
|
32
|
+
initialImportMap: () => initialImportMap,
|
|
33
|
+
preloadModule: () => preloadModule,
|
|
34
|
+
registry: () => registry,
|
|
35
|
+
topLevelLoad: () => topLevelLoad
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(loader_exports);
|
|
38
|
+
var lexer = __toESM(require("es-module-lexer"));
|
|
39
|
+
var import_fetch = require("./fetch");
|
|
40
|
+
var import_resolver = require("./resolver");
|
|
41
|
+
const initPromise = lexer.init;
|
|
42
|
+
const initialImportMapElement = window.document.querySelector(
|
|
43
|
+
"script#wp-importmap[type=importmap]"
|
|
44
|
+
);
|
|
45
|
+
const initialImportMap = initialImportMapElement ? JSON.parse(initialImportMapElement.text) : { imports: {}, scopes: {} };
|
|
46
|
+
const skip = (id) => Object.keys(initialImportMap.imports).includes(id);
|
|
53
47
|
const fetchCache = {};
|
|
54
|
-
const registry =
|
|
55
|
-
|
|
56
|
-
// Init registry with importamp content.
|
|
57
|
-
Object.keys(initialImportMap.imports).forEach(id => {
|
|
48
|
+
const registry = {};
|
|
49
|
+
Object.keys(initialImportMap.imports).forEach((id) => {
|
|
58
50
|
registry[id] = {
|
|
59
51
|
blobUrl: id
|
|
60
52
|
};
|
|
@@ -65,14 +57,12 @@ async function loadAll(load, seen) {
|
|
|
65
57
|
}
|
|
66
58
|
seen[load.url] = 1;
|
|
67
59
|
await load.linkPromise;
|
|
68
|
-
await Promise.all(load.deps.map(dep => loadAll(dep, seen)));
|
|
60
|
+
await Promise.all(load.deps.map((dep) => loadAll(dep, seen)));
|
|
69
61
|
}
|
|
70
62
|
function urlJsString(url) {
|
|
71
63
|
return `'${url.replace(/'/g, "\\'")}'`;
|
|
72
64
|
}
|
|
73
|
-
const createBlob = (source, type =
|
|
74
|
-
type
|
|
75
|
-
}));
|
|
65
|
+
const createBlob = (source, type = "text/javascript") => URL.createObjectURL(new Blob([source], { type }));
|
|
76
66
|
function resolveDeps(load, seen) {
|
|
77
67
|
if (load.blobUrl || !seen[load.url]) {
|
|
78
68
|
return;
|
|
@@ -81,95 +71,95 @@ function resolveDeps(load, seen) {
|
|
|
81
71
|
for (const dep of load.deps) {
|
|
82
72
|
resolveDeps(dep, seen);
|
|
83
73
|
}
|
|
84
|
-
const [imports,
|
|
74
|
+
const [imports, exports2] = load.analysis;
|
|
85
75
|
const source = load.source;
|
|
86
|
-
let resolvedSource =
|
|
76
|
+
let resolvedSource = "";
|
|
87
77
|
if (!imports.length) {
|
|
88
78
|
resolvedSource += source;
|
|
89
79
|
} else {
|
|
90
|
-
let
|
|
91
|
-
let depIndex = 0;
|
|
92
|
-
const dynamicImportEndStack = [];
|
|
93
|
-
function pushStringTo(originalIndex) {
|
|
80
|
+
let pushStringTo = function(originalIndex) {
|
|
94
81
|
while (dynamicImportEndStack.length && dynamicImportEndStack[dynamicImportEndStack.length - 1] < originalIndex) {
|
|
95
82
|
const dynamicImportEnd = dynamicImportEndStack.pop();
|
|
96
|
-
resolvedSource += `${source.slice(
|
|
83
|
+
resolvedSource += `${source.slice(
|
|
84
|
+
lastIndex,
|
|
85
|
+
dynamicImportEnd
|
|
86
|
+
)}, ${urlJsString(load.responseUrl)}`;
|
|
97
87
|
lastIndex = dynamicImportEnd;
|
|
98
88
|
}
|
|
99
89
|
resolvedSource += source.slice(lastIndex, originalIndex);
|
|
100
90
|
lastIndex = originalIndex;
|
|
101
|
-
}
|
|
91
|
+
};
|
|
92
|
+
let lastIndex = 0;
|
|
93
|
+
let depIndex = 0;
|
|
94
|
+
const dynamicImportEndStack = [];
|
|
102
95
|
for (const {
|
|
103
96
|
s: start,
|
|
104
97
|
ss: statementStart,
|
|
105
98
|
se: statementEnd,
|
|
106
99
|
d: dynamicImportIndex
|
|
107
100
|
} of imports) {
|
|
108
|
-
// static import
|
|
109
101
|
if (dynamicImportIndex === -1) {
|
|
110
102
|
const depLoad = load.deps[depIndex++];
|
|
111
103
|
let blobUrl = depLoad.blobUrl;
|
|
112
104
|
const cycleShell = !blobUrl;
|
|
113
105
|
if (cycleShell) {
|
|
114
|
-
// Circular shell creation
|
|
115
106
|
if (!(blobUrl = depLoad.shellUrl)) {
|
|
116
|
-
blobUrl = depLoad.shellUrl = createBlob(
|
|
117
|
-
s,
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
107
|
+
blobUrl = depLoad.shellUrl = createBlob(
|
|
108
|
+
`export function u$_(m){${depLoad.analysis[1].map(({ s, e }, i) => {
|
|
109
|
+
const q = depLoad.source[s] === '"' || depLoad.source[s] === "'";
|
|
110
|
+
return `e$_${i}=m${q ? `[` : "."}${depLoad.source.slice(s, e)}${q ? `]` : ""}`;
|
|
111
|
+
}).join(",")}}${depLoad.analysis[1].length ? `let ${depLoad.analysis[1].map((_, i) => `e$_${i}`).join(",")};` : ""}export {${depLoad.analysis[1].map(
|
|
112
|
+
({ s, e }, i) => `e$_${i} as ${depLoad.source.slice(
|
|
113
|
+
s,
|
|
114
|
+
e
|
|
115
|
+
)}`
|
|
116
|
+
).join(",")}}
|
|
117
|
+
//# sourceURL=${depLoad.responseUrl}?cycle`
|
|
118
|
+
);
|
|
126
119
|
}
|
|
127
120
|
}
|
|
128
121
|
pushStringTo(start - 1);
|
|
129
|
-
resolvedSource += `/*${source.slice(
|
|
130
|
-
|
|
131
|
-
|
|
122
|
+
resolvedSource += `/*${source.slice(
|
|
123
|
+
start - 1,
|
|
124
|
+
statementEnd
|
|
125
|
+
)}*/${urlJsString(blobUrl)}`;
|
|
132
126
|
if (!cycleShell && depLoad.shellUrl) {
|
|
133
127
|
resolvedSource += `;import*as m$_${depIndex} from'${depLoad.blobUrl}';import{u$_ as u$_${depIndex}}from'${depLoad.shellUrl}';u$_${depIndex}(m$_${depIndex})`;
|
|
134
|
-
depLoad.shellUrl =
|
|
128
|
+
depLoad.shellUrl = void 0;
|
|
135
129
|
}
|
|
136
130
|
lastIndex = statementEnd;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
else
|
|
140
|
-
throw Error('The import.meta property is not supported.');
|
|
141
|
-
}
|
|
142
|
-
// dynamic import
|
|
143
|
-
else {
|
|
131
|
+
} else if (dynamicImportIndex === -2) {
|
|
132
|
+
throw Error("The import.meta property is not supported.");
|
|
133
|
+
} else {
|
|
144
134
|
pushStringTo(statementStart);
|
|
145
135
|
resolvedSource += `wpInteractivityRouterImport(`;
|
|
146
136
|
dynamicImportEndStack.push(statementEnd - 1);
|
|
147
137
|
lastIndex = start;
|
|
148
138
|
}
|
|
149
139
|
}
|
|
150
|
-
|
|
151
|
-
// progressive cycle binding updates
|
|
152
140
|
if (load.shellUrl) {
|
|
153
|
-
resolvedSource +=
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
ln
|
|
157
|
-
}) => `${source.slice(s, e)}:${ln}`).join(',')}})}catch(_){};\n`;
|
|
141
|
+
resolvedSource += `
|
|
142
|
+
;import{u$_}from'${load.shellUrl}';try{u$_({${exports2.filter((e) => e.ln).map(({ s, e, ln }) => `${source.slice(s, e)}:${ln}`).join(",")}})}catch(_){};
|
|
143
|
+
`;
|
|
158
144
|
}
|
|
159
145
|
pushStringTo(source.length);
|
|
160
146
|
}
|
|
161
|
-
|
|
162
|
-
// ensure we have a proper sourceURL
|
|
163
147
|
let hasSourceURL = false;
|
|
164
|
-
resolvedSource = resolvedSource.replace(
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
148
|
+
resolvedSource = resolvedSource.replace(
|
|
149
|
+
sourceMapURLRegEx,
|
|
150
|
+
(match, isMapping, url) => {
|
|
151
|
+
hasSourceURL = !isMapping;
|
|
152
|
+
return match.replace(
|
|
153
|
+
url,
|
|
154
|
+
() => new URL(url, load.responseUrl).toString()
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
);
|
|
168
158
|
if (!hasSourceURL) {
|
|
169
|
-
resolvedSource +=
|
|
159
|
+
resolvedSource += "\n//# sourceURL=" + load.responseUrl;
|
|
170
160
|
}
|
|
171
161
|
load.blobUrl = createBlob(resolvedSource);
|
|
172
|
-
load.source =
|
|
162
|
+
load.source = void 0;
|
|
173
163
|
}
|
|
174
164
|
const sourceMapURLRegEx = /\n\/\/# source(Mapping)?URL=([^\n]+)\s*((;|\/\/[^#][^\n]*)\s*)*$/;
|
|
175
165
|
function getOrCreateLoad(url, fetchOpts, parent) {
|
|
@@ -177,28 +167,20 @@ function getOrCreateLoad(url, fetchOpts, parent) {
|
|
|
177
167
|
if (load) {
|
|
178
168
|
return load;
|
|
179
169
|
}
|
|
180
|
-
load = {
|
|
181
|
-
url
|
|
182
|
-
};
|
|
170
|
+
load = { url };
|
|
183
171
|
if (registry[url]) {
|
|
184
|
-
// If there's a naming conflict, keep incrementing until unique
|
|
185
172
|
let i = 0;
|
|
186
173
|
while (registry[load.url + ++i]) {
|
|
187
|
-
/* no-op */
|
|
188
174
|
}
|
|
189
175
|
load.url += i;
|
|
190
176
|
}
|
|
191
177
|
registry[load.url] = load;
|
|
192
178
|
load.fetchPromise = (async () => {
|
|
193
179
|
let source;
|
|
194
|
-
({
|
|
195
|
-
responseUrl: load.responseUrl,
|
|
196
|
-
source: source
|
|
197
|
-
} = await (fetchCache[url] || (0, _fetch.fetchModule)(url, fetchOpts, parent)));
|
|
180
|
+
({ responseUrl: load.responseUrl, source } = await (fetchCache[url] || (0, import_fetch.fetchModule)(url, fetchOpts, parent)));
|
|
198
181
|
try {
|
|
199
182
|
load.analysis = lexer.parse(source, load.url);
|
|
200
183
|
} catch (e) {
|
|
201
|
-
// eslint-disable-next-line no-console
|
|
202
184
|
console.error(e);
|
|
203
185
|
load.analysis = [[], [], false, false];
|
|
204
186
|
}
|
|
@@ -207,80 +189,65 @@ function getOrCreateLoad(url, fetchOpts, parent) {
|
|
|
207
189
|
})();
|
|
208
190
|
load.linkPromise = load.fetchPromise.then(async () => {
|
|
209
191
|
let childFetchOpts = fetchOpts;
|
|
210
|
-
load.deps = (await Promise.all(
|
|
211
|
-
n,
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
blobUrl: responseUrl
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
192
|
+
load.deps = (await Promise.all(
|
|
193
|
+
load.analysis[0].map(async ({ n, d }) => {
|
|
194
|
+
if (d !== -1 || !n) {
|
|
195
|
+
return void 0;
|
|
196
|
+
}
|
|
197
|
+
const responseUrl = (0, import_resolver.resolve)(
|
|
198
|
+
n,
|
|
199
|
+
load.responseUrl || load.url
|
|
200
|
+
);
|
|
201
|
+
if (skip && skip(responseUrl)) {
|
|
202
|
+
return { blobUrl: responseUrl };
|
|
203
|
+
}
|
|
204
|
+
if (childFetchOpts.integrity) {
|
|
205
|
+
childFetchOpts = {
|
|
206
|
+
...childFetchOpts,
|
|
207
|
+
integrity: void 0
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
return getOrCreateLoad(
|
|
211
|
+
responseUrl,
|
|
212
|
+
childFetchOpts,
|
|
213
|
+
load.responseUrl
|
|
214
|
+
).fetchPromise;
|
|
215
|
+
})
|
|
216
|
+
)).filter((l) => l);
|
|
232
217
|
});
|
|
233
218
|
return load;
|
|
234
219
|
}
|
|
235
|
-
const dynamicImport = u
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
* and their dependencies, returning a `ModuleLoad` object once all
|
|
240
|
-
* of them have been fetched.
|
|
241
|
-
*
|
|
242
|
-
* @param url Module URL.
|
|
243
|
-
* @param fetchOpts Fetch options.
|
|
244
|
-
* @return A promise with a `ModuleLoad` instance.
|
|
245
|
-
*/
|
|
220
|
+
const dynamicImport = (u) => import(
|
|
221
|
+
/* webpackIgnore: true */
|
|
222
|
+
u
|
|
223
|
+
);
|
|
246
224
|
async function preloadModule(url, fetchOpts) {
|
|
247
225
|
await initPromise;
|
|
248
226
|
const load = getOrCreateLoad(url, fetchOpts, null);
|
|
249
227
|
const seen = {};
|
|
250
228
|
await loadAll(load, seen);
|
|
251
229
|
resolveDeps(load, seen);
|
|
252
|
-
// microtask scheduling – can help ensure Blob is fully ready
|
|
253
230
|
await Promise.resolve();
|
|
254
231
|
return load;
|
|
255
232
|
}
|
|
256
|
-
|
|
257
|
-
/**
|
|
258
|
-
* Imports the module represented by the passed `ModuleLoad` instance.
|
|
259
|
-
*
|
|
260
|
-
* @param load The `ModuleLoad` instance representing the module.
|
|
261
|
-
* @return A promise with the imported module.
|
|
262
|
-
*/
|
|
263
233
|
async function importPreloadedModule(load) {
|
|
264
|
-
const
|
|
265
|
-
// if the preloaded module ended up with a shell (circular refs), finalize it
|
|
234
|
+
const module2 = await dynamicImport(load.blobUrl);
|
|
266
235
|
if (load.shellUrl) {
|
|
267
|
-
(await dynamicImport(load.shellUrl)).u$_(
|
|
236
|
+
(await dynamicImport(load.shellUrl)).u$_(module2);
|
|
268
237
|
}
|
|
269
|
-
return
|
|
238
|
+
return module2;
|
|
270
239
|
}
|
|
271
|
-
|
|
272
|
-
/**
|
|
273
|
-
* Imports the module represented by the passed module URL.
|
|
274
|
-
*
|
|
275
|
-
* The module URL and all its dependencies are resolved using the
|
|
276
|
-
* current status of the internal dynamic import map.
|
|
277
|
-
*
|
|
278
|
-
* @param url Module URL.
|
|
279
|
-
* @param fetchOpts Fetch options.
|
|
280
|
-
* @return A promise with the imported module.
|
|
281
|
-
*/
|
|
282
240
|
async function topLevelLoad(url, fetchOpts) {
|
|
283
241
|
const load = await preloadModule(url, fetchOpts);
|
|
284
242
|
return importPreloadedModule(load);
|
|
285
243
|
}
|
|
286
|
-
|
|
244
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
245
|
+
0 && (module.exports = {
|
|
246
|
+
importPreloadedModule,
|
|
247
|
+
initPromise,
|
|
248
|
+
initialImportMap,
|
|
249
|
+
preloadModule,
|
|
250
|
+
registry,
|
|
251
|
+
topLevelLoad
|
|
252
|
+
});
|
|
253
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{"version":3,"names":["lexer","_interopRequireWildcard","require","_fetch","_resolver","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","initPromise","exports","init","initialImportMapElement","window","document","querySelector","initialImportMap","JSON","parse","text","imports","scopes","skip","id","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","analysis","resolvedSource","length","lastIndex","depIndex","dynamicImportEndStack","pushStringTo","originalIndex","dynamicImportEnd","pop","slice","responseUrl","s","start","ss","statementStart","se","statementEnd","d","dynamicImportIndex","depLoad","cycleShell","shellUrl","q","join","_","undefined","Error","push","filter","ln","hasSourceURL","sourceMapURLRegEx","match","isMapping","toString","getOrCreateLoad","fetchOpts","parent","fetchPromise","fetchModule","console","error","then","childFetchOpts","resolve","integrity","l","dynamicImport","specifier","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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBA,YAAuB;AAKvB,mBAA4B;AAC5B,sBAAwB;AAcjB,MAAM,cAAc,MAAM;AAKjC,MAAM,0BACL,OAAO,SAAS;AAAA,EACf;AACD;AASM,MAAM,mBAAmB,0BAC7B,KAAK,MAAO,wBAAwB,IAAK,IACzC,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE;AAE7B,MAAM,OAAO,CAAE,OAAQ,OAAO,KAAM,iBAAiB,OAAQ,EAAE,SAAU,EAAG;AAE5E,MAAM,aAAsD,CAAC;AACtD,MAAM,WAAW,CAAC;AAGzB,OAAO,KAAM,iBAAiB,OAAQ,EAAE,QAAS,CAAE,OAAQ;AAC1D,WAAU,EAAG,IAAI;AAAA,IAChB,SAAS;AAAA,EACV;AACD,CAAE;AAEF,eAAe,QAAS,MAAkB,MAA8B;AACvE,MAAK,KAAK,WAAW,KAAM,KAAK,GAAI,GAAI;AACvC;AAAA,EACD;AACA,OAAM,KAAK,GAAI,IAAI;AACnB,QAAM,KAAK;AACX,QAAM,QAAQ,IAAK,KAAK,KAAK,IAAK,CAAE,QAAS,QAAS,KAAK,IAAK,CAAE,CAAE;AACrE;AAEA,SAAS,YAAa,KAAc;AACnC,SAAO,IAAK,IAAI,QAAS,MAAM,KAAM,CAAE;AACxC;AAEA,MAAM,aAAa,CAAE,QAAgB,OAAO,sBAC3C,IAAI,gBAAiB,IAAI,KAAM,CAAE,MAAO,GAAG,EAAE,KAAK,CAAE,CAAE;AAEvD,SAAS,YAAa,MAAkB,MAA8B;AACrE,MAAK,KAAK,WAAW,CAAE,KAAM,KAAK,GAAI,GAAI;AACzC;AAAA,EACD;AACA,OAAM,KAAK,GAAI,IAAI;AAEnB,aAAY,OAAO,KAAK,MAAO;AAC9B,gBAAa,KAAK,IAAK;AAAA,EACxB;AAEA,QAAM,CAAE,SAASA,QAAQ,IAAI,KAAK;AAClC,QAAM,SAAS,KAAK;AAEpB,MAAI,iBAAiB;AAErB,MAAK,CAAE,QAAQ,QAAS;AACvB,sBAAkB;AAAA,EACnB,OAAO;AAKN,QAAS,eAAT,SAAuB,eAAwB;AAC9C,aACC,sBAAsB,UACtB,sBAAuB,sBAAsB,SAAS,CAAE,IACvD,eACA;AACD,cAAM,mBAAmB,sBAAsB,IAAI;AACnD,0BAAkB,GAAI,OAAO;AAAA,UAC5B;AAAA,UACA;AAAA,QACD,CAAE,KAAM,YAAa,KAAK,WAAY,CAAE;AACxC,oBAAY;AAAA,MACb;AACA,wBAAkB,OAAO,MAAO,WAAW,aAAc;AACzD,kBAAY;AAAA,IACb;AAnBA,QAAI,YAAY;AAChB,QAAI,WAAW;AACf,UAAM,wBAAwB,CAAC;AAmB/B,eAAY;AAAA,MACX,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,GAAG;AAAA,IACJ,KAAK,SAAU;AAEd,UAAK,uBAAuB,IAAK;AAChC,cAAM,UAAU,KAAK,KAAM,UAAW;AACtC,YAAI,UAAU,QAAQ;AACtB,cAAM,aAAa,CAAE;AACrB,YAAK,YAAa;AAEjB,cAAK,EAAI,UAAU,QAAQ,WAAa;AACvC,sBAAU,QAAQ,WAAW;AAAA,cAC5B,0BAA2B,QAAQ,SAAU,CAAE,EAC7C,IAAK,CAAE,EAAE,GAAG,EAAE,GAAG,MAAO;AACxB,sBAAM,IACL,QAAQ,OAAQ,CAAE,MAAM,OACxB,QAAQ,OAAQ,CAAE,MAAM;AACzB,uBAAO,MAAO,CAAE,KACf,IAAI,MAAM,GACX,GAAI,QAAQ,OAAO,MAAO,GAAG,CAAE,CAAE,GAChC,IAAI,MAAM,EACX;AAAA,cACD,CAAE,EACD,KAAM,GAAI,CAAE,IACb,QAAQ,SAAU,CAAE,EAAE,SACnB,OAAQ,QAAQ,SAAU,CAAE,EAC3B,IAAK,CAAE,GAAG,MAAO,MAAO,CAAE,EAAG,EAC7B,KAAM,GAAI,CAAE,MACb,EACJ,WAAY,QAAQ,SAAU,CAAE,EAC9B;AAAA,gBACA,CAAE,EAAE,GAAG,EAAE,GAAG,MACX,MAAO,CAAE,OAAQ,QAAQ,OAAO;AAAA,kBAC/B;AAAA,kBACA;AAAA,gBACD,CAAE;AAAA,cACJ,EACC,KAAM,GAAI,CAAE;AAAA,gBACb,QAAQ,WACT;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAEA,qBAAc,QAAQ,CAAE;AACxB,0BAAkB,KAAM,OAAO;AAAA,UAC9B,QAAQ;AAAA,UACR;AAAA,QACD,CAAE,KAAM,YAAa,OAAQ,CAAE;AAG/B,YAAK,CAAE,cAAc,QAAQ,UAAW;AACvC,4BAAkB,iBAAkB,QAAS,SAAU,QAAQ,OAAQ,sBAAuB,QAAS,SAAU,QAAQ,QAAS,QAAS,QAAS,OAAQ,QAAS;AACrK,kBAAQ,WAAW;AAAA,QACpB;AACA,oBAAY;AAAA,MACb,WAEU,uBAAuB,IAAK;AACrC,cAAM,MAAO,4CAA6C;AAAA,MAC3D,OAEK;AACJ,qBAAc,cAAe;AAC7B,0BAAkB;AAClB,8BAAsB,KAAM,eAAe,CAAE;AAC7C,oBAAY;AAAA,MACb;AAAA,IACD;AAGA,QAAK,KAAK,UAAW;AACpB,wBAAkB;AAAA,mBACjB,KAAK,QACN,cAAeA,SACb,OAAQ,CAAE,MAAO,EAAE,EAAG,EACtB,IAAK,CAAE,EAAE,GAAG,GAAG,GAAG,MAAO,GAAI,OAAO,MAAO,GAAG,CAAE,CAAE,IAAK,EAAG,EAAG,EAC7D,KAAM,GAAI,CAAE;AAAA;AAAA,IACf;AAEA,iBAAc,OAAO,MAAO;AAAA,EAC7B;AAGA,MAAI,eAAe;AACnB,mBAAiB,eAAe;AAAA,IAC/B;AAAA,IACA,CAAE,OAAO,WAAW,QAAS;AAC5B,qBAAe,CAAE;AACjB,aAAO,MAAM;AAAA,QAAS;AAAA,QAAK,MAC1B,IAAI,IAAK,KAAK,KAAK,WAAY,EAAE,SAAS;AAAA,MAC3C;AAAA,IACD;AAAA,EACD;AACA,MAAK,CAAE,cAAe;AACrB,sBAAkB,qBAAqB,KAAK;AAAA,EAC7C;AAEA,OAAK,UAAU,WAAY,cAAe;AAC1C,OAAK,SAAS;AACf;AAEA,MAAM,oBACL;AAED,SAAS,gBACR,KACA,WACA,QACa;AACb,MAAI,OAAmB,SAAU,GAAI;AACrC,MAAK,MAAO;AACX,WAAO;AAAA,EACR;AAEA,SAAO,EAAE,IAAI;AAEb,MAAK,SAAU,GAAI,GAAI;AAEtB,QAAI,IAAI;AACR,WAAQ,SAAU,KAAK,MAAM,EAAE,CAAE,GAAI;AAAA,IAErC;AACA,SAAK,OAAO;AAAA,EACb;AACA,WAAU,KAAK,GAAI,IAAI;AAEvB,OAAK,gBAAiB,YAAY;AACjC,QAAI;AACJ,KAAE,EAAE,aAAa,KAAK,aAAa,OAAe,IACjD,OAAQ,WAAY,GAAI,SACvB,0BAAa,KAAK,WAAW,MAAO;AACtC,QAAI;AACH,WAAK,WAAW,MAAM,MAAO,QAAQ,KAAK,GAAI;AAAA,IAC/C,SAAU,GAAI;AAEb,cAAQ,MAAO,CAAE;AACjB,WAAK,WAAW,CAAE,CAAC,GAAG,CAAC,GAAG,OAAO,KAAM;AAAA,IACxC;AACA,SAAK,SAAS;AACd,WAAO;AAAA,EACR,GAAI;AAEJ,OAAK,cAAc,KAAK,aAAa,KAAM,YAAY;AACtD,QAAI,iBAAiB;AACrB,SAAK,QACJ,MAAM,QAAQ;AAAA,MACb,KAAK,SAAU,CAAE,EAAE,IAAK,OAAQ,EAAE,GAAG,EAAE,MAAO;AAC7C,YAAK,MAAM,MAAM,CAAE,GAAI;AACtB,iBAAO;AAAA,QACR;AACA,cAAM,kBAAc;AAAA,UACnB;AAAA,UACA,KAAK,eAAe,KAAK;AAAA,QAC1B;AACA,YAAK,QAAQ,KAAM,WAAY,GAAI;AAClC,iBAAO,EAAE,SAAS,YAAY;AAAA,QAC/B;AAEA,YAAK,eAAe,WAAY;AAC/B,2BAAiB;AAAA,YAChB,GAAG;AAAA,YACH,WAAW;AAAA,UACZ;AAAA,QACD;AACA,eAAO;AAAA,UACN;AAAA,UACA;AAAA,UACA,KAAK;AAAA,QACN,EAAE;AAAA,MACH,CAAE;AAAA,IACH,GACC,OAAQ,CAAE,MAAO,CAAE;AAAA,EACtB,CAAE;AAEF,SAAO;AACR;AAEA,MAAM,gBAAgB,CAAE,MAAe;AAAA;AAAA,EAAkC;AAAA;AAWzE,eAAsB,cACrB,KACA,WACwB;AACxB,QAAM;AACN,QAAM,OAAO,gBAAiB,KAAK,WAAW,IAAK;AACnD,QAAM,OAAO,CAAC;AACd,QAAM,QAAS,MAAM,IAAK;AAC1B,cAAa,MAAM,IAAK;AAExB,QAAM,QAAQ,QAAQ;AACtB,SAAO;AACR;AAQA,eAAsB,sBACrB,MACoB;AACpB,QAAMC,UAAS,MAAM,cAAe,KAAK,OAAQ;AAEjD,MAAK,KAAK,UAAW;AACpB,KAAE,MAAM,cAAe,KAAK,QAAS,GAAI,IAAKA,OAAO;AAAA,EACtD;AACA,SAAOA;AACR;AAYA,eAAsB,aACrB,KACA,WACoB;AACpB,QAAM,OAAO,MAAM,cAAe,KAAK,SAAU;AACjD,SAAO,sBAAiC,IAAK;AAC9C;",
|
|
6
|
+
"names": ["exports", "module"]
|
|
7
|
+
}
|