@casual-simulation/aux-runtime 3.2.17 → 3.2.18-alpha.8332065024

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.
@@ -25,14 +25,6 @@ const MACROS = [
25
25
  test: /^(?:\🧬)/g,
26
26
  replacement: (val) => '',
27
27
  },
28
- {
29
- test: /(?:[“”])/g,
30
- replacement: (val) => '"',
31
- },
32
- {
33
- test: /(?:[‘’])/g,
34
- replacement: (val) => "'",
35
- },
36
28
  ];
37
29
  /**
38
30
  * Replaces macros in the given text.
@@ -61,14 +53,31 @@ export class Transpiler {
61
53
  this._forceSync = value;
62
54
  }
63
55
  constructor(options) {
64
- var _a, _b, _c;
56
+ var _a, _b, _c, _d, _e, _f;
65
57
  this._cache = new LRUCache({
66
58
  max: 1000,
67
59
  });
68
60
  this._parser = Acorn.Parser.extend(AcornJSX());
61
+ this._parser.prototype.parseReturnStatement = function (node) {
62
+ this.next();
63
+ // In `return` (and `break`/`continue`), the keywords with
64
+ // optional arguments, we eagerly look for a semicolon or the
65
+ // possibility to insert one.
66
+ if (this.eat(Acorn.tokTypes.semi) || this.insertSemicolon()) {
67
+ node.argument = null;
68
+ }
69
+ else {
70
+ node.argument = this.parseExpression();
71
+ this.semicolon();
72
+ }
73
+ return this.finishNode(node, 'ReturnStatement');
74
+ };
69
75
  this._jsxFactory = (_a = options === null || options === void 0 ? void 0 : options.jsxFactory) !== null && _a !== void 0 ? _a : 'h';
70
76
  this._jsxFragment = (_b = options === null || options === void 0 ? void 0 : options.jsxFragment) !== null && _b !== void 0 ? _b : 'Fragment';
71
- this._forceSync = (_c = options === null || options === void 0 ? void 0 : options.forceSync) !== null && _c !== void 0 ? _c : false;
77
+ this._importFactory = (_c = options === null || options === void 0 ? void 0 : options.importFactory) !== null && _c !== void 0 ? _c : 'importModule';
78
+ this._importMetaFactory = (_d = options === null || options === void 0 ? void 0 : options.importMetaFactory) !== null && _d !== void 0 ? _d : 'importMeta';
79
+ this._exportFactory = (_e = options === null || options === void 0 ? void 0 : options.exportFactory) !== null && _e !== void 0 ? _e : 'exports';
80
+ this._forceSync = (_f = options === null || options === void 0 ? void 0 : options.forceSync) !== null && _f !== void 0 ? _f : false;
72
81
  }
73
82
  parse(code) {
74
83
  const macroed = replaceMacros(code);
@@ -108,15 +117,17 @@ export class Transpiler {
108
117
  doc.clientID = 0;
109
118
  const text = doc.getText();
110
119
  text.insert(0, code);
111
- this._replace(node, doc, text);
120
+ let metadata = {
121
+ doc,
122
+ text,
123
+ isModule: false,
124
+ };
125
+ this._replace(node, doc, text, metadata);
112
126
  const finalCode = text.toString();
113
127
  const result = {
114
128
  code: finalCode,
115
129
  original: macroed,
116
- metadata: {
117
- doc,
118
- text,
119
- },
130
+ metadata,
120
131
  };
121
132
  this._cache.set(code, result);
122
133
  return result;
@@ -127,8 +138,9 @@ export class Transpiler {
127
138
  */
128
139
  _parse(code) {
129
140
  const node = this._parser.parse(code, {
130
- ecmaVersion: 11,
141
+ ecmaVersion: 14,
131
142
  locations: true,
143
+ sourceType: 'module',
132
144
  });
133
145
  return node;
134
146
  }
@@ -166,13 +178,33 @@ export class Transpiler {
166
178
  generator: exJsGenerator,
167
179
  });
168
180
  }
169
- _replace(node, doc, text) {
181
+ _replace(node, doc, text, metadata) {
170
182
  if (!node) {
171
183
  return;
172
184
  }
173
185
  traverse(node, {
174
186
  enter: ((n, parent) => {
175
- if (n.type === 'WhileStatement') {
187
+ if (n.type === 'ImportDeclaration') {
188
+ this._replaceImportDeclaration(n, parent, doc, text, metadata);
189
+ }
190
+ else if (n.type === 'ImportExpression') {
191
+ this._replaceImportExpression(n, parent, doc, text, metadata);
192
+ }
193
+ else if (n.type === 'ExportNamedDeclaration') {
194
+ this._replaceExportNamedDeclaration(n, parent, doc, text, metadata);
195
+ }
196
+ else if (n.type === 'ExportDefaultDeclaration') {
197
+ this._replaceExportDefaultDeclaration(n, parent, doc, text, metadata);
198
+ }
199
+ else if (n.type === 'ExportAllDeclaration') {
200
+ this._replaceExportAllDeclaration(n, parent, doc, text, metadata);
201
+ }
202
+ else if (n.type === 'MetaProperty' &&
203
+ n.meta.name === 'import' &&
204
+ n.property.name === 'meta') {
205
+ this._replaceImportMeta(n, parent, doc, text, metadata);
206
+ }
207
+ else if (n.type === 'WhileStatement') {
176
208
  this._replaceWhileStatement(n, doc, text);
177
209
  }
178
210
  else if (n.type === 'DoWhileStatement') {
@@ -188,7 +220,7 @@ export class Transpiler {
188
220
  this._replaceForOfStatement(n, doc, text);
189
221
  }
190
222
  else if (n.type === 'JSXElement') {
191
- this._replaceJSXElement(n, doc, text);
223
+ this._replaceJSXElement(n, doc, text, metadata);
192
224
  }
193
225
  else if (n.type === 'JSXText') {
194
226
  this._replaceJSXText(n, doc, text);
@@ -197,7 +229,7 @@ export class Transpiler {
197
229
  this._replaceJSXExpressionContainer(n, doc, text);
198
230
  }
199
231
  else if (n.type === 'JSXFragment') {
200
- this._replaceJSXFragment(n, doc, text);
232
+ this._replaceJSXFragment(n, doc, text, metadata);
201
233
  }
202
234
  else if (n.type === 'JSXEmptyExpression') {
203
235
  this._replaceJSXEmptyExpression(n, doc, text);
@@ -237,6 +269,233 @@ export class Transpiler {
237
269
  },
238
270
  });
239
271
  }
272
+ _replaceImportDeclaration(node, parent, doc, text, metadata) {
273
+ metadata.isModule = true;
274
+ doc.clientID += 1;
275
+ const version = { '0': getClock(doc, 0) };
276
+ const absoluteStart = createAbsolutePositionFromStateVector(doc, text, version, node.start, undefined, true);
277
+ const statementEnd = createRelativePositionFromStateVector(text, version, node.source.end, 1, true);
278
+ const sourceStart = createRelativePositionFromStateVector(text, version, node.source.start, -1, true);
279
+ const sourceEnd = createRelativePositionFromStateVector(text, version, node.source.end, 1, true);
280
+ let currentIndex = absoluteStart.index;
281
+ let importCall = node.specifiers.length > 0 ? `const ` : '';
282
+ const namespaceImport = node.specifiers.find((s) => s.type === 'ImportNamespaceSpecifier');
283
+ const defaultImport = node.specifiers.find((s) => s.type === 'ImportDefaultSpecifier');
284
+ let hasFactory = false;
285
+ if (namespaceImport) {
286
+ hasFactory = true;
287
+ importCall += `${namespaceImport.local.name} = await ${this._importFactory}(`;
288
+ }
289
+ else {
290
+ let addedBraces = false;
291
+ for (let specifier of node.specifiers) {
292
+ if (specifier.type === 'ImportSpecifier') {
293
+ if (!addedBraces) {
294
+ addedBraces = true;
295
+ importCall += `{ `;
296
+ }
297
+ if (specifier.local === specifier.imported) {
298
+ importCall += `${specifier.local.name}, `;
299
+ }
300
+ else {
301
+ importCall += `${specifier.imported.name}: ${specifier.local.name}, `;
302
+ }
303
+ }
304
+ else if (specifier.type === 'ImportDefaultSpecifier') {
305
+ if (!addedBraces) {
306
+ addedBraces = true;
307
+ importCall += `{ `;
308
+ }
309
+ importCall += `default: ${specifier.local.name}, `;
310
+ }
311
+ }
312
+ if (addedBraces) {
313
+ importCall += `}`;
314
+ }
315
+ if (node.specifiers.length > 0) {
316
+ importCall += ` = `;
317
+ }
318
+ importCall += `await ${this._importFactory}(`;
319
+ }
320
+ text.insert(currentIndex, importCall);
321
+ currentIndex += importCall.length;
322
+ const absoluteSourceEnd = createAbsolutePositionFromRelativePosition(sourceEnd, doc);
323
+ text.insert(absoluteSourceEnd.index, `, ${this._importMetaFactory})`);
324
+ if (namespaceImport && defaultImport) {
325
+ const absoluteEnd = createAbsolutePositionFromRelativePosition(statementEnd, doc);
326
+ let defaultImportSource = `\nconst { default: ${defaultImport.local.name} } = ${namespaceImport.local.name};`;
327
+ text.insert(absoluteEnd.index + 1, defaultImportSource);
328
+ }
329
+ const absoluteSourceStart = createAbsolutePositionFromRelativePosition(sourceStart, doc);
330
+ text.delete(currentIndex, absoluteSourceStart.index - currentIndex);
331
+ }
332
+ _replaceImportExpression(node, parent, doc, text, metadata) {
333
+ metadata.isModule = true;
334
+ doc.clientID += 1;
335
+ const version = { '0': getClock(doc, 0) };
336
+ const absoluteStart = createAbsolutePositionFromStateVector(doc, text, version, node.start, undefined, true);
337
+ const sourceStart = createRelativePositionFromStateVector(text, version, node.source.start, -1, true);
338
+ const sourceEnd = createRelativePositionFromStateVector(text, version, node.source.end, 1, true);
339
+ let currentIndex = absoluteStart.index;
340
+ let importCall = `${this._importFactory}(`;
341
+ text.insert(currentIndex, importCall);
342
+ currentIndex += importCall.length;
343
+ const absoluteSourceEnd = createAbsolutePositionFromRelativePosition(sourceEnd, doc);
344
+ text.insert(absoluteSourceEnd.index, `, ${this._importMetaFactory}`);
345
+ const absoluteSourceStart = createAbsolutePositionFromRelativePosition(sourceStart, doc);
346
+ text.delete(currentIndex, absoluteSourceStart.index - currentIndex);
347
+ }
348
+ _replaceImportMeta(node, parent, doc, text, metadata) {
349
+ metadata.isModule = true;
350
+ doc.clientID += 1;
351
+ const version = { '0': getClock(doc, 0) };
352
+ const absoluteStart = createAbsolutePositionFromStateVector(doc, text, version, node.start, undefined, true);
353
+ const absoluteEnd = createAbsolutePositionFromStateVector(doc, text, version, node.end, 1, true);
354
+ text.insert(absoluteEnd.index, `${this._importMetaFactory}`);
355
+ text.delete(absoluteStart.index, absoluteEnd.index - absoluteStart.index);
356
+ }
357
+ _replaceExportNamedDeclaration(node, parent, doc, text, metadata) {
358
+ if (node.declaration) {
359
+ this._replaceExportVariableDeclaration(node, parent, doc, text, metadata);
360
+ }
361
+ else if (node.source) {
362
+ this._replaceExportFromSourceDeclaration(node, parent, doc, text, metadata);
363
+ }
364
+ else {
365
+ this._replaceExportSpecifiersDeclaration(node, parent, doc, text, metadata);
366
+ }
367
+ }
368
+ _replaceExportVariableDeclaration(node, parent, doc, text, metadata) {
369
+ metadata.isModule = true;
370
+ doc.clientID += 1;
371
+ const version = { '0': getClock(doc, 0) };
372
+ const absoluteStart = createAbsolutePositionFromStateVector(doc, text, version, node.start, undefined, true);
373
+ const declarationStart = createAbsolutePositionFromStateVector(doc, text, version, node.declaration.start, undefined, true);
374
+ const declarationEnd = createRelativePositionFromStateVector(text, version, node.declaration.end, -1, true);
375
+ text.delete(absoluteStart.index, declarationStart.index - absoluteStart.index);
376
+ const absoluteDeclarationEnd = createAbsolutePositionFromRelativePosition(declarationEnd, doc);
377
+ let exportCall = `\nawait ${this._exportFactory}({ `;
378
+ if (node.declaration.type === 'VariableDeclaration') {
379
+ for (let declaration of node.declaration.declarations) {
380
+ exportCall += `${declaration.id.name}, `;
381
+ }
382
+ }
383
+ else {
384
+ exportCall += `${node.declaration.id.name}, `;
385
+ }
386
+ exportCall += `});`;
387
+ text.insert(absoluteDeclarationEnd.index + 1, exportCall);
388
+ }
389
+ _replaceExportSpecifiersDeclaration(node, parent, doc, text, metadata) {
390
+ metadata.isModule = true;
391
+ doc.clientID += 1;
392
+ const version = { '0': getClock(doc, 0) };
393
+ const absoluteStart = createAbsolutePositionFromStateVector(doc, text, version, node.start, undefined, true);
394
+ const relativeEnd = createRelativePositionFromStateVector(text, version, node.end, -1, true);
395
+ if (node.specifiers.length > 0) {
396
+ let exportCall = `await ${this._exportFactory}({ `;
397
+ for (let specifier of node.specifiers) {
398
+ if (specifier.local === specifier.exported) {
399
+ exportCall += `${specifier.local.name}, `;
400
+ }
401
+ else {
402
+ exportCall += `${specifier.exported.name}: ${specifier.local.name}, `;
403
+ }
404
+ }
405
+ exportCall += `});`;
406
+ let currentIndex = absoluteStart.index;
407
+ text.insert(currentIndex, exportCall);
408
+ currentIndex += exportCall.length;
409
+ const absoluteEnd = createAbsolutePositionFromRelativePosition(relativeEnd, doc);
410
+ text.delete(currentIndex, absoluteEnd.index);
411
+ }
412
+ else {
413
+ let exportCall = `await ${this._exportFactory}({});`;
414
+ let currentIndex = absoluteStart.index;
415
+ text.insert(currentIndex, exportCall);
416
+ currentIndex += exportCall.length;
417
+ const absoluteEnd = createAbsolutePositionFromRelativePosition(relativeEnd, doc);
418
+ text.delete(currentIndex, absoluteEnd.index);
419
+ }
420
+ }
421
+ _replaceExportFromSourceDeclaration(node, parent, doc, text, metadata) {
422
+ metadata.isModule = true;
423
+ doc.clientID += 1;
424
+ const version = { '0': getClock(doc, 0) };
425
+ const absoluteStart = createAbsolutePositionFromStateVector(doc, text, version, node.start, undefined, true);
426
+ const relativeSourceStart = createRelativePositionFromStateVector(text, version, node.source.start, -1, true);
427
+ const relativeSourceEnd = createRelativePositionFromStateVector(text, version, node.source.end, -1, true);
428
+ const relativeEnd = createRelativePositionFromStateVector(text, version, node.end, -1, true);
429
+ if (node.specifiers.length > 0) {
430
+ let exportCall = `await ${this._exportFactory}(`;
431
+ let specifiers = ', [';
432
+ for (let specifier of node.specifiers) {
433
+ if (specifier.local === specifier.exported) {
434
+ specifiers += `'${specifier.local.name}', `;
435
+ }
436
+ else {
437
+ specifiers += `['${specifier.local.name}', '${specifier.exported.name}'], `;
438
+ }
439
+ }
440
+ specifiers += ']);';
441
+ let currentIndex = absoluteStart.index;
442
+ text.insert(currentIndex, exportCall);
443
+ currentIndex += exportCall.length;
444
+ const sourceEnd = createAbsolutePositionFromRelativePosition(relativeSourceEnd, doc);
445
+ text.insert(sourceEnd.index, specifiers);
446
+ const sourceStart = createAbsolutePositionFromRelativePosition(relativeSourceStart, doc);
447
+ text.delete(currentIndex, sourceStart.index - currentIndex);
448
+ const absoluteEnd = createAbsolutePositionFromRelativePosition(relativeEnd, doc);
449
+ const finalSourceEnd = createAbsolutePositionFromRelativePosition(relativeSourceEnd, doc);
450
+ text.delete(absoluteEnd.index - 1, absoluteEnd.index - finalSourceEnd.index);
451
+ }
452
+ else {
453
+ let exportCall = `await ${this._exportFactory}({});`;
454
+ let currentIndex = absoluteStart.index;
455
+ text.insert(currentIndex, exportCall);
456
+ currentIndex += exportCall.length;
457
+ const absoluteEnd = createAbsolutePositionFromRelativePosition(relativeEnd, doc);
458
+ text.delete(currentIndex, absoluteEnd.index);
459
+ }
460
+ }
461
+ _replaceExportDefaultDeclaration(node, parent, doc, text, metadata) {
462
+ metadata.isModule = true;
463
+ doc.clientID += 1;
464
+ const version = { '0': getClock(doc, 0) };
465
+ const absoluteStart = createAbsolutePositionFromStateVector(doc, text, version, node.start, undefined, true);
466
+ const declarationStart = createRelativePositionFromStateVector(text, version, node.declaration.start, -1, true);
467
+ const declarationEnd = createRelativePositionFromStateVector(text, version, node.declaration.end, -1, true);
468
+ const relativeEnd = createRelativePositionFromStateVector(text, version, node.end, -1, true);
469
+ let exportCall = `await ${this._exportFactory}({ default: `;
470
+ let currentIndex = absoluteStart.index;
471
+ text.insert(currentIndex, exportCall);
472
+ currentIndex += exportCall.length;
473
+ const absoluteDeclarationStart = createAbsolutePositionFromRelativePosition(declarationStart, doc);
474
+ text.delete(currentIndex, absoluteDeclarationStart.index - currentIndex);
475
+ const absoluteDeclarationEnd = createAbsolutePositionFromRelativePosition(declarationEnd, doc);
476
+ text.insert(absoluteDeclarationEnd.index, ' });');
477
+ const absoulteEnd = createAbsolutePositionFromRelativePosition(relativeEnd, doc);
478
+ text.delete(absoulteEnd.index - 1, 1);
479
+ }
480
+ _replaceExportAllDeclaration(node, parent, doc, text, metadata) {
481
+ metadata.isModule = true;
482
+ doc.clientID += 1;
483
+ const version = { '0': getClock(doc, 0) };
484
+ const absoluteStart = createAbsolutePositionFromStateVector(doc, text, version, node.start, undefined, true);
485
+ const sourceStart = createRelativePositionFromStateVector(text, version, node.source.start, -1, true);
486
+ const sourceEnd = createRelativePositionFromStateVector(text, version, node.source.end, -1, true);
487
+ const relativeEnd = createRelativePositionFromStateVector(text, version, node.end, -1, true);
488
+ let exportCall = `await ${this._exportFactory}(`;
489
+ let currentIndex = absoluteStart.index;
490
+ text.insert(currentIndex, exportCall);
491
+ currentIndex += exportCall.length;
492
+ const absolutesourceStart = createAbsolutePositionFromRelativePosition(sourceStart, doc);
493
+ text.delete(currentIndex, absolutesourceStart.index - currentIndex);
494
+ const absoluteSourceEnd = createAbsolutePositionFromRelativePosition(sourceEnd, doc);
495
+ text.insert(absoluteSourceEnd.index, ');');
496
+ const absoulteEnd = createAbsolutePositionFromRelativePosition(relativeEnd, doc);
497
+ text.delete(absoulteEnd.index - 1, 1);
498
+ }
240
499
  _replaceWhileStatement(node, doc, text) {
241
500
  this._insertEnergyCheckIntoStatement(doc, text, node.body);
242
501
  }
@@ -252,12 +511,12 @@ export class Transpiler {
252
511
  _replaceForOfStatement(node, doc, text) {
253
512
  this._insertEnergyCheckIntoStatement(doc, text, node.body);
254
513
  }
255
- _replaceJSXElement(node, doc, text) {
256
- this._insertJSXFactoryCall(node, node.openingElement, node.closingElement, doc, text);
514
+ _replaceJSXElement(node, doc, text, metadata) {
515
+ this._insertJSXFactoryCall(node, node.openingElement, node.closingElement, doc, text, metadata);
257
516
  this._removeTag(node, node.openingElement, node.closingElement, doc, text);
258
517
  }
259
- _replaceJSXFragment(node, doc, text) {
260
- this._insertJSXFactoryCall(node, node.openingFragment, node.closingFragment, doc, text);
518
+ _replaceJSXFragment(node, doc, text, metadata) {
519
+ this._insertJSXFactoryCall(node, node.openingFragment, node.closingFragment, doc, text, metadata);
261
520
  this._removeTag(node, node.openingFragment, node.closingFragment, doc, text);
262
521
  }
263
522
  _replaceJSXEmptyExpression(node, doc, text) {
@@ -273,7 +532,7 @@ export class Transpiler {
273
532
  text.delete(absoluteValueStartBegin.index, length);
274
533
  text.insert(absoluteValueEndEnd.index, "''");
275
534
  }
276
- _insertJSXFactoryCall(node, openElement, closeElement, doc, text) {
535
+ _insertJSXFactoryCall(node, openElement, closeElement, doc, text, metadata) {
277
536
  doc.clientID += 1;
278
537
  const version = { '0': getClock(doc, 0) };
279
538
  const openingFunctionCall = `${this._jsxFactory}(`;
@@ -319,18 +578,18 @@ export class Transpiler {
319
578
  currentIndex += nodeName.length;
320
579
  }
321
580
  if (openElement.attributes.length > 0) {
322
- this._replaceJSXElementAttributes(node, openElement, openElement.attributes, doc, text);
581
+ this._replaceJSXElementAttributes(node, openElement, openElement.attributes, doc, text, metadata);
323
582
  }
324
583
  else {
325
584
  const props = `null,`;
326
585
  text.insert(currentIndex, props);
327
586
  }
328
- this._replaceJSXElementChildren(node, node.children, doc, text);
587
+ this._replaceJSXElementChildren(node, node.children, doc, text, metadata);
329
588
  const absoluteEnd = createAbsolutePositionFromRelativePosition(end, doc);
330
589
  doc.clientID += 1;
331
590
  text.insert(absoluteEnd.index, ')');
332
591
  }
333
- _replaceJSXElementAttributes(node, openElement, attributes, doc, text) {
592
+ _replaceJSXElementAttributes(node, openElement, attributes, doc, text, metadata) {
334
593
  var _a, _b;
335
594
  // doc.clientID += 1;
336
595
  const version = { '0': getClock(doc, 0) };
@@ -363,10 +622,10 @@ export class Transpiler {
363
622
  text.insert(pos.index, val);
364
623
  index++;
365
624
  if (attr.type === 'JSXSpreadAttribute') {
366
- this._replace(attr.argument, doc, text);
625
+ this._replace(attr.argument, doc, text, metadata);
367
626
  }
368
627
  else {
369
- this._replace(attr.value, doc, text);
628
+ this._replace(attr.value, doc, text, metadata);
370
629
  }
371
630
  }
372
631
  const startAbsolute = createAbsolutePositionFromRelativePosition(start, doc);
@@ -374,11 +633,11 @@ export class Transpiler {
374
633
  const endAbsolute = createAbsolutePositionFromRelativePosition(end, doc);
375
634
  text.insert(endAbsolute.index, '},');
376
635
  }
377
- _replaceJSXElementChildren(node, children, doc, text) {
636
+ _replaceJSXElementChildren(node, children, doc, text, metadata) {
378
637
  const version = { '0': getClock(doc, 0) };
379
638
  for (let child of children) {
380
639
  const pos = createRelativePositionFromStateVector(text, version, child.end, undefined, true);
381
- this._replace(child, doc, text);
640
+ this._replace(child, doc, text, metadata);
382
641
  doc.clientID += 1;
383
642
  const absoluteEnd = createAbsolutePositionFromRelativePosition(pos, doc);
384
643
  text.insert(absoluteEnd.index, ',');
@@ -1 +1 @@
1
- {"version":3,"file":"Transpiler.js","sourceRoot":"","sources":["Transpiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transpiler.js","sourceRoot":"","sources":["Transpiler.ts"],"names":[],"mappings":"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"}
@@ -41,4 +41,9 @@ export interface RuntimePromise<T> extends Promise<T> {
41
41
  }
42
42
  export declare function isRuntimePromise<T>(value: unknown): value is RuntimePromise<T>;
43
43
  export declare function markAsRuntimePromise<T>(promise: Promise<T>): RuntimePromise<T>;
44
+ /**
45
+ * Determines if the given string represents a URL.
46
+ * @param value The value to check.
47
+ */
48
+ export declare function isUrl(value: string): boolean;
44
49
  //# sourceMappingURL=Utils.d.ts.map
package/runtime/Utils.js CHANGED
@@ -250,4 +250,17 @@ export function markAsRuntimePromise(promise) {
250
250
  });
251
251
  return promise;
252
252
  }
253
+ /**
254
+ * Determines if the given string represents a URL.
255
+ * @param value The value to check.
256
+ */
257
+ export function isUrl(value) {
258
+ try {
259
+ new URL(value);
260
+ return true;
261
+ }
262
+ catch (err) {
263
+ return false;
264
+ }
265
+ }
253
266
  //# sourceMappingURL=Utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["Utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["Utils.ts"],"names":[],"mappings":"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"}