mol_regexp 0.0.1608 → 0.0.1610
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
|
@@ -486,6 +486,32 @@ var $;
|
|
|
486
486
|
$.$mol_fail_catch = $mol_fail_catch;
|
|
487
487
|
})($ || ($ = {}));
|
|
488
488
|
|
|
489
|
+
;
|
|
490
|
+
"use strict";
|
|
491
|
+
var $;
|
|
492
|
+
(function ($) {
|
|
493
|
+
function $mol_try(handler) {
|
|
494
|
+
try {
|
|
495
|
+
return handler();
|
|
496
|
+
}
|
|
497
|
+
catch (error) {
|
|
498
|
+
return error;
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
$.$mol_try = $mol_try;
|
|
502
|
+
})($ || ($ = {}));
|
|
503
|
+
|
|
504
|
+
;
|
|
505
|
+
"use strict";
|
|
506
|
+
var $;
|
|
507
|
+
(function ($) {
|
|
508
|
+
$mol_test({
|
|
509
|
+
'return result without errors'() {
|
|
510
|
+
$mol_assert_equal($mol_try(() => false), false);
|
|
511
|
+
},
|
|
512
|
+
});
|
|
513
|
+
})($ || ($ = {}));
|
|
514
|
+
|
|
489
515
|
;
|
|
490
516
|
"use strict";
|
|
491
517
|
var $;
|
|
@@ -495,7 +521,7 @@ var $;
|
|
|
495
521
|
return false;
|
|
496
522
|
if (!$mol_fail_catch(error))
|
|
497
523
|
return false;
|
|
498
|
-
|
|
524
|
+
$mol_try(() => { $mol_fail_hidden(error); });
|
|
499
525
|
return true;
|
|
500
526
|
}
|
|
501
527
|
$.$mol_fail_log = $mol_fail_log;
|
|
@@ -633,7 +659,7 @@ var $;
|
|
|
633
659
|
get: () => stack_get() + '\n' + [
|
|
634
660
|
this.cause ?? 'no cause',
|
|
635
661
|
...this.errors.flatMap(e => [
|
|
636
|
-
e.stack,
|
|
662
|
+
String(e.stack),
|
|
637
663
|
...e instanceof $mol_error_mix || !e.cause ? [] : [e.cause]
|
|
638
664
|
])
|
|
639
665
|
].map(frame_normalize).join('\n')
|
|
@@ -987,6 +1013,17 @@ var $;
|
|
|
987
1013
|
$.$mol_dev_format_register = $mol_dev_format_register;
|
|
988
1014
|
$.$mol_dev_format_head = Symbol('$mol_dev_format_head');
|
|
989
1015
|
$.$mol_dev_format_body = Symbol('$mol_dev_format_body');
|
|
1016
|
+
function $mol_dev_format_button(label, click) {
|
|
1017
|
+
return $mol_dev_format_auto({
|
|
1018
|
+
[$.$mol_dev_format_head]() {
|
|
1019
|
+
return $mol_dev_format_span({ color: 'cornflowerblue' }, label);
|
|
1020
|
+
},
|
|
1021
|
+
[$.$mol_dev_format_body]() {
|
|
1022
|
+
Promise.resolve().then(click);
|
|
1023
|
+
return $mol_dev_format_span({});
|
|
1024
|
+
}
|
|
1025
|
+
});
|
|
1026
|
+
}
|
|
990
1027
|
$mol_dev_format_register({
|
|
991
1028
|
header: (val, config = false) => {
|
|
992
1029
|
if (config)
|
|
@@ -1004,13 +1041,41 @@ var $;
|
|
|
1004
1041
|
if (typeof val === 'function') {
|
|
1005
1042
|
return $mol_dev_format_native(val);
|
|
1006
1043
|
}
|
|
1044
|
+
if (Error.isError(val)) {
|
|
1045
|
+
return $mol_dev_format_span({}, $mol_dev_format_native(val), ' ', $mol_dev_format_button('throw', () => $mol_fail_hidden(val)));
|
|
1046
|
+
}
|
|
1047
|
+
if (val instanceof Promise) {
|
|
1048
|
+
return $.$mol_dev_format_shade($mol_dev_format_native(val), ' ', val[Symbol.toStringTag] ?? '');
|
|
1049
|
+
}
|
|
1007
1050
|
if (Symbol.toStringTag in val) {
|
|
1008
1051
|
return $mol_dev_format_native(val);
|
|
1009
1052
|
}
|
|
1010
1053
|
return null;
|
|
1011
1054
|
},
|
|
1012
|
-
hasBody: val =>
|
|
1013
|
-
|
|
1055
|
+
hasBody: (val, config = false) => {
|
|
1056
|
+
if (config)
|
|
1057
|
+
return false;
|
|
1058
|
+
if (!val)
|
|
1059
|
+
return false;
|
|
1060
|
+
if (val[$.$mol_dev_format_body])
|
|
1061
|
+
return true;
|
|
1062
|
+
return false;
|
|
1063
|
+
},
|
|
1064
|
+
body: (val, config = false) => {
|
|
1065
|
+
if (config)
|
|
1066
|
+
return null;
|
|
1067
|
+
if (!val)
|
|
1068
|
+
return null;
|
|
1069
|
+
if ($.$mol_dev_format_body in val) {
|
|
1070
|
+
try {
|
|
1071
|
+
return val[$.$mol_dev_format_body]();
|
|
1072
|
+
}
|
|
1073
|
+
catch (error) {
|
|
1074
|
+
return $.$mol_dev_format_accent($mol_dev_format_native(val), '💨', $mol_dev_format_native(error), '');
|
|
1075
|
+
}
|
|
1076
|
+
}
|
|
1077
|
+
return null;
|
|
1078
|
+
},
|
|
1014
1079
|
});
|
|
1015
1080
|
function $mol_dev_format_native(obj) {
|
|
1016
1081
|
if (typeof obj === 'undefined')
|
|
@@ -1076,6 +1141,69 @@ var $;
|
|
|
1076
1141
|
$.$mol_dev_format_indent = $.$mol_dev_format_div.bind(null, {
|
|
1077
1142
|
'margin-left': '13px'
|
|
1078
1143
|
});
|
|
1144
|
+
class Stack extends Array {
|
|
1145
|
+
toString() {
|
|
1146
|
+
return this.join('\n');
|
|
1147
|
+
}
|
|
1148
|
+
}
|
|
1149
|
+
class Call extends Object {
|
|
1150
|
+
type;
|
|
1151
|
+
function;
|
|
1152
|
+
method;
|
|
1153
|
+
eval;
|
|
1154
|
+
source;
|
|
1155
|
+
offset;
|
|
1156
|
+
pos;
|
|
1157
|
+
object;
|
|
1158
|
+
flags;
|
|
1159
|
+
[Symbol.toStringTag];
|
|
1160
|
+
constructor(call) {
|
|
1161
|
+
super();
|
|
1162
|
+
this.type = call.getTypeName() ?? '';
|
|
1163
|
+
this.function = call.getFunctionName() ?? '';
|
|
1164
|
+
this.method = call.getMethodName() ?? '';
|
|
1165
|
+
if (this.method === this.function)
|
|
1166
|
+
this.method = '';
|
|
1167
|
+
this.pos = [call.getEnclosingLineNumber() ?? 0, call.getEnclosingColumnNumber() ?? 0];
|
|
1168
|
+
this.eval = call.getEvalOrigin() ?? '';
|
|
1169
|
+
this.source = call.getScriptNameOrSourceURL() ?? '';
|
|
1170
|
+
this.object = call.getThis();
|
|
1171
|
+
this.offset = call.getPosition();
|
|
1172
|
+
const flags = [];
|
|
1173
|
+
if (call.isAsync())
|
|
1174
|
+
flags.push('async');
|
|
1175
|
+
if (call.isConstructor())
|
|
1176
|
+
flags.push('constructor');
|
|
1177
|
+
if (call.isEval())
|
|
1178
|
+
flags.push('eval');
|
|
1179
|
+
if (call.isNative())
|
|
1180
|
+
flags.push('native');
|
|
1181
|
+
if (call.isPromiseAll())
|
|
1182
|
+
flags.push('PromiseAll');
|
|
1183
|
+
if (call.isToplevel())
|
|
1184
|
+
flags.push('top');
|
|
1185
|
+
this.flags = flags;
|
|
1186
|
+
const type = this.type ? this.type + '.' : '';
|
|
1187
|
+
const func = this.function || '<anon>';
|
|
1188
|
+
const method = this.method ? ' [' + this.method + '] ' : '';
|
|
1189
|
+
this[Symbol.toStringTag] = `${type}${func}${method}`;
|
|
1190
|
+
}
|
|
1191
|
+
[Symbol.toPrimitive]() {
|
|
1192
|
+
return this.toString();
|
|
1193
|
+
}
|
|
1194
|
+
toString() {
|
|
1195
|
+
const object = this.object || '';
|
|
1196
|
+
const label = this[Symbol.toStringTag];
|
|
1197
|
+
const source = `${this.source}:${this.pos.join(':')} #${this.offset}`;
|
|
1198
|
+
return `\tat ${object}${label} (${source})`;
|
|
1199
|
+
}
|
|
1200
|
+
[$.$mol_dev_format_head]() {
|
|
1201
|
+
return $.$mol_dev_format_div({}, $mol_dev_format_native(this), $.$mol_dev_format_shade(' '), ...this.object ? [
|
|
1202
|
+
$mol_dev_format_native(this.object),
|
|
1203
|
+
] : [], ...this.method ? [$.$mol_dev_format_shade(' ', ' [', this.method, ']')] : [], $.$mol_dev_format_shade(' ', this.flags.join(', ')));
|
|
1204
|
+
}
|
|
1205
|
+
}
|
|
1206
|
+
Error.prepareStackTrace ??= (error, stack) => new Stack(...stack.map(call => new Call(call)));
|
|
1079
1207
|
})($ || ($ = {}));
|
|
1080
1208
|
|
|
1081
1209
|
;
|
|
@@ -3040,7 +3168,7 @@ var $;
|
|
|
3040
3168
|
if (left instanceof RegExp)
|
|
3041
3169
|
return left.source === right.source && left.flags === right.flags;
|
|
3042
3170
|
if (left instanceof Error)
|
|
3043
|
-
return left.message === right.message && left.stack
|
|
3171
|
+
return left.message === right.message && $mol_compare_deep(left.stack, right.stack);
|
|
3044
3172
|
let left_cache = $.$mol_compare_deep_cache.get(left);
|
|
3045
3173
|
if (left_cache) {
|
|
3046
3174
|
const right_cache = left_cache.get(right);
|
|
@@ -3302,7 +3430,7 @@ var $;
|
|
|
3302
3430
|
catch (error) {
|
|
3303
3431
|
$.$mol_fail = fail;
|
|
3304
3432
|
if (typeof ErrorRight === 'string') {
|
|
3305
|
-
$mol_assert_equal(error.message, ErrorRight);
|
|
3433
|
+
$mol_assert_equal(error.message ?? error, ErrorRight);
|
|
3306
3434
|
}
|
|
3307
3435
|
else {
|
|
3308
3436
|
$mol_assert_equal(error instanceof ErrorRight, true);
|
|
@@ -3326,7 +3454,7 @@ var $;
|
|
|
3326
3454
|
continue;
|
|
3327
3455
|
if (!$mol_compare_deep(args[i], args[j]))
|
|
3328
3456
|
continue;
|
|
3329
|
-
$mol_fail(new Error(`
|
|
3457
|
+
return $mol_fail(new Error(`Uniquesess assertion failure`, { cause: { [i]: args[i], [i]: args[i] } }));
|
|
3330
3458
|
}
|
|
3331
3459
|
}
|
|
3332
3460
|
}
|
|
@@ -3337,29 +3465,10 @@ var $;
|
|
|
3337
3465
|
continue;
|
|
3338
3466
|
if (args[0] instanceof $mol_dom_context.Element && args[i] instanceof $mol_dom_context.Element && args[0].outerHTML === args[i].outerHTML)
|
|
3339
3467
|
continue;
|
|
3340
|
-
return $mol_fail(new Error(`args[0]
|
|
3468
|
+
return $mol_fail(new Error(`Equality assertion failure`, { cause: { 0: args[0], [i]: args[i] } }));
|
|
3341
3469
|
}
|
|
3342
3470
|
}
|
|
3343
3471
|
$.$mol_assert_equal = $mol_assert_equal;
|
|
3344
|
-
const print = (val) => {
|
|
3345
|
-
if (!val)
|
|
3346
|
-
return val;
|
|
3347
|
-
if (typeof val === 'bigint')
|
|
3348
|
-
return String(val) + 'n';
|
|
3349
|
-
if (typeof val === 'symbol')
|
|
3350
|
-
return `Symbol(${val.description})`;
|
|
3351
|
-
if (typeof val !== 'object')
|
|
3352
|
-
return val;
|
|
3353
|
-
if ('outerHTML' in val)
|
|
3354
|
-
return val.outerHTML;
|
|
3355
|
-
try {
|
|
3356
|
-
return JSON.stringify(val, (k, v) => typeof v === 'bigint' ? String(v) : v, '\t');
|
|
3357
|
-
}
|
|
3358
|
-
catch (error) {
|
|
3359
|
-
console.error(error);
|
|
3360
|
-
return val;
|
|
3361
|
-
}
|
|
3362
|
-
};
|
|
3363
3472
|
})($ || ($ = {}));
|
|
3364
3473
|
|
|
3365
3474
|
;
|