mol_jsx_lib 0.0.1366 → 0.0.1368
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.d.ts +4 -0
- package/node.d.ts.map +1 -1
- package/node.deps.json +1 -1
- package/node.js +122 -5
- package/node.js.map +1 -1
- package/node.mjs +122 -5
- package/node.test.js +143 -34
- package/node.test.js.map +1 -1
- package/package.json +2 -1
- package/web.d.ts +4 -0
- package/web.d.ts.map +1 -1
- package/web.deps.json +1 -1
- package/web.js +133 -4
- package/web.js.map +1 -1
- package/web.mjs +133 -4
- package/web.test.js +14 -22
- package/web.test.js.map +1 -1
package/web.mjs
CHANGED
|
@@ -571,6 +571,17 @@ var $;
|
|
|
571
571
|
$.$mol_dev_format_register = $mol_dev_format_register;
|
|
572
572
|
$.$mol_dev_format_head = Symbol('$mol_dev_format_head');
|
|
573
573
|
$.$mol_dev_format_body = Symbol('$mol_dev_format_body');
|
|
574
|
+
function $mol_dev_format_button(label, click) {
|
|
575
|
+
return $mol_dev_format_auto({
|
|
576
|
+
[$.$mol_dev_format_head]() {
|
|
577
|
+
return $mol_dev_format_span({ color: 'cornflowerblue' }, label);
|
|
578
|
+
},
|
|
579
|
+
[$.$mol_dev_format_body]() {
|
|
580
|
+
Promise.resolve().then(click);
|
|
581
|
+
return $mol_dev_format_span({});
|
|
582
|
+
}
|
|
583
|
+
});
|
|
584
|
+
}
|
|
574
585
|
$mol_dev_format_register({
|
|
575
586
|
header: (val, config = false) => {
|
|
576
587
|
if (config)
|
|
@@ -588,13 +599,41 @@ var $;
|
|
|
588
599
|
if (typeof val === 'function') {
|
|
589
600
|
return $mol_dev_format_native(val);
|
|
590
601
|
}
|
|
602
|
+
if (Error.isError(val)) {
|
|
603
|
+
return $mol_dev_format_span({}, $mol_dev_format_native(val), ' ', $mol_dev_format_button('throw', () => $mol_fail_hidden(val)));
|
|
604
|
+
}
|
|
605
|
+
if (val instanceof Promise) {
|
|
606
|
+
return $.$mol_dev_format_shade($mol_dev_format_native(val), ' ', val[Symbol.toStringTag] ?? '');
|
|
607
|
+
}
|
|
591
608
|
if (Symbol.toStringTag in val) {
|
|
592
609
|
return $mol_dev_format_native(val);
|
|
593
610
|
}
|
|
594
611
|
return null;
|
|
595
612
|
},
|
|
596
|
-
hasBody: val =>
|
|
597
|
-
|
|
613
|
+
hasBody: (val, config = false) => {
|
|
614
|
+
if (config)
|
|
615
|
+
return false;
|
|
616
|
+
if (!val)
|
|
617
|
+
return false;
|
|
618
|
+
if (val[$.$mol_dev_format_body])
|
|
619
|
+
return true;
|
|
620
|
+
return false;
|
|
621
|
+
},
|
|
622
|
+
body: (val, config = false) => {
|
|
623
|
+
if (config)
|
|
624
|
+
return null;
|
|
625
|
+
if (!val)
|
|
626
|
+
return null;
|
|
627
|
+
if ($.$mol_dev_format_body in val) {
|
|
628
|
+
try {
|
|
629
|
+
return val[$.$mol_dev_format_body]();
|
|
630
|
+
}
|
|
631
|
+
catch (error) {
|
|
632
|
+
return $.$mol_dev_format_accent($mol_dev_format_native(val), '💨', $mol_dev_format_native(error), '');
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
return null;
|
|
636
|
+
},
|
|
598
637
|
});
|
|
599
638
|
function $mol_dev_format_native(obj) {
|
|
600
639
|
if (typeof obj === 'undefined')
|
|
@@ -660,6 +699,69 @@ var $;
|
|
|
660
699
|
$.$mol_dev_format_indent = $.$mol_dev_format_div.bind(null, {
|
|
661
700
|
'margin-left': '13px'
|
|
662
701
|
});
|
|
702
|
+
class Stack extends Array {
|
|
703
|
+
toString() {
|
|
704
|
+
return this.join('\n');
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
class Call extends Object {
|
|
708
|
+
type;
|
|
709
|
+
function;
|
|
710
|
+
method;
|
|
711
|
+
eval;
|
|
712
|
+
source;
|
|
713
|
+
offset;
|
|
714
|
+
pos;
|
|
715
|
+
object;
|
|
716
|
+
flags;
|
|
717
|
+
[Symbol.toStringTag];
|
|
718
|
+
constructor(call) {
|
|
719
|
+
super();
|
|
720
|
+
this.type = call.getTypeName() ?? '';
|
|
721
|
+
this.function = call.getFunctionName() ?? '';
|
|
722
|
+
this.method = call.getMethodName() ?? '';
|
|
723
|
+
if (this.method === this.function)
|
|
724
|
+
this.method = '';
|
|
725
|
+
this.pos = [call.getEnclosingLineNumber() ?? 0, call.getEnclosingColumnNumber() ?? 0];
|
|
726
|
+
this.eval = call.getEvalOrigin() ?? '';
|
|
727
|
+
this.source = call.getScriptNameOrSourceURL() ?? '';
|
|
728
|
+
this.object = call.getThis();
|
|
729
|
+
this.offset = call.getPosition();
|
|
730
|
+
const flags = [];
|
|
731
|
+
if (call.isAsync())
|
|
732
|
+
flags.push('async');
|
|
733
|
+
if (call.isConstructor())
|
|
734
|
+
flags.push('constructor');
|
|
735
|
+
if (call.isEval())
|
|
736
|
+
flags.push('eval');
|
|
737
|
+
if (call.isNative())
|
|
738
|
+
flags.push('native');
|
|
739
|
+
if (call.isPromiseAll())
|
|
740
|
+
flags.push('PromiseAll');
|
|
741
|
+
if (call.isToplevel())
|
|
742
|
+
flags.push('top');
|
|
743
|
+
this.flags = flags;
|
|
744
|
+
const type = this.type ? this.type + '.' : '';
|
|
745
|
+
const func = this.function || '<anon>';
|
|
746
|
+
const method = this.method ? ' [' + this.method + '] ' : '';
|
|
747
|
+
this[Symbol.toStringTag] = `${type}${func}${method}`;
|
|
748
|
+
}
|
|
749
|
+
[Symbol.toPrimitive]() {
|
|
750
|
+
return this.toString();
|
|
751
|
+
}
|
|
752
|
+
toString() {
|
|
753
|
+
const object = this.object || '';
|
|
754
|
+
const label = this[Symbol.toStringTag];
|
|
755
|
+
const source = `${this.source}:${this.pos.join(':')} #${this.offset}`;
|
|
756
|
+
return `\tat ${object}${label} (${source})`;
|
|
757
|
+
}
|
|
758
|
+
[$.$mol_dev_format_head]() {
|
|
759
|
+
return $.$mol_dev_format_div({}, $mol_dev_format_native(this), $.$mol_dev_format_shade(' '), ...this.object ? [
|
|
760
|
+
$mol_dev_format_native(this.object),
|
|
761
|
+
] : [], ...this.method ? [$.$mol_dev_format_shade(' ', ' [', this.method, ']')] : [], $.$mol_dev_format_shade(' ', this.flags.join(', ')));
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
Error.prepareStackTrace ??= (error, stack) => new Stack(...stack.map(call => new Call(call)));
|
|
663
765
|
})($ || ($ = {}));
|
|
664
766
|
|
|
665
767
|
;
|
|
@@ -1227,7 +1329,7 @@ var $;
|
|
|
1227
1329
|
if (left instanceof RegExp)
|
|
1228
1330
|
return left.source === right.source && left.flags === right.flags;
|
|
1229
1331
|
if (left instanceof Error)
|
|
1230
|
-
return left.message === right.message && left.stack
|
|
1332
|
+
return left.message === right.message && $mol_compare_deep(left.stack, right.stack);
|
|
1231
1333
|
let left_cache = $.$mol_compare_deep_cache.get(left);
|
|
1232
1334
|
if (left_cache) {
|
|
1233
1335
|
const right_cache = left_cache.get(right);
|
|
@@ -1513,6 +1615,33 @@ var $;
|
|
|
1513
1615
|
$.$mol_fail_catch = $mol_fail_catch;
|
|
1514
1616
|
})($ || ($ = {}));
|
|
1515
1617
|
|
|
1618
|
+
;
|
|
1619
|
+
"use strict";
|
|
1620
|
+
var $;
|
|
1621
|
+
(function ($) {
|
|
1622
|
+
let error;
|
|
1623
|
+
let result;
|
|
1624
|
+
let handler;
|
|
1625
|
+
function $mol_try(handler2) {
|
|
1626
|
+
handler = handler2;
|
|
1627
|
+
error = undefined;
|
|
1628
|
+
result = undefined;
|
|
1629
|
+
window.dispatchEvent(new Event('$mol_try'));
|
|
1630
|
+
const error2 = error;
|
|
1631
|
+
const result2 = result;
|
|
1632
|
+
error = undefined;
|
|
1633
|
+
result = undefined;
|
|
1634
|
+
return error2 || result2;
|
|
1635
|
+
}
|
|
1636
|
+
$.$mol_try = $mol_try;
|
|
1637
|
+
self.addEventListener('$mol_try', (event) => {
|
|
1638
|
+
result = handler();
|
|
1639
|
+
}, true);
|
|
1640
|
+
self.addEventListener('error', (event) => {
|
|
1641
|
+
error = event.error;
|
|
1642
|
+
}, true);
|
|
1643
|
+
})($ || ($ = {}));
|
|
1644
|
+
|
|
1516
1645
|
;
|
|
1517
1646
|
"use strict";
|
|
1518
1647
|
var $;
|
|
@@ -1522,7 +1651,7 @@ var $;
|
|
|
1522
1651
|
return false;
|
|
1523
1652
|
if (!$mol_fail_catch(error))
|
|
1524
1653
|
return false;
|
|
1525
|
-
|
|
1654
|
+
$mol_try(() => { $mol_fail_hidden(error); });
|
|
1526
1655
|
return true;
|
|
1527
1656
|
}
|
|
1528
1657
|
$.$mol_fail_log = $mol_fail_log;
|
package/web.test.js
CHANGED
|
@@ -132,7 +132,7 @@ var $;
|
|
|
132
132
|
catch (error) {
|
|
133
133
|
$.$mol_fail = fail;
|
|
134
134
|
if (typeof ErrorRight === 'string') {
|
|
135
|
-
$mol_assert_equal(error.message, ErrorRight);
|
|
135
|
+
$mol_assert_equal(error.message ?? error, ErrorRight);
|
|
136
136
|
}
|
|
137
137
|
else {
|
|
138
138
|
$mol_assert_equal(error instanceof ErrorRight, true);
|
|
@@ -156,7 +156,7 @@ var $;
|
|
|
156
156
|
continue;
|
|
157
157
|
if (!$mol_compare_deep(args[i], args[j]))
|
|
158
158
|
continue;
|
|
159
|
-
$mol_fail(new Error(`
|
|
159
|
+
return $mol_fail(new Error(`Uniquesess assertion failure`, { cause: { [i]: args[i], [i]: args[i] } }));
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
162
|
}
|
|
@@ -167,29 +167,10 @@ var $;
|
|
|
167
167
|
continue;
|
|
168
168
|
if (args[0] instanceof $mol_dom_context.Element && args[i] instanceof $mol_dom_context.Element && args[0].outerHTML === args[i].outerHTML)
|
|
169
169
|
continue;
|
|
170
|
-
return $mol_fail(new Error(`args[0]
|
|
170
|
+
return $mol_fail(new Error(`Equality assertion failure`, { cause: { 0: args[0], [i]: args[i] } }));
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
173
|
$.$mol_assert_equal = $mol_assert_equal;
|
|
174
|
-
const print = (val) => {
|
|
175
|
-
if (!val)
|
|
176
|
-
return val;
|
|
177
|
-
if (typeof val === 'bigint')
|
|
178
|
-
return String(val) + 'n';
|
|
179
|
-
if (typeof val === 'symbol')
|
|
180
|
-
return `Symbol(${val.description})`;
|
|
181
|
-
if (typeof val !== 'object')
|
|
182
|
-
return val;
|
|
183
|
-
if ('outerHTML' in val)
|
|
184
|
-
return val.outerHTML;
|
|
185
|
-
try {
|
|
186
|
-
return JSON.stringify(val, (k, v) => typeof v === 'bigint' ? String(v) : v, '\t');
|
|
187
|
-
}
|
|
188
|
-
catch (error) {
|
|
189
|
-
console.error(error);
|
|
190
|
-
return val;
|
|
191
|
-
}
|
|
192
|
-
};
|
|
193
174
|
})($ || ($ = {}));
|
|
194
175
|
|
|
195
176
|
;
|
|
@@ -1164,6 +1145,17 @@ var $;
|
|
|
1164
1145
|
;
|
|
1165
1146
|
"use strict";
|
|
1166
1147
|
|
|
1148
|
+
;
|
|
1149
|
+
"use strict";
|
|
1150
|
+
var $;
|
|
1151
|
+
(function ($) {
|
|
1152
|
+
$mol_test({
|
|
1153
|
+
'return result without errors'() {
|
|
1154
|
+
$mol_assert_equal($mol_try(() => false), false);
|
|
1155
|
+
},
|
|
1156
|
+
});
|
|
1157
|
+
})($ || ($ = {}));
|
|
1158
|
+
|
|
1167
1159
|
;
|
|
1168
1160
|
"use strict";
|
|
1169
1161
|
var $;
|