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 +209 -100
- package/node.test.js.map +1 -1
- package/package.json +1 -1
- package/web.test.js +4 -23
- package/web.test.js.map +1 -1
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(`
|
|
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]
|
|
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 =>
|
|
1782
|
-
|
|
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
|
|
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);
|