mol_key 0.0.1330 → 0.0.1332

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/node.test.js CHANGED
@@ -241,80 +241,6 @@ var $;
241
241
  $.$mol_test_complete = $mol_test_complete;
242
242
  })($ || ($ = {}));
243
243
 
244
- ;
245
- "use strict";
246
- var $;
247
- (function ($) {
248
- function $mol_fail_log(error) {
249
- if ($mol_promise_like(error))
250
- return false;
251
- if (!$mol_fail_catch(error))
252
- return false;
253
- console.error(error);
254
- return true;
255
- }
256
- $.$mol_fail_log = $mol_fail_log;
257
- })($ || ($ = {}));
258
-
259
- ;
260
- "use strict";
261
- var $;
262
- (function ($_1) {
263
- $mol_test_mocks.push($ => $.$mol_fail_log = () => false);
264
- })($ || ($ = {}));
265
-
266
- ;
267
- "use strict";
268
- var $node = new Proxy({ require }, {
269
- get(target, name, wrapper) {
270
- if (target[name])
271
- return target[name];
272
- if (name.startsWith('node:'))
273
- return target.require(name);
274
- if (name[0] === '.')
275
- return target.require(name);
276
- const mod = target.require('module');
277
- if (mod.builtinModules.indexOf(name) >= 0)
278
- return target.require(name);
279
- try {
280
- target.require.resolve(name);
281
- }
282
- catch {
283
- const $$ = $;
284
- $$.$mol_exec('.', 'npm', 'install', '--omit=dev', name);
285
- try {
286
- $$.$mol_exec('.', 'npm', 'install', '--omit=dev', '@types/' + name);
287
- }
288
- catch (e) {
289
- if ($$.$mol_fail_catch(e)) {
290
- $$.$mol_fail_log(e);
291
- }
292
- }
293
- }
294
- try {
295
- return target.require(name);
296
- }
297
- catch (error) {
298
- if ($.$mol_fail_catch(error) && error.code === 'ERR_REQUIRE_ESM') {
299
- const module = cache.get(name);
300
- if (module)
301
- return module;
302
- throw import(name).then(module => cache.set(name, module));
303
- }
304
- $.$mol_fail_log(error);
305
- return null;
306
- }
307
- },
308
- set(target, name, value) {
309
- target[name] = value;
310
- return true;
311
- },
312
- });
313
- const cache = new Map();
314
- require = (req => Object.assign(function require(name) {
315
- return $node[name];
316
- }, req))(require);
317
-
318
244
  ;
319
245
  "use strict";
320
246
  var $;
@@ -340,7 +266,7 @@ var $;
340
266
  catch (error) {
341
267
  $.$mol_fail = fail;
342
268
  if (typeof ErrorRight === 'string') {
343
- $mol_assert_equal(error.message, ErrorRight);
269
+ $mol_assert_equal(error.message ?? error, ErrorRight);
344
270
  }
345
271
  else {
346
272
  $mol_assert_equal(error instanceof ErrorRight, true);
@@ -364,7 +290,7 @@ var $;
364
290
  continue;
365
291
  if (!$mol_compare_deep(args[i], args[j]))
366
292
  continue;
367
- $mol_fail(new Error(`args[${i}] = args[${j}] = ${print(args[i])}`));
293
+ return $mol_fail(new Error(`Uniquesess assertion failure`, { cause: { [i]: args[i], [i]: args[i] } }));
368
294
  }
369
295
  }
370
296
  }
@@ -375,29 +301,10 @@ var $;
375
301
  continue;
376
302
  if (args[0] instanceof $mol_dom_context.Element && args[i] instanceof $mol_dom_context.Element && args[0].outerHTML === args[i].outerHTML)
377
303
  continue;
378
- return $mol_fail(new Error(`args[0] ≠ args[${i}]\n${print(args[0])}\n---\n${print(args[i])}`));
304
+ return $mol_fail(new Error(`Equality assertion failure`, { cause: { 0: args[0], [i]: args[i] } }));
379
305
  }
380
306
  }
381
307
  $.$mol_assert_equal = $mol_assert_equal;
382
- const print = (val) => {
383
- if (!val)
384
- return val;
385
- if (typeof val === 'bigint')
386
- return String(val) + 'n';
387
- if (typeof val === 'symbol')
388
- return `Symbol(${val.description})`;
389
- if (typeof val !== 'object')
390
- return val;
391
- if ('outerHTML' in val)
392
- return val.outerHTML;
393
- try {
394
- return JSON.stringify(val, (k, v) => typeof v === 'bigint' ? String(v) : v, '\t');
395
- }
396
- catch (error) {
397
- console.error(error);
398
- return val;
399
- }
400
- };
401
308
  })($ || ($ = {}));
402
309
 
403
310
  ;
@@ -438,6 +345,106 @@ var $;
438
345
  });
439
346
  })($ || ($ = {}));
440
347
 
348
+ ;
349
+ "use strict";
350
+ var $;
351
+ (function ($) {
352
+ function $mol_try(handler) {
353
+ try {
354
+ return handler();
355
+ }
356
+ catch (error) {
357
+ return error;
358
+ }
359
+ }
360
+ $.$mol_try = $mol_try;
361
+ })($ || ($ = {}));
362
+
363
+ ;
364
+ "use strict";
365
+ var $;
366
+ (function ($) {
367
+ $mol_test({
368
+ 'return result without errors'() {
369
+ $mol_assert_equal($mol_try(() => false), false);
370
+ },
371
+ });
372
+ })($ || ($ = {}));
373
+
374
+ ;
375
+ "use strict";
376
+ var $;
377
+ (function ($) {
378
+ function $mol_fail_log(error) {
379
+ if ($mol_promise_like(error))
380
+ return false;
381
+ if (!$mol_fail_catch(error))
382
+ return false;
383
+ $mol_try(() => { $mol_fail_hidden(error); });
384
+ return true;
385
+ }
386
+ $.$mol_fail_log = $mol_fail_log;
387
+ })($ || ($ = {}));
388
+
389
+ ;
390
+ "use strict";
391
+ var $;
392
+ (function ($_1) {
393
+ $mol_test_mocks.push($ => $.$mol_fail_log = () => false);
394
+ })($ || ($ = {}));
395
+
396
+ ;
397
+ "use strict";
398
+ var $node = new Proxy({ require }, {
399
+ get(target, name, wrapper) {
400
+ if (target[name])
401
+ return target[name];
402
+ if (name.startsWith('node:'))
403
+ return target.require(name);
404
+ if (name[0] === '.')
405
+ return target.require(name);
406
+ const mod = target.require('module');
407
+ if (mod.builtinModules.indexOf(name) >= 0)
408
+ return target.require(name);
409
+ try {
410
+ target.require.resolve(name);
411
+ }
412
+ catch {
413
+ const $$ = $;
414
+ $$.$mol_exec('.', 'npm', 'install', '--omit=dev', name);
415
+ try {
416
+ $$.$mol_exec('.', 'npm', 'install', '--omit=dev', '@types/' + name);
417
+ }
418
+ catch (e) {
419
+ if ($$.$mol_fail_catch(e)) {
420
+ $$.$mol_fail_log(e);
421
+ }
422
+ }
423
+ }
424
+ try {
425
+ return target.require(name);
426
+ }
427
+ catch (error) {
428
+ if ($.$mol_fail_catch(error) && error.code === 'ERR_REQUIRE_ESM') {
429
+ const module = cache.get(name);
430
+ if (module)
431
+ return module;
432
+ throw import(name).then(module => cache.set(name, module));
433
+ }
434
+ $.$mol_fail_log(error);
435
+ return null;
436
+ }
437
+ },
438
+ set(target, name, value) {
439
+ target[name] = value;
440
+ return true;
441
+ },
442
+ });
443
+ const cache = new Map();
444
+ require = (req => Object.assign(function require(name) {
445
+ return $node[name];
446
+ }, req))(require);
447
+
441
448
  ;
442
449
  "use strict";
443
450
  var $;
@@ -1533,7 +1540,7 @@ var $;
1533
1540
  get: () => stack_get() + '\n' + [
1534
1541
  this.cause ?? 'no cause',
1535
1542
  ...this.errors.flatMap(e => [
1536
- e.stack,
1543
+ String(e.stack),
1537
1544
  ...e instanceof $mol_error_mix || !e.cause ? [] : [e.cause]
1538
1545
  ])
1539
1546
  ].map(frame_normalize).join('\n')
@@ -1756,6 +1763,17 @@ var $;
1756
1763
  $.$mol_dev_format_register = $mol_dev_format_register;
1757
1764
  $.$mol_dev_format_head = Symbol('$mol_dev_format_head');
1758
1765
  $.$mol_dev_format_body = Symbol('$mol_dev_format_body');
1766
+ function $mol_dev_format_button(label, click) {
1767
+ return $mol_dev_format_auto({
1768
+ [$.$mol_dev_format_head]() {
1769
+ return $mol_dev_format_span({ color: 'cornflowerblue' }, label);
1770
+ },
1771
+ [$.$mol_dev_format_body]() {
1772
+ Promise.resolve().then(click);
1773
+ return $mol_dev_format_span({});
1774
+ }
1775
+ });
1776
+ }
1759
1777
  $mol_dev_format_register({
1760
1778
  header: (val, config = false) => {
1761
1779
  if (config)
@@ -1773,13 +1791,41 @@ var $;
1773
1791
  if (typeof val === 'function') {
1774
1792
  return $mol_dev_format_native(val);
1775
1793
  }
1794
+ if (Error.isError(val)) {
1795
+ return $mol_dev_format_span({}, $mol_dev_format_native(val), ' ', $mol_dev_format_button('throw', () => $mol_fail_hidden(val)));
1796
+ }
1797
+ if (val instanceof Promise) {
1798
+ return $.$mol_dev_format_shade($mol_dev_format_native(val), ' ', val[Symbol.toStringTag] ?? '');
1799
+ }
1776
1800
  if (Symbol.toStringTag in val) {
1777
1801
  return $mol_dev_format_native(val);
1778
1802
  }
1779
1803
  return null;
1780
1804
  },
1781
- hasBody: val => val[$.$mol_dev_format_body],
1782
- body: val => val[$.$mol_dev_format_body](),
1805
+ hasBody: (val, config = false) => {
1806
+ if (config)
1807
+ return false;
1808
+ if (!val)
1809
+ return false;
1810
+ if (val[$.$mol_dev_format_body])
1811
+ return true;
1812
+ return false;
1813
+ },
1814
+ body: (val, config = false) => {
1815
+ if (config)
1816
+ return null;
1817
+ if (!val)
1818
+ return null;
1819
+ if ($.$mol_dev_format_body in val) {
1820
+ try {
1821
+ return val[$.$mol_dev_format_body]();
1822
+ }
1823
+ catch (error) {
1824
+ return $.$mol_dev_format_accent($mol_dev_format_native(val), '💨', $mol_dev_format_native(error), '');
1825
+ }
1826
+ }
1827
+ return null;
1828
+ },
1783
1829
  });
1784
1830
  function $mol_dev_format_native(obj) {
1785
1831
  if (typeof obj === 'undefined')
@@ -1845,6 +1891,69 @@ var $;
1845
1891
  $.$mol_dev_format_indent = $.$mol_dev_format_div.bind(null, {
1846
1892
  'margin-left': '13px'
1847
1893
  });
1894
+ class Stack extends Array {
1895
+ toString() {
1896
+ return this.join('\n');
1897
+ }
1898
+ }
1899
+ class Call extends Object {
1900
+ type;
1901
+ function;
1902
+ method;
1903
+ eval;
1904
+ source;
1905
+ offset;
1906
+ pos;
1907
+ object;
1908
+ flags;
1909
+ [Symbol.toStringTag];
1910
+ constructor(call) {
1911
+ super();
1912
+ this.type = call.getTypeName() ?? '';
1913
+ this.function = call.getFunctionName() ?? '';
1914
+ this.method = call.getMethodName() ?? '';
1915
+ if (this.method === this.function)
1916
+ this.method = '';
1917
+ this.pos = [call.getEnclosingLineNumber() ?? 0, call.getEnclosingColumnNumber() ?? 0];
1918
+ this.eval = call.getEvalOrigin() ?? '';
1919
+ this.source = call.getScriptNameOrSourceURL() ?? '';
1920
+ this.object = call.getThis();
1921
+ this.offset = call.getPosition();
1922
+ const flags = [];
1923
+ if (call.isAsync())
1924
+ flags.push('async');
1925
+ if (call.isConstructor())
1926
+ flags.push('constructor');
1927
+ if (call.isEval())
1928
+ flags.push('eval');
1929
+ if (call.isNative())
1930
+ flags.push('native');
1931
+ if (call.isPromiseAll())
1932
+ flags.push('PromiseAll');
1933
+ if (call.isToplevel())
1934
+ flags.push('top');
1935
+ this.flags = flags;
1936
+ const type = this.type ? this.type + '.' : '';
1937
+ const func = this.function || '<anon>';
1938
+ const method = this.method ? ' [' + this.method + '] ' : '';
1939
+ this[Symbol.toStringTag] = `${type}${func}${method}`;
1940
+ }
1941
+ [Symbol.toPrimitive]() {
1942
+ return this.toString();
1943
+ }
1944
+ toString() {
1945
+ const object = this.object || '';
1946
+ const label = this[Symbol.toStringTag];
1947
+ const source = `${this.source}:${this.pos.join(':')} #${this.offset}`;
1948
+ return `\tat ${object}${label} (${source})`;
1949
+ }
1950
+ [$.$mol_dev_format_head]() {
1951
+ return $.$mol_dev_format_div({}, $mol_dev_format_native(this), $.$mol_dev_format_shade(' '), ...this.object ? [
1952
+ $mol_dev_format_native(this.object),
1953
+ ] : [], ...this.method ? [$.$mol_dev_format_shade(' ', ' [', this.method, ']')] : [], $.$mol_dev_format_shade(' ', this.flags.join(', ')));
1954
+ }
1955
+ }
1956
+ Error.prepareStackTrace ??= (error, stack) => new Stack(...stack.map(call => new Call(call)));
1848
1957
  })($ || ($ = {}));
1849
1958
 
1850
1959
  ;
@@ -3700,7 +3809,7 @@ var $;
3700
3809
  if (left instanceof RegExp)
3701
3810
  return left.source === right.source && left.flags === right.flags;
3702
3811
  if (left instanceof Error)
3703
- return left.message === right.message && left.stack === right.stack;
3812
+ return left.message === right.message && $mol_compare_deep(left.stack, right.stack);
3704
3813
  let left_cache = $.$mol_compare_deep_cache.get(left);
3705
3814
  if (left_cache) {
3706
3815
  const right_cache = left_cache.get(right);