@merkur/integration 0.37.0 → 0.37.11
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/lib/index.cjs +308 -116
- package/lib/index.es9.cjs +224 -84
- package/lib/index.es9.mjs +222 -85
- package/lib/index.js +308 -116
- package/lib/index.mjs +306 -117
- package/lib/index.umd.js +1 -1
- package/package.json +2 -2
- package/server/__tests__/indexSpec.js +272 -30
- package/server/index.js +25 -3
- package/server/__tests__/__snapshots__/indexSpec.js.snap +0 -19
package/lib/index.mjs
CHANGED
|
@@ -55,162 +55,351 @@ const exported = {
|
|
|
55
55
|
test,
|
|
56
56
|
};
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
const isLoadedSymbol = Symbol.for('isLoaded');
|
|
59
|
+
const loadingPromiseSymbol = Symbol.for('loadingPromise');
|
|
60
|
+
|
|
61
|
+
function _attachElementToAsset(asset, element) {
|
|
62
|
+
return {
|
|
63
|
+
...asset,
|
|
64
|
+
element,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
61
67
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
68
|
+
function _handleAssetError({
|
|
69
|
+
asset,
|
|
70
|
+
message = `Error loading asset ${asset.source}.`,
|
|
71
|
+
}) {
|
|
72
|
+
if (asset.optional) {
|
|
73
|
+
console.warn(message);
|
|
74
|
+
|
|
75
|
+
return _attachElementToAsset(asset, null);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const error = new Error(message);
|
|
79
|
+
error.asset = asset;
|
|
80
|
+
|
|
81
|
+
throw error;
|
|
82
|
+
}
|
|
66
83
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
84
|
+
function _addListenersToAssetElement(asset, element, resolve, reject) {
|
|
85
|
+
element.addEventListener('load', () => {
|
|
86
|
+
resolve(_attachElementToAsset(asset, element));
|
|
87
|
+
element[isLoadedSymbol] = true;
|
|
88
|
+
delete element[loadingPromiseSymbol];
|
|
89
|
+
});
|
|
90
|
+
element.addEventListener('error', () => {
|
|
91
|
+
if (element.parentNode) {
|
|
92
|
+
element.remove();
|
|
73
93
|
}
|
|
74
94
|
|
|
75
|
-
|
|
95
|
+
try {
|
|
96
|
+
resolve(_handleAssetError({ asset }));
|
|
97
|
+
} catch (error) {
|
|
98
|
+
reject(error);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
76
102
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
103
|
+
function _loadStyle(asset, root) {
|
|
104
|
+
if (asset.type === 'inlineStyle') {
|
|
105
|
+
const style = document.createElement('style');
|
|
106
|
+
style.innerHTML = asset.source;
|
|
107
|
+
root.appendChild(style);
|
|
108
|
+
|
|
109
|
+
return _attachElementToAsset(asset, style);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const link = document.createElement('link');
|
|
113
|
+
|
|
114
|
+
link[loadingPromiseSymbol] = new Promise((resolve, reject) => {
|
|
115
|
+
_addListenersToAssetElement(asset, link, resolve, reject);
|
|
116
|
+
link.rel = 'stylesheet';
|
|
117
|
+
link.href = asset.source;
|
|
118
|
+
|
|
119
|
+
root.appendChild(link);
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
return link[loadingPromiseSymbol];
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
async function loadStyleAssets(assets, root = document.head) {
|
|
126
|
+
const styleElements = Array.from(root.querySelectorAll('style'));
|
|
127
|
+
|
|
128
|
+
return Promise.all(
|
|
129
|
+
assets.map((asset) => {
|
|
130
|
+
if (
|
|
131
|
+
!['stylesheet', 'inlineStyle'].includes(asset.type) ||
|
|
132
|
+
!asset.source
|
|
133
|
+
) {
|
|
134
|
+
return _attachElementToAsset(asset, null);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
if (asset.type === 'stylesheet') {
|
|
138
|
+
const link = root.querySelector(`link[href='${asset.source}']`);
|
|
139
|
+
|
|
140
|
+
if (link) {
|
|
141
|
+
if (link[loadingPromiseSymbol]) {
|
|
142
|
+
return link[loadingPromiseSymbol];
|
|
143
|
+
}
|
|
82
144
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
145
|
+
return _attachElementToAsset(asset, link);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (asset.type === 'inlineStyle') {
|
|
150
|
+
const inlineStyle = styleElements.find(
|
|
151
|
+
(element) => element.innerHTML === asset.source,
|
|
152
|
+
);
|
|
153
|
+
|
|
154
|
+
if (inlineStyle) {
|
|
155
|
+
return _attachElementToAsset(asset, inlineStyle);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
return _loadStyle(asset, root);
|
|
160
|
+
}),
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
function _findScriptElement(scriptElements, asset) {
|
|
165
|
+
if (asset.type === 'json') {
|
|
166
|
+
return scriptElements.find(
|
|
167
|
+
(element) => element.dataset.src === asset.source,
|
|
168
|
+
);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
if (!['script', 'inlineScript', 'inlineJson'].includes(asset.type)) {
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
const attributeKey = asset.type === 'script' ? 'src' : 'textContent';
|
|
176
|
+
const source =
|
|
177
|
+
asset.type === 'inlineJson' ? JSON.stringify(asset.source) : asset.source;
|
|
178
|
+
|
|
179
|
+
return (
|
|
180
|
+
scriptElements.find((element) => element[attributeKey] === source) || null
|
|
181
|
+
);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
function _loadScript(asset, root) {
|
|
185
|
+
const script = document.createElement('script');
|
|
186
|
+
|
|
187
|
+
if (asset.type === 'inlineScript') {
|
|
188
|
+
script.textContent = asset.source;
|
|
189
|
+
root.appendChild(script);
|
|
190
|
+
|
|
191
|
+
return _attachElementToAsset(asset, script);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
script[loadingPromiseSymbol] = new Promise((resolve, reject) => {
|
|
195
|
+
script.defer = true;
|
|
196
|
+
_addListenersToAssetElement(asset, script, resolve, reject);
|
|
197
|
+
script.src = asset.source;
|
|
198
|
+
|
|
199
|
+
const { attr } = asset;
|
|
200
|
+
if (attr && Object.keys(attr).length) {
|
|
201
|
+
for (const name in attr) {
|
|
202
|
+
const value = attr[name];
|
|
203
|
+
|
|
204
|
+
if (typeof value === 'boolean') {
|
|
205
|
+
if (value) {
|
|
206
|
+
script.setAttribute(name, '');
|
|
98
207
|
} else {
|
|
99
|
-
script.
|
|
208
|
+
script.removeAttribute(name);
|
|
100
209
|
}
|
|
210
|
+
} else {
|
|
211
|
+
script.setAttribute(name, value);
|
|
101
212
|
}
|
|
102
213
|
}
|
|
103
|
-
} else {
|
|
104
|
-
script.text = asset.source;
|
|
105
|
-
resolve();
|
|
106
214
|
}
|
|
107
215
|
|
|
108
216
|
root.appendChild(script);
|
|
109
217
|
});
|
|
110
|
-
}
|
|
111
218
|
|
|
112
|
-
|
|
113
|
-
return new Promise((resolve, reject) => {
|
|
114
|
-
if (asset.type === 'stylesheet') {
|
|
115
|
-
const link = document.createElement('link');
|
|
116
|
-
link.onload = resolve;
|
|
117
|
-
link.onerror = reject;
|
|
118
|
-
link.rel = 'stylesheet';
|
|
119
|
-
link.href = asset.source;
|
|
120
|
-
|
|
121
|
-
root.appendChild(link);
|
|
122
|
-
} else {
|
|
123
|
-
const style = document.createElement('style');
|
|
124
|
-
style.innerHTML = asset.source;
|
|
125
|
-
|
|
126
|
-
root.appendChild(style);
|
|
127
|
-
resolve();
|
|
128
|
-
}
|
|
129
|
-
});
|
|
219
|
+
return script[loadingPromiseSymbol];
|
|
130
220
|
}
|
|
131
221
|
|
|
132
|
-
function
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
((asset.type
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
222
|
+
async function loadScriptAssets(assets, root = document.head) {
|
|
223
|
+
const scriptElements = Array.from(root.querySelectorAll('script'));
|
|
224
|
+
|
|
225
|
+
return Promise.all(
|
|
226
|
+
assets.map((asset) => {
|
|
227
|
+
if (!['script', 'inlineScript'].includes(asset.type) || !asset.source) {
|
|
228
|
+
return _attachElementToAsset(asset, null);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
const { source } = asset;
|
|
232
|
+
const _asset = Object.assign({}, asset);
|
|
233
|
+
|
|
234
|
+
if (source === Object(source)) {
|
|
235
|
+
if (source.es13 && exported.isES13Supported()) {
|
|
236
|
+
_asset.source = source.es13;
|
|
237
|
+
} else if (source.es11 && exported.isES11Supported()) {
|
|
238
|
+
_asset.source = source.es11;
|
|
239
|
+
} else if (source.es9 && exported.isES9Supported()) {
|
|
240
|
+
_asset.source = source.es9;
|
|
241
|
+
} else {
|
|
242
|
+
_asset.source = null;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
if (!_asset.source) {
|
|
246
|
+
return _handleAssetError({
|
|
247
|
+
asset: _asset,
|
|
248
|
+
message: `Asset '${_asset.name}' is missing ES variant and could not be loaded.`,
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
if (_asset.test && exported.test(_asset.test)) {
|
|
254
|
+
return _attachElementToAsset(
|
|
255
|
+
_asset,
|
|
256
|
+
_findScriptElement(scriptElements, _asset),
|
|
257
|
+
);
|
|
258
|
+
}
|
|
148
259
|
|
|
149
|
-
|
|
260
|
+
const script = _findScriptElement(scriptElements, _asset);
|
|
261
|
+
|
|
262
|
+
if (script && _asset.type === 'script') {
|
|
263
|
+
if (script[loadingPromiseSymbol]) {
|
|
264
|
+
return script[loadingPromiseSymbol];
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
if (script[isLoadedSymbol]) {
|
|
268
|
+
return _attachElementToAsset(_asset, script);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
return new Promise((resolve, reject) =>
|
|
272
|
+
_addListenersToAssetElement(_asset, script, resolve, reject),
|
|
273
|
+
);
|
|
274
|
+
} else if (script && _asset.type === 'inlineScript') {
|
|
275
|
+
return _attachElementToAsset(_asset, script);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
return _loadScript(_asset, root);
|
|
279
|
+
}),
|
|
280
|
+
);
|
|
150
281
|
}
|
|
151
282
|
|
|
152
|
-
async function
|
|
153
|
-
const
|
|
154
|
-
const scriptsToRender = assets.reduce((scripts, asset) => {
|
|
155
|
-
const { source } = asset;
|
|
156
|
-
const _asset = Object.assign({}, asset);
|
|
283
|
+
async function _fetchData(source) {
|
|
284
|
+
const response = await fetch(source);
|
|
157
285
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
286
|
+
if (!response.ok) {
|
|
287
|
+
throw new Error(
|
|
288
|
+
`Failed to fetch from '${source}' with status ${response.status} ${response.statusText}.`,
|
|
289
|
+
);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
return response.text();
|
|
293
|
+
}
|
|
161
294
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
} else if (source.es9 && exported.isES9Supported()) {
|
|
168
|
-
_asset.source = source.es9;
|
|
169
|
-
} else {
|
|
170
|
-
_asset.source = null;
|
|
295
|
+
function _removeElementAfterTimeout(element, timeout) {
|
|
296
|
+
if (timeout) {
|
|
297
|
+
setTimeout(() => {
|
|
298
|
+
if (element.parentNode) {
|
|
299
|
+
element.remove();
|
|
171
300
|
}
|
|
301
|
+
}, timeout);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
function _loadJsonAsset(asset, root) {
|
|
306
|
+
const script = document.createElement('script');
|
|
307
|
+
script.type = 'application/json';
|
|
308
|
+
|
|
309
|
+
if (asset.type === 'inlineJson') {
|
|
310
|
+
script.textContent = JSON.stringify(asset.source);
|
|
311
|
+
root.appendChild(script);
|
|
312
|
+
_removeElementAfterTimeout(script, asset.ttl);
|
|
313
|
+
|
|
314
|
+
return _attachElementToAsset(asset, script);
|
|
315
|
+
}
|
|
172
316
|
|
|
173
|
-
|
|
174
|
-
|
|
317
|
+
script[loadingPromiseSymbol] = new Promise((resolve, reject) => {
|
|
318
|
+
script.dataset.src = asset.source;
|
|
319
|
+
root.appendChild(script);
|
|
175
320
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
321
|
+
(async () => {
|
|
322
|
+
try {
|
|
323
|
+
const textContent = await _fetchData(asset.source);
|
|
324
|
+
script.textContent = textContent;
|
|
325
|
+
delete script[loadingPromiseSymbol];
|
|
326
|
+
_removeElementAfterTimeout(script, asset.ttl);
|
|
327
|
+
resolve(_attachElementToAsset(asset, script));
|
|
328
|
+
} catch (error) {
|
|
329
|
+
script.remove();
|
|
179
330
|
|
|
180
|
-
|
|
331
|
+
try {
|
|
332
|
+
resolve(
|
|
333
|
+
_handleAssetError({
|
|
334
|
+
asset,
|
|
335
|
+
message: `Error loading JSON asset '${asset.name}': ${error.message}`,
|
|
336
|
+
}),
|
|
337
|
+
);
|
|
338
|
+
} catch (error) {
|
|
339
|
+
reject(error);
|
|
181
340
|
}
|
|
341
|
+
}
|
|
342
|
+
})();
|
|
343
|
+
});
|
|
182
344
|
|
|
183
|
-
|
|
184
|
-
|
|
345
|
+
return script[loadingPromiseSymbol];
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
async function loadJsonAssets(assets, root = document.head) {
|
|
349
|
+
const scriptElements = Array.from(
|
|
350
|
+
root.querySelectorAll('script[type="application/json"]'),
|
|
351
|
+
);
|
|
352
|
+
|
|
353
|
+
return Promise.all(
|
|
354
|
+
assets.map((asset) => {
|
|
355
|
+
if (!['json', 'inlineJson'].includes(asset.type) || !asset.source) {
|
|
356
|
+
return _attachElementToAsset(asset, null);
|
|
185
357
|
}
|
|
186
|
-
}
|
|
187
358
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
359
|
+
const script = _findScriptElement(scriptElements, asset);
|
|
360
|
+
|
|
361
|
+
if (script) {
|
|
362
|
+
if (script[loadingPromiseSymbol]) {
|
|
363
|
+
return script[loadingPromiseSymbol];
|
|
192
364
|
}
|
|
193
365
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
) {
|
|
198
|
-
return scripts;
|
|
199
|
-
}
|
|
366
|
+
if (script.textContent) {
|
|
367
|
+
return _attachElementToAsset(asset, script);
|
|
368
|
+
}
|
|
200
369
|
|
|
201
|
-
|
|
370
|
+
return _handleAssetError({
|
|
371
|
+
asset,
|
|
372
|
+
message: `JSON asset '${asset.name}' is missing textContent and could not be loaded.`,
|
|
373
|
+
});
|
|
374
|
+
}
|
|
202
375
|
|
|
203
|
-
|
|
204
|
-
|
|
376
|
+
return _loadJsonAsset(asset, root);
|
|
377
|
+
}),
|
|
378
|
+
);
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
function _mergeResults(results) {
|
|
382
|
+
return results.reduce((acc, results) => {
|
|
383
|
+
results.forEach((result, index) => {
|
|
384
|
+
if (!acc[index]) {
|
|
385
|
+
acc[index] = result;
|
|
386
|
+
} else if (result.element) {
|
|
387
|
+
acc[index] = result;
|
|
388
|
+
}
|
|
389
|
+
});
|
|
205
390
|
|
|
206
|
-
|
|
391
|
+
return acc;
|
|
392
|
+
}, []);
|
|
207
393
|
}
|
|
208
394
|
|
|
209
|
-
function loadAssets(assets, root) {
|
|
210
|
-
|
|
395
|
+
async function loadAssets(assets, root) {
|
|
396
|
+
const results = await Promise.all([
|
|
211
397
|
loadScriptAssets(assets, root),
|
|
212
398
|
loadStyleAssets(assets, root),
|
|
399
|
+
loadJsonAssets(assets, root),
|
|
213
400
|
]);
|
|
401
|
+
|
|
402
|
+
return _mergeResults(results);
|
|
214
403
|
}
|
|
215
404
|
|
|
216
|
-
export { loadAssets, loadScriptAssets, loadStyleAssets, exported as testScript };
|
|
405
|
+
export { isLoadedSymbol, loadAssets, loadJsonAssets, loadScriptAssets, loadStyleAssets, loadingPromiseSymbol, exported as testScript };
|
package/lib/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){if("function"==typeof define&&define.amd)define("@merkur/integration",["exports"],t);else if("undefined"!=typeof exports)t(exports);else{var
|
|
1
|
+
!function(e,t){if("function"==typeof define&&define.amd)define("@merkur/integration",["exports"],t);else if("undefined"!=typeof exports)t(exports);else{var n={exports:{}};t(n.exports),e.Merkur=e.Merkur||{},e.Merkur.Integration=n.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e,t,n,r,o,i,u){try{var s=e[i](u),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,o)}function r(e){return function(){var t=this,r=arguments;return new Promise((function(o,i){var u=e.apply(t,r);function s(e){n(u,o,i,s,c,"next",e)}function c(e){n(u,o,i,s,c,"throw",e)}s(void 0)}))}}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){u(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e,n,r){return(n=function(e){var n=function(e,n){if("object"!=t(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,n||"default");if("object"!=t(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==t(n)?n:n+""}(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}var s,c,a;Object.defineProperty(e,"__esModule",{value:!0}),e.isLoadedSymbol=void 0,e.loadAssets=function(e,t){return x.apply(this,arguments)},e.loadJsonAssets=w,e.loadScriptAssets=S,e.loadStyleAssets=v,e.testScript=e.loadingPromiseSymbol=void 0;var l=e.testScript={isES9Supported:function(){return void 0===s&&(s=l.test("return (() => { const o = { t: 1 }; return { ...o }; })() && (async () => ({}))()")&&!!Object.values),s},isES11Supported:function(){return void 0===c&&(c=l.test("return (() => { const o = { t: { q: true } }; return o?.t?.q && (o?.a?.q ?? true); })()")&&l.test('return typeof Promise.allSettled === "function"')&&l.test('return typeof globalThis !== "undefined"')&&l.test('return typeof 9007199254740991n === "bigint"')),c},isES13Supported:function(){return void 0===a&&(a=l.test("return [1,1].findLast(e => e === 1)")&&l.test('return Object.hasOwn({a:1}, "a")')),a},test:function(e){try{return!!new Function(e)()}catch(e){return!1}}},f=e.isLoadedSymbol=Symbol.for("isLoaded"),p=e.loadingPromiseSymbol=Symbol.for("loadingPromise");function d(e,t){return i(i({},e),{},{element:t})}function y(e){var t=e.asset,n=e.message,r=void 0===n?"Error loading asset ".concat(t.source,"."):n;if(t.optional)return console.warn(r),d(t,null);var o=new Error(r);throw o.asset=t,o}function m(e,t,n,r){t.addEventListener("load",(function(){n(d(e,t)),t[f]=!0,delete t[p]})),t.addEventListener("error",(function(){t.parentNode&&t.remove();try{n(y({asset:e}))}catch(e){r(e)}}))}function v(e){return b.apply(this,arguments)}function b(){return b=r((function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.head,n=Array.from(t.querySelectorAll("style"));return Promise.all(e.map((function(e){if(!["stylesheet","inlineStyle"].includes(e.type)||!e.source)return d(e,null);if("stylesheet"===e.type){var r=t.querySelector("link[href='".concat(e.source,"']"));if(r)return r[p]?r[p]:d(e,r)}if("inlineStyle"===e.type){var o=n.find((function(t){return t.innerHTML===e.source}));if(o)return d(e,o)}return function(e,t){if("inlineStyle"===e.type){var n=document.createElement("style");return n.innerHTML=e.source,t.appendChild(n),d(e,n)}var r=document.createElement("link");return r[p]=new Promise((function(n,o){m(e,r,n,o),r.rel="stylesheet",r.href=e.source,t.appendChild(r)})),r[p]}(e,t)})))})),b.apply(this,arguments)}function h(e,t){if("json"===t.type)return e.find((function(e){return e.dataset.src===t.source}));if(!["script","inlineScript","inlineJson"].includes(t.type))return null;var n="script"===t.type?"src":"textContent",r="inlineJson"===t.type?JSON.stringify(t.source):t.source;return e.find((function(e){return e[n]===r}))||null}function S(e){return g.apply(this,arguments)}function g(){return g=r((function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.head,n=Array.from(t.querySelectorAll("script"));return Promise.all(e.map((function(e){if(!["script","inlineScript"].includes(e.type)||!e.source)return d(e,null);var r=e.source,o=Object.assign({},e);if(r===Object(r)&&(r.es13&&l.isES13Supported()?o.source=r.es13:r.es11&&l.isES11Supported()?o.source=r.es11:r.es9&&l.isES9Supported()?o.source=r.es9:o.source=null,!o.source))return y({asset:o,message:"Asset '".concat(o.name,"' is missing ES variant and could not be loaded.")});if(o.test&&l.test(o.test))return d(o,h(n,o));var i=h(n,o);return i&&"script"===o.type?i[p]?i[p]:i[f]?d(o,i):new Promise((function(e,t){return m(o,i,e,t)})):i&&"inlineScript"===o.type?d(o,i):function(e,t){var n=document.createElement("script");return"inlineScript"===e.type?(n.textContent=e.source,t.appendChild(n),d(e,n)):(n[p]=new Promise((function(r,o){n.defer=!0,m(e,n,r,o),n.src=e.source;var i=e.attr;if(i&&Object.keys(i).length)for(var u in i){var s=i[u];"boolean"==typeof s?s?n.setAttribute(u,""):n.removeAttribute(u):n.setAttribute(u,s)}t.appendChild(n)})),n[p])}(o,t)})))})),g.apply(this,arguments)}function O(){return(O=r((function*(e){var t=yield fetch(e);if(!t.ok)throw new Error("Failed to fetch from '".concat(e,"' with status ").concat(t.status," ").concat(t.statusText,"."));return t.text()}))).apply(this,arguments)}function P(e,t){t&&setTimeout((function(){e.parentNode&&e.remove()}),t)}function j(e,t){var n=document.createElement("script");return n.type="application/json","inlineJson"===e.type?(n.textContent=JSON.stringify(e.source),t.appendChild(n),P(n,e.ttl),d(e,n)):(n[p]=new Promise((function(o,i){n.dataset.src=e.source,t.appendChild(n),r((function*(){try{var t=yield function(e){return O.apply(this,arguments)}(e.source);n.textContent=t,delete n[p],P(n,e.ttl),o(d(e,n))}catch(t){n.remove();try{o(y({asset:e,message:"Error loading JSON asset '".concat(e.name,"': ").concat(t.message)}))}catch(e){i(e)}}}))()})),n[p])}function w(e){return E.apply(this,arguments)}function E(){return E=r((function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.head,n=Array.from(t.querySelectorAll('script[type="application/json"]'));return Promise.all(e.map((function(e){if(!["json","inlineJson"].includes(e.type)||!e.source)return d(e,null);var r=h(n,e);return r?r[p]?r[p]:r.textContent?d(e,r):y({asset:e,message:"JSON asset '".concat(e.name,"' is missing textContent and could not be loaded.")}):j(e,t)})))})),E.apply(this,arguments)}function x(){return(x=r((function*(e,t){return function(e){return e.reduce((function(e,t){return t.forEach((function(t,n){e[n]?t.element&&(e[n]=t):e[n]=t})),e}),[])}(yield Promise.all([S(e,t),v(e,t),w(e,t)]))}))).apply(this,arguments)}}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@merkur/integration",
|
|
3
|
-
"version": "0.37.
|
|
3
|
+
"version": "0.37.11",
|
|
4
4
|
"description": "Merkur module for easy integration with other apps.",
|
|
5
5
|
"main": "lib/index",
|
|
6
6
|
"module": "lib/index",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"peerDependencies": {
|
|
55
55
|
"@merkur/core": "*"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "500328fbb5cabc0728bf50ca7a0ff6c3b7dd595c"
|
|
58
58
|
}
|