mol_text_distance 0.0.1262 → 0.0.1264
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
|
@@ -229,6 +229,32 @@ var $;
|
|
|
229
229
|
$.$mol_fail_catch = $mol_fail_catch;
|
|
230
230
|
})($ || ($ = {}));
|
|
231
231
|
|
|
232
|
+
;
|
|
233
|
+
"use strict";
|
|
234
|
+
var $;
|
|
235
|
+
(function ($) {
|
|
236
|
+
function $mol_try(handler) {
|
|
237
|
+
try {
|
|
238
|
+
return handler();
|
|
239
|
+
}
|
|
240
|
+
catch (error) {
|
|
241
|
+
return error;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
$.$mol_try = $mol_try;
|
|
245
|
+
})($ || ($ = {}));
|
|
246
|
+
|
|
247
|
+
;
|
|
248
|
+
"use strict";
|
|
249
|
+
var $;
|
|
250
|
+
(function ($) {
|
|
251
|
+
$mol_test({
|
|
252
|
+
'return result without errors'() {
|
|
253
|
+
$mol_assert_equal($mol_try(() => false), false);
|
|
254
|
+
},
|
|
255
|
+
});
|
|
256
|
+
})($ || ($ = {}));
|
|
257
|
+
|
|
232
258
|
;
|
|
233
259
|
"use strict";
|
|
234
260
|
var $;
|
|
@@ -238,7 +264,7 @@ var $;
|
|
|
238
264
|
return false;
|
|
239
265
|
if (!$mol_fail_catch(error))
|
|
240
266
|
return false;
|
|
241
|
-
|
|
267
|
+
$mol_try(() => { $mol_fail_hidden(error); });
|
|
242
268
|
return true;
|
|
243
269
|
}
|
|
244
270
|
$.$mol_fail_log = $mol_fail_log;
|
|
@@ -376,7 +402,7 @@ var $;
|
|
|
376
402
|
get: () => stack_get() + '\n' + [
|
|
377
403
|
this.cause ?? 'no cause',
|
|
378
404
|
...this.errors.flatMap(e => [
|
|
379
|
-
e.stack,
|
|
405
|
+
String(e.stack),
|
|
380
406
|
...e instanceof $mol_error_mix || !e.cause ? [] : [e.cause]
|
|
381
407
|
])
|
|
382
408
|
].map(frame_normalize).join('\n')
|
|
@@ -745,6 +771,17 @@ var $;
|
|
|
745
771
|
$.$mol_dev_format_register = $mol_dev_format_register;
|
|
746
772
|
$.$mol_dev_format_head = Symbol('$mol_dev_format_head');
|
|
747
773
|
$.$mol_dev_format_body = Symbol('$mol_dev_format_body');
|
|
774
|
+
function $mol_dev_format_button(label, click) {
|
|
775
|
+
return $mol_dev_format_auto({
|
|
776
|
+
[$.$mol_dev_format_head]() {
|
|
777
|
+
return $mol_dev_format_span({ color: 'cornflowerblue' }, label);
|
|
778
|
+
},
|
|
779
|
+
[$.$mol_dev_format_body]() {
|
|
780
|
+
Promise.resolve().then(click);
|
|
781
|
+
return $mol_dev_format_span({});
|
|
782
|
+
}
|
|
783
|
+
});
|
|
784
|
+
}
|
|
748
785
|
$mol_dev_format_register({
|
|
749
786
|
header: (val, config = false) => {
|
|
750
787
|
if (config)
|
|
@@ -762,13 +799,41 @@ var $;
|
|
|
762
799
|
if (typeof val === 'function') {
|
|
763
800
|
return $mol_dev_format_native(val);
|
|
764
801
|
}
|
|
802
|
+
if (Error.isError(val)) {
|
|
803
|
+
return $mol_dev_format_span({}, $mol_dev_format_native(val), ' ', $mol_dev_format_button('throw', () => $mol_fail_hidden(val)));
|
|
804
|
+
}
|
|
805
|
+
if (val instanceof Promise) {
|
|
806
|
+
return $.$mol_dev_format_shade($mol_dev_format_native(val), ' ', val[Symbol.toStringTag] ?? '');
|
|
807
|
+
}
|
|
765
808
|
if (Symbol.toStringTag in val) {
|
|
766
809
|
return $mol_dev_format_native(val);
|
|
767
810
|
}
|
|
768
811
|
return null;
|
|
769
812
|
},
|
|
770
|
-
hasBody: val =>
|
|
771
|
-
|
|
813
|
+
hasBody: (val, config = false) => {
|
|
814
|
+
if (config)
|
|
815
|
+
return false;
|
|
816
|
+
if (!val)
|
|
817
|
+
return false;
|
|
818
|
+
if (val[$.$mol_dev_format_body])
|
|
819
|
+
return true;
|
|
820
|
+
return false;
|
|
821
|
+
},
|
|
822
|
+
body: (val, config = false) => {
|
|
823
|
+
if (config)
|
|
824
|
+
return null;
|
|
825
|
+
if (!val)
|
|
826
|
+
return null;
|
|
827
|
+
if ($.$mol_dev_format_body in val) {
|
|
828
|
+
try {
|
|
829
|
+
return val[$.$mol_dev_format_body]();
|
|
830
|
+
}
|
|
831
|
+
catch (error) {
|
|
832
|
+
return $.$mol_dev_format_accent($mol_dev_format_native(val), '💨', $mol_dev_format_native(error), '');
|
|
833
|
+
}
|
|
834
|
+
}
|
|
835
|
+
return null;
|
|
836
|
+
},
|
|
772
837
|
});
|
|
773
838
|
function $mol_dev_format_native(obj) {
|
|
774
839
|
if (typeof obj === 'undefined')
|
|
@@ -834,6 +899,69 @@ var $;
|
|
|
834
899
|
$.$mol_dev_format_indent = $.$mol_dev_format_div.bind(null, {
|
|
835
900
|
'margin-left': '13px'
|
|
836
901
|
});
|
|
902
|
+
class Stack extends Array {
|
|
903
|
+
toString() {
|
|
904
|
+
return this.join('\n');
|
|
905
|
+
}
|
|
906
|
+
}
|
|
907
|
+
class Call extends Object {
|
|
908
|
+
type;
|
|
909
|
+
function;
|
|
910
|
+
method;
|
|
911
|
+
eval;
|
|
912
|
+
source;
|
|
913
|
+
offset;
|
|
914
|
+
pos;
|
|
915
|
+
object;
|
|
916
|
+
flags;
|
|
917
|
+
[Symbol.toStringTag];
|
|
918
|
+
constructor(call) {
|
|
919
|
+
super();
|
|
920
|
+
this.type = call.getTypeName() ?? '';
|
|
921
|
+
this.function = call.getFunctionName() ?? '';
|
|
922
|
+
this.method = call.getMethodName() ?? '';
|
|
923
|
+
if (this.method === this.function)
|
|
924
|
+
this.method = '';
|
|
925
|
+
this.pos = [call.getEnclosingLineNumber() ?? 0, call.getEnclosingColumnNumber() ?? 0];
|
|
926
|
+
this.eval = call.getEvalOrigin() ?? '';
|
|
927
|
+
this.source = call.getScriptNameOrSourceURL() ?? '';
|
|
928
|
+
this.object = call.getThis();
|
|
929
|
+
this.offset = call.getPosition();
|
|
930
|
+
const flags = [];
|
|
931
|
+
if (call.isAsync())
|
|
932
|
+
flags.push('async');
|
|
933
|
+
if (call.isConstructor())
|
|
934
|
+
flags.push('constructor');
|
|
935
|
+
if (call.isEval())
|
|
936
|
+
flags.push('eval');
|
|
937
|
+
if (call.isNative())
|
|
938
|
+
flags.push('native');
|
|
939
|
+
if (call.isPromiseAll())
|
|
940
|
+
flags.push('PromiseAll');
|
|
941
|
+
if (call.isToplevel())
|
|
942
|
+
flags.push('top');
|
|
943
|
+
this.flags = flags;
|
|
944
|
+
const type = this.type ? this.type + '.' : '';
|
|
945
|
+
const func = this.function || '<anon>';
|
|
946
|
+
const method = this.method ? ' [' + this.method + '] ' : '';
|
|
947
|
+
this[Symbol.toStringTag] = `${type}${func}${method}`;
|
|
948
|
+
}
|
|
949
|
+
[Symbol.toPrimitive]() {
|
|
950
|
+
return this.toString();
|
|
951
|
+
}
|
|
952
|
+
toString() {
|
|
953
|
+
const object = this.object || '';
|
|
954
|
+
const label = this[Symbol.toStringTag];
|
|
955
|
+
const source = `${this.source}:${this.pos.join(':')} #${this.offset}`;
|
|
956
|
+
return `\tat ${object}${label} (${source})`;
|
|
957
|
+
}
|
|
958
|
+
[$.$mol_dev_format_head]() {
|
|
959
|
+
return $.$mol_dev_format_div({}, $mol_dev_format_native(this), $.$mol_dev_format_shade(' '), ...this.object ? [
|
|
960
|
+
$mol_dev_format_native(this.object),
|
|
961
|
+
] : [], ...this.method ? [$.$mol_dev_format_shade(' ', ' [', this.method, ']')] : [], $.$mol_dev_format_shade(' ', this.flags.join(', ')));
|
|
962
|
+
}
|
|
963
|
+
}
|
|
964
|
+
Error.prepareStackTrace ??= (error, stack) => new Stack(...stack.map(call => new Call(call)));
|
|
837
965
|
})($ || ($ = {}));
|
|
838
966
|
|
|
839
967
|
;
|
|
@@ -2798,7 +2926,7 @@ var $;
|
|
|
2798
2926
|
if (left instanceof RegExp)
|
|
2799
2927
|
return left.source === right.source && left.flags === right.flags;
|
|
2800
2928
|
if (left instanceof Error)
|
|
2801
|
-
return left.message === right.message && left.stack
|
|
2929
|
+
return left.message === right.message && $mol_compare_deep(left.stack, right.stack);
|
|
2802
2930
|
let left_cache = $.$mol_compare_deep_cache.get(left);
|
|
2803
2931
|
if (left_cache) {
|
|
2804
2932
|
const right_cache = left_cache.get(right);
|
|
@@ -3060,7 +3188,7 @@ var $;
|
|
|
3060
3188
|
catch (error) {
|
|
3061
3189
|
$.$mol_fail = fail;
|
|
3062
3190
|
if (typeof ErrorRight === 'string') {
|
|
3063
|
-
$mol_assert_equal(error.message, ErrorRight);
|
|
3191
|
+
$mol_assert_equal(error.message ?? error, ErrorRight);
|
|
3064
3192
|
}
|
|
3065
3193
|
else {
|
|
3066
3194
|
$mol_assert_equal(error instanceof ErrorRight, true);
|
|
@@ -3084,7 +3212,7 @@ var $;
|
|
|
3084
3212
|
continue;
|
|
3085
3213
|
if (!$mol_compare_deep(args[i], args[j]))
|
|
3086
3214
|
continue;
|
|
3087
|
-
$mol_fail(new Error(`
|
|
3215
|
+
return $mol_fail(new Error(`Uniquesess assertion failure`, { cause: { [i]: args[i], [i]: args[i] } }));
|
|
3088
3216
|
}
|
|
3089
3217
|
}
|
|
3090
3218
|
}
|
|
@@ -3095,29 +3223,10 @@ var $;
|
|
|
3095
3223
|
continue;
|
|
3096
3224
|
if (args[0] instanceof $mol_dom_context.Element && args[i] instanceof $mol_dom_context.Element && args[0].outerHTML === args[i].outerHTML)
|
|
3097
3225
|
continue;
|
|
3098
|
-
return $mol_fail(new Error(`args[0]
|
|
3226
|
+
return $mol_fail(new Error(`Equality assertion failure`, { cause: { 0: args[0], [i]: args[i] } }));
|
|
3099
3227
|
}
|
|
3100
3228
|
}
|
|
3101
3229
|
$.$mol_assert_equal = $mol_assert_equal;
|
|
3102
|
-
const print = (val) => {
|
|
3103
|
-
if (!val)
|
|
3104
|
-
return val;
|
|
3105
|
-
if (typeof val === 'bigint')
|
|
3106
|
-
return String(val) + 'n';
|
|
3107
|
-
if (typeof val === 'symbol')
|
|
3108
|
-
return `Symbol(${val.description})`;
|
|
3109
|
-
if (typeof val !== 'object')
|
|
3110
|
-
return val;
|
|
3111
|
-
if ('outerHTML' in val)
|
|
3112
|
-
return val.outerHTML;
|
|
3113
|
-
try {
|
|
3114
|
-
return JSON.stringify(val, (k, v) => typeof v === 'bigint' ? String(v) : v, '\t');
|
|
3115
|
-
}
|
|
3116
|
-
catch (error) {
|
|
3117
|
-
console.error(error);
|
|
3118
|
-
return val;
|
|
3119
|
-
}
|
|
3120
|
-
};
|
|
3121
3230
|
})($ || ($ = {}));
|
|
3122
3231
|
|
|
3123
3232
|
;
|