@loaders.gl/schema 4.4.0-alpha.9 → 4.4.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/dist/dist.dev.js CHANGED
@@ -147,7 +147,139 @@ var __exports__ = (() => {
147
147
  }
148
148
 
149
149
  // ../../node_modules/@probe.gl/env/dist/index.js
150
- var VERSION = true ? "4.0.7" : "untranspiled source";
150
+ var VERSION = true ? "4.1.1" : "untranspiled source";
151
+
152
+ // ../../node_modules/@probe.gl/log/dist/utils/assert.js
153
+ function assert2(condition, message) {
154
+ if (!condition) {
155
+ throw new Error(message || "Assertion failed");
156
+ }
157
+ }
158
+
159
+ // ../../node_modules/@probe.gl/log/dist/loggers/log-utils.js
160
+ function normalizeLogLevel(logLevel) {
161
+ if (!logLevel) {
162
+ return 0;
163
+ }
164
+ let resolvedLevel;
165
+ switch (typeof logLevel) {
166
+ case "number":
167
+ resolvedLevel = logLevel;
168
+ break;
169
+ case "object":
170
+ resolvedLevel = logLevel.logLevel || logLevel.priority || 0;
171
+ break;
172
+ default:
173
+ return 0;
174
+ }
175
+ assert2(Number.isFinite(resolvedLevel) && resolvedLevel >= 0);
176
+ return resolvedLevel;
177
+ }
178
+ function normalizeArguments(opts) {
179
+ const { logLevel, message } = opts;
180
+ opts.logLevel = normalizeLogLevel(logLevel);
181
+ const args = opts.args ? Array.from(opts.args) : [];
182
+ while (args.length && args.shift() !== message) {
183
+ }
184
+ switch (typeof logLevel) {
185
+ case "string":
186
+ case "function":
187
+ if (message !== void 0) {
188
+ args.unshift(message);
189
+ }
190
+ opts.message = logLevel;
191
+ break;
192
+ case "object":
193
+ Object.assign(opts, logLevel);
194
+ break;
195
+ default:
196
+ }
197
+ if (typeof opts.message === "function") {
198
+ opts.message = opts.message();
199
+ }
200
+ const messageType = typeof opts.message;
201
+ assert2(messageType === "string" || messageType === "object");
202
+ return Object.assign(opts, { args }, opts.opts);
203
+ }
204
+
205
+ // ../../node_modules/@probe.gl/log/dist/loggers/base-log.js
206
+ var noop = () => {
207
+ };
208
+ var BaseLog = class {
209
+ constructor({ level = 0 } = {}) {
210
+ this.userData = {};
211
+ this._onceCache = /* @__PURE__ */ new Set();
212
+ this._level = level;
213
+ }
214
+ set level(newLevel) {
215
+ this.setLevel(newLevel);
216
+ }
217
+ get level() {
218
+ return this.getLevel();
219
+ }
220
+ setLevel(level) {
221
+ this._level = level;
222
+ return this;
223
+ }
224
+ getLevel() {
225
+ return this._level;
226
+ }
227
+ // Unconditional logging
228
+ warn(message, ...args) {
229
+ return this._log("warn", 0, message, args, { once: true });
230
+ }
231
+ error(message, ...args) {
232
+ return this._log("error", 0, message, args);
233
+ }
234
+ // Conditional logging
235
+ log(logLevel, message, ...args) {
236
+ return this._log("log", logLevel, message, args);
237
+ }
238
+ info(logLevel, message, ...args) {
239
+ return this._log("info", logLevel, message, args);
240
+ }
241
+ once(logLevel, message, ...args) {
242
+ return this._log("once", logLevel, message, args, { once: true });
243
+ }
244
+ _log(type, logLevel, message, args, options = {}) {
245
+ const normalized = normalizeArguments({
246
+ logLevel,
247
+ message,
248
+ args: this._buildArgs(logLevel, message, args),
249
+ opts: options
250
+ });
251
+ return this._createLogFunction(type, normalized, options);
252
+ }
253
+ _buildArgs(logLevel, message, args) {
254
+ return [logLevel, message, ...args];
255
+ }
256
+ _createLogFunction(type, normalized, options) {
257
+ if (!this._shouldLog(normalized.logLevel)) {
258
+ return noop;
259
+ }
260
+ const tag = this._getOnceTag(options.tag ?? normalized.tag ?? normalized.message);
261
+ if ((options.once || normalized.once) && tag !== void 0) {
262
+ if (this._onceCache.has(tag)) {
263
+ return noop;
264
+ }
265
+ this._onceCache.add(tag);
266
+ }
267
+ return this._emit(type, normalized);
268
+ }
269
+ _shouldLog(logLevel) {
270
+ return this.getLevel() >= normalizeLogLevel(logLevel);
271
+ }
272
+ _getOnceTag(tag) {
273
+ if (tag === void 0) {
274
+ return void 0;
275
+ }
276
+ try {
277
+ return typeof tag === "string" ? tag : String(tag);
278
+ } catch {
279
+ return void 0;
280
+ }
281
+ }
282
+ };
151
283
 
152
284
  // ../../node_modules/@probe.gl/log/dist/utils/local-storage.js
153
285
  function getStorage(type) {
@@ -266,13 +398,6 @@ var __exports__ = (() => {
266
398
  }
267
399
  }
268
400
 
269
- // ../../node_modules/@probe.gl/log/dist/utils/assert.js
270
- function assert2(condition, message) {
271
- if (!condition) {
272
- throw new Error(message || "Assertion failed");
273
- }
274
- }
275
-
276
401
  // ../../node_modules/@probe.gl/log/dist/utils/hi-res-timestamp.js
277
402
  function getHiResTimestamp() {
278
403
  let timestamp;
@@ -287,7 +412,7 @@ var __exports__ = (() => {
287
412
  return timestamp;
288
413
  }
289
414
 
290
- // ../../node_modules/@probe.gl/log/dist/log.js
415
+ // ../../node_modules/@probe.gl/log/dist/loggers/probe-log.js
291
416
  var originalConsole = {
292
417
  debug: isBrowser2() ? console.debug || console.log : console.log,
293
418
  log: console.log,
@@ -299,12 +424,9 @@ var __exports__ = (() => {
299
424
  enabled: true,
300
425
  level: 0
301
426
  };
302
- function noop() {
303
- }
304
- var cache = {};
305
- var ONCE = { once: true };
306
- var Log = class {
427
+ var ProbeLog = class extends BaseLog {
307
428
  constructor({ id } = { id: "" }) {
429
+ super({ level: 0 });
308
430
  this.VERSION = VERSION;
309
431
  this._startTs = getHiResTimestamp();
310
432
  this._deltaTs = getHiResTimestamp();
@@ -312,22 +434,16 @@ var __exports__ = (() => {
312
434
  this.LOG_THROTTLE_TIMEOUT = 0;
313
435
  this.id = id;
314
436
  this.userData = {};
315
- this._storage = new LocalStorage(`__probe-${this.id}__`, DEFAULT_LOG_CONFIGURATION);
437
+ this._storage = new LocalStorage(`__probe-${this.id}__`, { [this.id]: DEFAULT_LOG_CONFIGURATION });
316
438
  this.timeStamp(`${this.id} started`);
317
439
  autobind(this);
318
440
  Object.seal(this);
319
441
  }
320
- set level(newLevel) {
321
- this.setLevel(newLevel);
322
- }
323
- get level() {
324
- return this.getLevel();
325
- }
326
442
  isEnabled() {
327
- return this._storage.config.enabled;
443
+ return this._getConfiguration().enabled;
328
444
  }
329
445
  getLevel() {
330
- return this._storage.config.level;
446
+ return this._getConfiguration().level;
331
447
  }
332
448
  /** @return milliseconds, with fractions */
333
449
  getTotal() {
@@ -351,20 +467,20 @@ var __exports__ = (() => {
351
467
  }
352
468
  // Configure
353
469
  enable(enabled = true) {
354
- this._storage.setConfiguration({ enabled });
470
+ this._updateConfiguration({ enabled });
355
471
  return this;
356
472
  }
357
473
  setLevel(level) {
358
- this._storage.setConfiguration({ level });
474
+ this._updateConfiguration({ level });
359
475
  return this;
360
476
  }
361
477
  /** return the current status of the setting */
362
478
  get(setting) {
363
- return this._storage.config[setting];
479
+ return this._getConfiguration()[setting];
364
480
  }
365
481
  // update the status of the setting
366
482
  set(setting, value) {
367
- this._storage.setConfiguration({ [setting]: value });
483
+ this._updateConfiguration({ [setting]: value });
368
484
  }
369
485
  /** Logs the current settings as a table */
370
486
  settings() {
@@ -380,11 +496,16 @@ var __exports__ = (() => {
380
496
  throw new Error(message || "Assertion failed");
381
497
  }
382
498
  }
383
- warn(message) {
384
- return this._getLogFunction(0, message, originalConsole.warn, arguments, ONCE);
499
+ warn(message, ...args) {
500
+ return this._log("warn", 0, message, args, {
501
+ method: originalConsole.warn,
502
+ once: true
503
+ });
385
504
  }
386
- error(message) {
387
- return this._getLogFunction(0, message, originalConsole.error, arguments);
505
+ error(message, ...args) {
506
+ return this._log("error", 0, message, args, {
507
+ method: originalConsole.error
508
+ });
388
509
  }
389
510
  /** Print a deprecation warning */
390
511
  deprecated(oldUsage, newUsage) {
@@ -394,50 +515,63 @@ var __exports__ = (() => {
394
515
  removed(oldUsage, newUsage) {
395
516
  return this.error(`\`${oldUsage}\` has been removed. Use \`${newUsage}\` instead`);
396
517
  }
397
- probe(logLevel, message) {
398
- return this._getLogFunction(logLevel, message, originalConsole.log, arguments, {
518
+ probe(logLevel, message, ...args) {
519
+ return this._log("log", logLevel, message, args, {
520
+ method: originalConsole.log,
399
521
  time: true,
400
522
  once: true
401
523
  });
402
524
  }
403
- log(logLevel, message) {
404
- return this._getLogFunction(logLevel, message, originalConsole.debug, arguments);
525
+ log(logLevel, message, ...args) {
526
+ return this._log("log", logLevel, message, args, {
527
+ method: originalConsole.debug
528
+ });
405
529
  }
406
- info(logLevel, message) {
407
- return this._getLogFunction(logLevel, message, console.info, arguments);
530
+ info(logLevel, message, ...args) {
531
+ return this._log("info", logLevel, message, args, { method: console.info });
408
532
  }
409
- once(logLevel, message) {
410
- return this._getLogFunction(logLevel, message, originalConsole.debug || originalConsole.info, arguments, ONCE);
533
+ once(logLevel, message, ...args) {
534
+ return this._log("once", logLevel, message, args, {
535
+ method: originalConsole.debug || originalConsole.info,
536
+ once: true
537
+ });
411
538
  }
412
539
  /** Logs an object as a table */
413
540
  table(logLevel, table, columns) {
414
541
  if (table) {
415
- return this._getLogFunction(logLevel, table, console.table || noop, columns && [columns], {
542
+ return this._log("table", logLevel, table, columns && [columns] || [], {
543
+ method: console.table || noop,
416
544
  tag: getTableHeader(table)
417
545
  });
418
546
  }
419
547
  return noop;
420
548
  }
421
549
  time(logLevel, message) {
422
- return this._getLogFunction(logLevel, message, console.time ? console.time : console.info);
550
+ return this._log("time", logLevel, message, [], {
551
+ method: console.time ? console.time : console.info
552
+ });
423
553
  }
424
554
  timeEnd(logLevel, message) {
425
- return this._getLogFunction(logLevel, message, console.timeEnd ? console.timeEnd : console.info);
555
+ return this._log("time", logLevel, message, [], {
556
+ method: console.timeEnd ? console.timeEnd : console.info
557
+ });
426
558
  }
427
559
  timeStamp(logLevel, message) {
428
- return this._getLogFunction(logLevel, message, console.timeStamp || noop);
560
+ return this._log("time", logLevel, message, [], {
561
+ method: console.timeStamp || noop
562
+ });
429
563
  }
430
564
  group(logLevel, message, opts = { collapsed: false }) {
431
- const options = normalizeArguments({ logLevel, message, opts });
432
- const { collapsed } = opts;
433
- options.method = (collapsed ? console.groupCollapsed : console.group) || console.info;
434
- return this._getLogFunction(options);
565
+ const method = (opts.collapsed ? console.groupCollapsed : console.group) || console.info;
566
+ return this._log("group", logLevel, message, [], { method });
435
567
  }
436
568
  groupCollapsed(logLevel, message, opts = {}) {
437
569
  return this.group(logLevel, message, Object.assign({}, opts, { collapsed: true }));
438
570
  }
439
571
  groupEnd(logLevel) {
440
- return this._getLogFunction(logLevel, "", console.groupEnd || noop);
572
+ return this._log("groupEnd", logLevel, "", [], {
573
+ method: console.groupEnd || noop
574
+ });
441
575
  }
442
576
  // EXPERIMENTAL
443
577
  withGroup(logLevel, message, func) {
@@ -453,78 +587,34 @@ var __exports__ = (() => {
453
587
  console.trace();
454
588
  }
455
589
  }
456
- // PRIVATE METHODS
457
- /** Deduces log level from a variety of arguments */
458
590
  _shouldLog(logLevel) {
459
- return this.isEnabled() && this.getLevel() >= normalizeLogLevel(logLevel);
460
- }
461
- _getLogFunction(logLevel, message, method, args, opts) {
462
- if (this._shouldLog(logLevel)) {
463
- opts = normalizeArguments({ logLevel, message, args, opts });
464
- method = method || opts.method;
465
- assert2(method);
466
- opts.total = this.getTotal();
467
- opts.delta = this.getDelta();
468
- this._deltaTs = getHiResTimestamp();
469
- const tag = opts.tag || opts.message;
470
- if (opts.once && tag) {
471
- if (!cache[tag]) {
472
- cache[tag] = getHiResTimestamp();
473
- } else {
474
- return noop;
475
- }
476
- }
477
- message = decorateMessage(this.id, opts.message, opts);
478
- return method.bind(console, message, ...opts.args);
479
- }
480
- return noop;
481
- }
482
- };
483
- Log.VERSION = VERSION;
484
- function normalizeLogLevel(logLevel) {
485
- if (!logLevel) {
486
- return 0;
487
- }
488
- let resolvedLevel;
489
- switch (typeof logLevel) {
490
- case "number":
491
- resolvedLevel = logLevel;
492
- break;
493
- case "object":
494
- resolvedLevel = logLevel.logLevel || logLevel.priority || 0;
495
- break;
496
- default:
497
- return 0;
591
+ return this.isEnabled() && super._shouldLog(logLevel);
498
592
  }
499
- assert2(Number.isFinite(resolvedLevel) && resolvedLevel >= 0);
500
- return resolvedLevel;
501
- }
502
- function normalizeArguments(opts) {
503
- const { logLevel, message } = opts;
504
- opts.logLevel = normalizeLogLevel(logLevel);
505
- const args = opts.args ? Array.from(opts.args) : [];
506
- while (args.length && args.shift() !== message) {
593
+ _emit(_type, normalized) {
594
+ const method = normalized.method;
595
+ assert2(method);
596
+ normalized.total = this.getTotal();
597
+ normalized.delta = this.getDelta();
598
+ this._deltaTs = getHiResTimestamp();
599
+ const message = decorateMessage(this.id, normalized.message, normalized);
600
+ return method.bind(console, message, ...normalized.args);
507
601
  }
508
- switch (typeof logLevel) {
509
- case "string":
510
- case "function":
511
- if (message !== void 0) {
512
- args.unshift(message);
513
- }
514
- opts.message = logLevel;
515
- break;
516
- case "object":
517
- Object.assign(opts, logLevel);
518
- break;
519
- default:
602
+ _getConfiguration() {
603
+ if (!this._storage.config[this.id]) {
604
+ this._updateConfiguration(DEFAULT_LOG_CONFIGURATION);
605
+ }
606
+ return this._storage.config[this.id];
520
607
  }
521
- if (typeof opts.message === "function") {
522
- opts.message = opts.message();
608
+ _updateConfiguration(configuration) {
609
+ const currentConfiguration = this._storage.config[this.id] || {
610
+ ...DEFAULT_LOG_CONFIGURATION
611
+ };
612
+ this._storage.setConfiguration({
613
+ [this.id]: { ...currentConfiguration, ...configuration }
614
+ });
523
615
  }
524
- const messageType = typeof opts.message;
525
- assert2(messageType === "string" || messageType === "object");
526
- return Object.assign(opts, { args }, opts.opts);
527
- }
616
+ };
617
+ ProbeLog.VERSION = VERSION;
528
618
  function decorateMessage(id, message, opts) {
529
619
  if (typeof message === "string") {
530
620
  const time = opts.time ? leftPad(formatTime(opts.total)) : "";
@@ -546,17 +636,17 @@ var __exports__ = (() => {
546
636
  globalThis.probe = {};
547
637
 
548
638
  // ../../node_modules/@probe.gl/log/dist/index.js
549
- var dist_default = new Log({ id: "@probe.gl/log" });
639
+ var dist_default = new ProbeLog({ id: "@probe.gl/log" });
550
640
 
551
641
  // ../loader-utils/src/lib/log-utils/log.ts
552
642
  var VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
553
643
  var version = VERSION2[0] >= "0" && VERSION2[0] <= "9" ? `v${VERSION2}` : "";
554
644
  function createLog() {
555
- const log2 = new Log({ id: "loaders.gl" });
556
- globalThis.loaders = globalThis.loaders || {};
645
+ const log2 = new ProbeLog({ id: "loaders.gl" });
646
+ globalThis.loaders ||= {};
557
647
  globalThis.loaders.log = log2;
558
648
  globalThis.loaders.version = version;
559
- globalThis.probe = globalThis.probe || {};
649
+ globalThis.probe ||= {};
560
650
  globalThis.probe.loaders = log2;
561
651
  return log2;
562
652
  }
@@ -2321,7 +2411,7 @@ var __exports__ = (() => {
2321
2411
  }
2322
2412
 
2323
2413
  // ../core/src/lib/loader-utils/loggers.ts
2324
- var probeLog = new Log({ id: "loaders.gl" });
2414
+ var probeLog = new ProbeLog({ id: "loaders.gl" });
2325
2415
  var NullLog = class {
2326
2416
  log() {
2327
2417
  return () => {
@@ -2362,8 +2452,8 @@ var __exports__ = (() => {
2362
2452
  // ../core/src/lib/loader-utils/option-defaults.ts
2363
2453
  var DEFAULT_LOADER_OPTIONS = {
2364
2454
  core: {
2365
- baseUri: void 0,
2366
- // baseUri
2455
+ baseUrl: void 0,
2456
+ // baseUrl
2367
2457
  fetch: null,
2368
2458
  mimeType: void 0,
2369
2459
  fallbackMimeType: void 0,
@@ -2395,8 +2485,8 @@ var __exports__ = (() => {
2395
2485
  }
2396
2486
  };
2397
2487
  var REMOVED_LOADER_OPTIONS = {
2398
- // baseUri
2399
- baseUri: "core.baseUri",
2488
+ // deprecated top-level alias
2489
+ baseUri: "core.baseUrl",
2400
2490
  fetch: "core.fetch",
2401
2491
  mimeType: "core.mimeType",
2402
2492
  fallbackMimeType: "core.fallbackMimeType",
@@ -2421,25 +2511,25 @@ var __exports__ = (() => {
2421
2511
  // Older deprecations
2422
2512
  throws: "nothrow",
2423
2513
  dataType: "(no longer used)",
2424
- uri: "baseUri",
2514
+ uri: "core.baseUrl",
2425
2515
  // Warn if fetch options are used on toplevel
2426
- method: "fetch.method",
2427
- headers: "fetch.headers",
2428
- body: "fetch.body",
2429
- mode: "fetch.mode",
2430
- credentials: "fetch.credentials",
2431
- cache: "fetch.cache",
2432
- redirect: "fetch.redirect",
2433
- referrer: "fetch.referrer",
2434
- referrerPolicy: "fetch.referrerPolicy",
2435
- integrity: "fetch.integrity",
2436
- keepalive: "fetch.keepalive",
2437
- signal: "fetch.signal"
2516
+ method: "core.fetch.method",
2517
+ headers: "core.fetch.headers",
2518
+ body: "core.fetch.body",
2519
+ mode: "core.fetch.mode",
2520
+ credentials: "core.fetch.credentials",
2521
+ cache: "core.fetch.cache",
2522
+ redirect: "core.fetch.redirect",
2523
+ referrer: "core.fetch.referrer",
2524
+ referrerPolicy: "core.fetch.referrerPolicy",
2525
+ integrity: "core.fetch.integrity",
2526
+ keepalive: "core.fetch.keepalive",
2527
+ signal: "core.fetch.signal"
2438
2528
  };
2439
2529
 
2440
2530
  // ../core/src/lib/loader-utils/option-utils.ts
2441
2531
  var CORE_LOADER_OPTION_KEYS = [
2442
- "baseUri",
2532
+ "baseUrl",
2443
2533
  "fetch",
2444
2534
  "mimeType",
2445
2535
  "fallbackMimeType",
@@ -2520,14 +2610,18 @@ var __exports__ = (() => {
2520
2610
  const isWorkerUrlOption = key === "workerUrl" && id;
2521
2611
  if (!(key in defaultOptions) && !isBaseUriOption && !isWorkerUrlOption) {
2522
2612
  if (key in deprecatedOptions) {
2523
- probeLog.warn(
2524
- `${loaderName} loader option '${prefix}${key}' no longer supported, use '${deprecatedOptions[key]}'`
2525
- )();
2613
+ if (probeLog.level > 0) {
2614
+ probeLog.warn(
2615
+ `${loaderName} loader option '${prefix}${key}' no longer supported, use '${deprecatedOptions[key]}'`
2616
+ )();
2617
+ }
2526
2618
  } else if (!isSubOptions) {
2527
- const suggestion = findSimilarOption(key, loaders);
2528
- probeLog.warn(
2529
- `${loaderName} loader option '${prefix}${key}' not recognized. ${suggestion}`
2530
- )();
2619
+ if (probeLog.level > 0) {
2620
+ const suggestion = findSimilarOption(key, loaders);
2621
+ probeLog.warn(
2622
+ `${loaderName} loader option '${prefix}${key}' not recognized. ${suggestion}`
2623
+ )();
2624
+ }
2531
2625
  }
2532
2626
  }
2533
2627
  }
@@ -2585,11 +2679,10 @@ var __exports__ = (() => {
2585
2679
  if (!url) {
2586
2680
  return;
2587
2681
  }
2588
- const hasTopLevelBaseUri = options.baseUri !== void 0;
2589
- const hasCoreBaseUri = options.core?.baseUri !== void 0;
2590
- if (!hasTopLevelBaseUri && !hasCoreBaseUri) {
2682
+ const hasCoreBaseUrl = options.core?.baseUrl !== void 0;
2683
+ if (!hasCoreBaseUrl) {
2591
2684
  options.core ||= {};
2592
- options.core.baseUri = url;
2685
+ options.core.baseUrl = path_exports.dirname(stripQueryString(url));
2593
2686
  }
2594
2687
  }
2595
2688
  function cloneLoaderOptions(options) {
@@ -2600,6 +2693,12 @@ var __exports__ = (() => {
2600
2693
  return clonedOptions;
2601
2694
  }
2602
2695
  function moveDeprecatedTopLevelOptionsToCore(options) {
2696
+ if (options.baseUri !== void 0) {
2697
+ options.core ||= {};
2698
+ if (options.core.baseUrl === void 0) {
2699
+ options.core.baseUrl = options.baseUri;
2700
+ }
2701
+ }
2603
2702
  for (const key of CORE_LOADER_OPTION_KEYS) {
2604
2703
  if (options[key] !== void 0) {
2605
2704
  const coreOptions = options.core = options.core || {};
@@ -2693,6 +2792,18 @@ var __exports__ = (() => {
2693
2792
  }
2694
2793
  const normalizedOptions = normalizeLoaderOptions(options || {});
2695
2794
  normalizedOptions.core ||= {};
2795
+ if (data instanceof Response && mayContainText(data)) {
2796
+ const text = await data.clone().text();
2797
+ const textLoader = selectLoaderSync(
2798
+ text,
2799
+ loaders,
2800
+ { ...normalizedOptions, core: { ...normalizedOptions.core, nothrow: true } },
2801
+ context
2802
+ );
2803
+ if (textLoader) {
2804
+ return textLoader;
2805
+ }
2806
+ }
2696
2807
  let loader = selectLoaderSync(
2697
2808
  data,
2698
2809
  loaders,
@@ -2706,11 +2817,21 @@ var __exports__ = (() => {
2706
2817
  data = await data.slice(0, 10).arrayBuffer();
2707
2818
  loader = selectLoaderSync(data, loaders, normalizedOptions, context);
2708
2819
  }
2820
+ if (!loader && data instanceof Response && mayContainText(data)) {
2821
+ const text = await data.clone().text();
2822
+ loader = selectLoaderSync(text, loaders, normalizedOptions, context);
2823
+ }
2709
2824
  if (!loader && !normalizedOptions.core.nothrow) {
2710
2825
  throw new Error(getNoValidLoaderMessage(data));
2711
2826
  }
2712
2827
  return loader;
2713
2828
  }
2829
+ function mayContainText(response) {
2830
+ const mimeType = getResourceMIMEType(response);
2831
+ return Boolean(
2832
+ mimeType && (mimeType.startsWith("text/") || mimeType === "application/json" || mimeType.endsWith("+json"))
2833
+ );
2834
+ }
2714
2835
  function selectLoaderSync(data, loaders = [], options, context) {
2715
2836
  if (!validHTTPResponse(data)) {
2716
2837
  return null;
@@ -3351,6 +3472,18 @@ var __exports__ = (() => {
3351
3472
  if (isBlob(url)) {
3352
3473
  data = await fetch2(url);
3353
3474
  }
3475
+ if (typeof url === "string") {
3476
+ const normalizedOptions = normalizeLoaderOptions(resolvedOptions || {});
3477
+ if (!normalizedOptions.core?.baseUrl) {
3478
+ resolvedOptions = {
3479
+ ...resolvedOptions,
3480
+ core: {
3481
+ ...resolvedOptions?.core,
3482
+ baseUrl: url
3483
+ }
3484
+ };
3485
+ }
3486
+ }
3354
3487
  return Array.isArray(resolvedLoaders) ? await parse(data, resolvedLoaders, resolvedOptions) : await parse(data, resolvedLoaders, resolvedOptions);
3355
3488
  }
3356
3489