mol_tree2 1.0.1163 → 1.0.1165
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 +136 -27
- 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
|
@@ -1581,6 +1581,32 @@ var $;
|
|
|
1581
1581
|
$.$mol_fail_catch = $mol_fail_catch;
|
|
1582
1582
|
})($ || ($ = {}));
|
|
1583
1583
|
|
|
1584
|
+
;
|
|
1585
|
+
"use strict";
|
|
1586
|
+
var $;
|
|
1587
|
+
(function ($) {
|
|
1588
|
+
function $mol_try(handler) {
|
|
1589
|
+
try {
|
|
1590
|
+
return handler();
|
|
1591
|
+
}
|
|
1592
|
+
catch (error) {
|
|
1593
|
+
return error;
|
|
1594
|
+
}
|
|
1595
|
+
}
|
|
1596
|
+
$.$mol_try = $mol_try;
|
|
1597
|
+
})($ || ($ = {}));
|
|
1598
|
+
|
|
1599
|
+
;
|
|
1600
|
+
"use strict";
|
|
1601
|
+
var $;
|
|
1602
|
+
(function ($) {
|
|
1603
|
+
$mol_test({
|
|
1604
|
+
'return result without errors'() {
|
|
1605
|
+
$mol_assert_equal($mol_try(() => false), false);
|
|
1606
|
+
},
|
|
1607
|
+
});
|
|
1608
|
+
})($ || ($ = {}));
|
|
1609
|
+
|
|
1584
1610
|
;
|
|
1585
1611
|
"use strict";
|
|
1586
1612
|
var $;
|
|
@@ -1590,7 +1616,7 @@ var $;
|
|
|
1590
1616
|
return false;
|
|
1591
1617
|
if (!$mol_fail_catch(error))
|
|
1592
1618
|
return false;
|
|
1593
|
-
|
|
1619
|
+
$mol_try(() => { $mol_fail_hidden(error); });
|
|
1594
1620
|
return true;
|
|
1595
1621
|
}
|
|
1596
1622
|
$.$mol_fail_log = $mol_fail_log;
|
|
@@ -2325,7 +2351,7 @@ var $;
|
|
|
2325
2351
|
if (left instanceof RegExp)
|
|
2326
2352
|
return left.source === right.source && left.flags === right.flags;
|
|
2327
2353
|
if (left instanceof Error)
|
|
2328
|
-
return left.message === right.message && left.stack
|
|
2354
|
+
return left.message === right.message && $mol_compare_deep(left.stack, right.stack);
|
|
2329
2355
|
let left_cache = $.$mol_compare_deep_cache.get(left);
|
|
2330
2356
|
if (left_cache) {
|
|
2331
2357
|
const right_cache = left_cache.get(right);
|
|
@@ -2587,7 +2613,7 @@ var $;
|
|
|
2587
2613
|
catch (error) {
|
|
2588
2614
|
$.$mol_fail = fail;
|
|
2589
2615
|
if (typeof ErrorRight === 'string') {
|
|
2590
|
-
$mol_assert_equal(error.message, ErrorRight);
|
|
2616
|
+
$mol_assert_equal(error.message ?? error, ErrorRight);
|
|
2591
2617
|
}
|
|
2592
2618
|
else {
|
|
2593
2619
|
$mol_assert_equal(error instanceof ErrorRight, true);
|
|
@@ -2611,7 +2637,7 @@ var $;
|
|
|
2611
2637
|
continue;
|
|
2612
2638
|
if (!$mol_compare_deep(args[i], args[j]))
|
|
2613
2639
|
continue;
|
|
2614
|
-
$mol_fail(new Error(`
|
|
2640
|
+
return $mol_fail(new Error(`Uniquesess assertion failure`, { cause: { [i]: args[i], [i]: args[i] } }));
|
|
2615
2641
|
}
|
|
2616
2642
|
}
|
|
2617
2643
|
}
|
|
@@ -2622,29 +2648,10 @@ var $;
|
|
|
2622
2648
|
continue;
|
|
2623
2649
|
if (args[0] instanceof $mol_dom_context.Element && args[i] instanceof $mol_dom_context.Element && args[0].outerHTML === args[i].outerHTML)
|
|
2624
2650
|
continue;
|
|
2625
|
-
return $mol_fail(new Error(`args[0]
|
|
2651
|
+
return $mol_fail(new Error(`Equality assertion failure`, { cause: { 0: args[0], [i]: args[i] } }));
|
|
2626
2652
|
}
|
|
2627
2653
|
}
|
|
2628
2654
|
$.$mol_assert_equal = $mol_assert_equal;
|
|
2629
|
-
const print = (val) => {
|
|
2630
|
-
if (!val)
|
|
2631
|
-
return val;
|
|
2632
|
-
if (typeof val === 'bigint')
|
|
2633
|
-
return String(val) + 'n';
|
|
2634
|
-
if (typeof val === 'symbol')
|
|
2635
|
-
return `Symbol(${val.description})`;
|
|
2636
|
-
if (typeof val !== 'object')
|
|
2637
|
-
return val;
|
|
2638
|
-
if ('outerHTML' in val)
|
|
2639
|
-
return val.outerHTML;
|
|
2640
|
-
try {
|
|
2641
|
-
return JSON.stringify(val, (k, v) => typeof v === 'bigint' ? String(v) : v, '\t');
|
|
2642
|
-
}
|
|
2643
|
-
catch (error) {
|
|
2644
|
-
console.error(error);
|
|
2645
|
-
return val;
|
|
2646
|
-
}
|
|
2647
|
-
};
|
|
2648
2655
|
})($ || ($ = {}));
|
|
2649
2656
|
|
|
2650
2657
|
;
|
|
@@ -2887,7 +2894,7 @@ var $;
|
|
|
2887
2894
|
get: () => stack_get() + '\n' + [
|
|
2888
2895
|
this.cause ?? 'no cause',
|
|
2889
2896
|
...this.errors.flatMap(e => [
|
|
2890
|
-
e.stack,
|
|
2897
|
+
String(e.stack),
|
|
2891
2898
|
...e instanceof $mol_error_mix || !e.cause ? [] : [e.cause]
|
|
2892
2899
|
])
|
|
2893
2900
|
].map(frame_normalize).join('\n')
|
|
@@ -3110,6 +3117,17 @@ var $;
|
|
|
3110
3117
|
$.$mol_dev_format_register = $mol_dev_format_register;
|
|
3111
3118
|
$.$mol_dev_format_head = Symbol('$mol_dev_format_head');
|
|
3112
3119
|
$.$mol_dev_format_body = Symbol('$mol_dev_format_body');
|
|
3120
|
+
function $mol_dev_format_button(label, click) {
|
|
3121
|
+
return $mol_dev_format_auto({
|
|
3122
|
+
[$.$mol_dev_format_head]() {
|
|
3123
|
+
return $mol_dev_format_span({ color: 'cornflowerblue' }, label);
|
|
3124
|
+
},
|
|
3125
|
+
[$.$mol_dev_format_body]() {
|
|
3126
|
+
Promise.resolve().then(click);
|
|
3127
|
+
return $mol_dev_format_span({});
|
|
3128
|
+
}
|
|
3129
|
+
});
|
|
3130
|
+
}
|
|
3113
3131
|
$mol_dev_format_register({
|
|
3114
3132
|
header: (val, config = false) => {
|
|
3115
3133
|
if (config)
|
|
@@ -3127,13 +3145,41 @@ var $;
|
|
|
3127
3145
|
if (typeof val === 'function') {
|
|
3128
3146
|
return $mol_dev_format_native(val);
|
|
3129
3147
|
}
|
|
3148
|
+
if (Error.isError(val)) {
|
|
3149
|
+
return $mol_dev_format_span({}, $mol_dev_format_native(val), ' ', $mol_dev_format_button('throw', () => $mol_fail_hidden(val)));
|
|
3150
|
+
}
|
|
3151
|
+
if (val instanceof Promise) {
|
|
3152
|
+
return $.$mol_dev_format_shade($mol_dev_format_native(val), ' ', val[Symbol.toStringTag] ?? '');
|
|
3153
|
+
}
|
|
3130
3154
|
if (Symbol.toStringTag in val) {
|
|
3131
3155
|
return $mol_dev_format_native(val);
|
|
3132
3156
|
}
|
|
3133
3157
|
return null;
|
|
3134
3158
|
},
|
|
3135
|
-
hasBody: val =>
|
|
3136
|
-
|
|
3159
|
+
hasBody: (val, config = false) => {
|
|
3160
|
+
if (config)
|
|
3161
|
+
return false;
|
|
3162
|
+
if (!val)
|
|
3163
|
+
return false;
|
|
3164
|
+
if (val[$.$mol_dev_format_body])
|
|
3165
|
+
return true;
|
|
3166
|
+
return false;
|
|
3167
|
+
},
|
|
3168
|
+
body: (val, config = false) => {
|
|
3169
|
+
if (config)
|
|
3170
|
+
return null;
|
|
3171
|
+
if (!val)
|
|
3172
|
+
return null;
|
|
3173
|
+
if ($.$mol_dev_format_body in val) {
|
|
3174
|
+
try {
|
|
3175
|
+
return val[$.$mol_dev_format_body]();
|
|
3176
|
+
}
|
|
3177
|
+
catch (error) {
|
|
3178
|
+
return $.$mol_dev_format_accent($mol_dev_format_native(val), '💨', $mol_dev_format_native(error), '');
|
|
3179
|
+
}
|
|
3180
|
+
}
|
|
3181
|
+
return null;
|
|
3182
|
+
},
|
|
3137
3183
|
});
|
|
3138
3184
|
function $mol_dev_format_native(obj) {
|
|
3139
3185
|
if (typeof obj === 'undefined')
|
|
@@ -3199,6 +3245,69 @@ var $;
|
|
|
3199
3245
|
$.$mol_dev_format_indent = $.$mol_dev_format_div.bind(null, {
|
|
3200
3246
|
'margin-left': '13px'
|
|
3201
3247
|
});
|
|
3248
|
+
class Stack extends Array {
|
|
3249
|
+
toString() {
|
|
3250
|
+
return this.join('\n');
|
|
3251
|
+
}
|
|
3252
|
+
}
|
|
3253
|
+
class Call extends Object {
|
|
3254
|
+
type;
|
|
3255
|
+
function;
|
|
3256
|
+
method;
|
|
3257
|
+
eval;
|
|
3258
|
+
source;
|
|
3259
|
+
offset;
|
|
3260
|
+
pos;
|
|
3261
|
+
object;
|
|
3262
|
+
flags;
|
|
3263
|
+
[Symbol.toStringTag];
|
|
3264
|
+
constructor(call) {
|
|
3265
|
+
super();
|
|
3266
|
+
this.type = call.getTypeName() ?? '';
|
|
3267
|
+
this.function = call.getFunctionName() ?? '';
|
|
3268
|
+
this.method = call.getMethodName() ?? '';
|
|
3269
|
+
if (this.method === this.function)
|
|
3270
|
+
this.method = '';
|
|
3271
|
+
this.pos = [call.getEnclosingLineNumber() ?? 0, call.getEnclosingColumnNumber() ?? 0];
|
|
3272
|
+
this.eval = call.getEvalOrigin() ?? '';
|
|
3273
|
+
this.source = call.getScriptNameOrSourceURL() ?? '';
|
|
3274
|
+
this.object = call.getThis();
|
|
3275
|
+
this.offset = call.getPosition();
|
|
3276
|
+
const flags = [];
|
|
3277
|
+
if (call.isAsync())
|
|
3278
|
+
flags.push('async');
|
|
3279
|
+
if (call.isConstructor())
|
|
3280
|
+
flags.push('constructor');
|
|
3281
|
+
if (call.isEval())
|
|
3282
|
+
flags.push('eval');
|
|
3283
|
+
if (call.isNative())
|
|
3284
|
+
flags.push('native');
|
|
3285
|
+
if (call.isPromiseAll())
|
|
3286
|
+
flags.push('PromiseAll');
|
|
3287
|
+
if (call.isToplevel())
|
|
3288
|
+
flags.push('top');
|
|
3289
|
+
this.flags = flags;
|
|
3290
|
+
const type = this.type ? this.type + '.' : '';
|
|
3291
|
+
const func = this.function || '<anon>';
|
|
3292
|
+
const method = this.method ? ' [' + this.method + '] ' : '';
|
|
3293
|
+
this[Symbol.toStringTag] = `${type}${func}${method}`;
|
|
3294
|
+
}
|
|
3295
|
+
[Symbol.toPrimitive]() {
|
|
3296
|
+
return this.toString();
|
|
3297
|
+
}
|
|
3298
|
+
toString() {
|
|
3299
|
+
const object = this.object || '';
|
|
3300
|
+
const label = this[Symbol.toStringTag];
|
|
3301
|
+
const source = `${this.source}:${this.pos.join(':')} #${this.offset}`;
|
|
3302
|
+
return `\tat ${object}${label} (${source})`;
|
|
3303
|
+
}
|
|
3304
|
+
[$.$mol_dev_format_head]() {
|
|
3305
|
+
return $.$mol_dev_format_div({}, $mol_dev_format_native(this), $.$mol_dev_format_shade(' '), ...this.object ? [
|
|
3306
|
+
$mol_dev_format_native(this.object),
|
|
3307
|
+
] : [], ...this.method ? [$.$mol_dev_format_shade(' ', ' [', this.method, ']')] : [], $.$mol_dev_format_shade(' ', this.flags.join(', ')));
|
|
3308
|
+
}
|
|
3309
|
+
}
|
|
3310
|
+
Error.prepareStackTrace ??= (error, stack) => new Stack(...stack.map(call => new Call(call)));
|
|
3202
3311
|
})($ || ($ = {}));
|
|
3203
3312
|
|
|
3204
3313
|
;
|