mol_wire_dom 0.0.863 → 0.0.865
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 +41 -33
- package/node.test.js.map +1 -1
- package/package.json +1 -1
- package/web.test.js +41 -33
- package/web.test.js.map +1 -1
package/node.test.js
CHANGED
|
@@ -2462,7 +2462,12 @@ var $;
|
|
|
2462
2462
|
var $;
|
|
2463
2463
|
(function ($) {
|
|
2464
2464
|
function $mol_range2(item = index => index, size = () => Number.POSITIVE_INFINITY) {
|
|
2465
|
-
|
|
2465
|
+
const source = typeof item === 'function' ? new $mol_range2_array() : item;
|
|
2466
|
+
if (typeof item !== 'function') {
|
|
2467
|
+
item = index => source[index];
|
|
2468
|
+
size = () => source.length;
|
|
2469
|
+
}
|
|
2470
|
+
return new Proxy(source, {
|
|
2466
2471
|
get(target, field) {
|
|
2467
2472
|
if (typeof field === 'string') {
|
|
2468
2473
|
if (field === 'length')
|
|
@@ -2475,7 +2480,7 @@ var $;
|
|
|
2475
2480
|
if (index === Math.trunc(index))
|
|
2476
2481
|
return item(index);
|
|
2477
2482
|
}
|
|
2478
|
-
return
|
|
2483
|
+
return $mol_range2_array.prototype[field];
|
|
2479
2484
|
},
|
|
2480
2485
|
set(target, field) {
|
|
2481
2486
|
return $mol_fail(new TypeError(`Lazy range is read only (trying to set field ${JSON.stringify(field)})`));
|
|
@@ -2516,13 +2521,16 @@ var $;
|
|
|
2516
2521
|
return $mol_range2(index => index < this.length ? this[index] : tail[0][index - this.length], () => this.length + tail[0].length);
|
|
2517
2522
|
}
|
|
2518
2523
|
filter(check, context) {
|
|
2519
|
-
const filtered =
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2524
|
+
const filtered = [];
|
|
2525
|
+
let cursor = -1;
|
|
2526
|
+
return $mol_range2(index => {
|
|
2527
|
+
while (cursor < this.length && index >= filtered.length - 1) {
|
|
2528
|
+
const val = this[++cursor];
|
|
2529
|
+
if (check(val, cursor, this))
|
|
2530
|
+
filtered.push(val);
|
|
2531
|
+
}
|
|
2532
|
+
return filtered[index];
|
|
2533
|
+
}, () => cursor < this.length ? Number.POSITIVE_INFINITY : filtered.length);
|
|
2526
2534
|
}
|
|
2527
2535
|
forEach(proceed, context) {
|
|
2528
2536
|
for (let [key, value] of this.entries())
|
|
@@ -2582,7 +2590,7 @@ var $;
|
|
|
2582
2590
|
'lazy calls'() {
|
|
2583
2591
|
let calls = 0;
|
|
2584
2592
|
const list = $mol_range2(index => (++calls, index), () => 10);
|
|
2585
|
-
$
|
|
2593
|
+
$mol_assert_equal(true, list instanceof Array);
|
|
2586
2594
|
$mol_assert_equal(list.length, 10);
|
|
2587
2595
|
$mol_assert_equal(list[-1], undefined);
|
|
2588
2596
|
$mol_assert_equal(list[0], 0);
|
|
@@ -2625,11 +2633,17 @@ var $;
|
|
|
2625
2633
|
$mol_range2(i => i, () => 5).forEach(i => log += i);
|
|
2626
2634
|
$mol_assert_equal(log, '01234');
|
|
2627
2635
|
},
|
|
2636
|
+
'reduce'() {
|
|
2637
|
+
let calls = 0;
|
|
2638
|
+
const list = $mol_range2().slice(1, 6);
|
|
2639
|
+
$mol_assert_equal(list.reduce((s, v) => s + v), 15);
|
|
2640
|
+
$mol_assert_equal(list.reduce((s, v) => s + v, 5), 20);
|
|
2641
|
+
},
|
|
2628
2642
|
'lazy concat'() {
|
|
2629
2643
|
let calls1 = 0;
|
|
2630
2644
|
let calls2 = 0;
|
|
2631
2645
|
const list = $mol_range2(index => (++calls1, index), () => 5).concat([0, 1, 2, 3, 4], $mol_range2(index => (++calls2, index), () => 5));
|
|
2632
|
-
$
|
|
2646
|
+
$mol_assert_equal(true, list instanceof Array);
|
|
2633
2647
|
$mol_assert_equal(list.length, 15);
|
|
2634
2648
|
$mol_assert_equal(list[0], 0);
|
|
2635
2649
|
$mol_assert_equal(list[4], 4);
|
|
@@ -2641,32 +2655,26 @@ var $;
|
|
|
2641
2655
|
$mol_assert_equal(calls1, 2);
|
|
2642
2656
|
$mol_assert_equal(calls2, 2);
|
|
2643
2657
|
},
|
|
2644
|
-
'filter'() {
|
|
2658
|
+
'lazy filter'() {
|
|
2645
2659
|
let calls = 0;
|
|
2646
|
-
const list = $mol_range2(index => (++calls, index), () =>
|
|
2647
|
-
$
|
|
2660
|
+
const list = $mol_range2(index => (++calls, index), () => 15).filter(v => v % 2).slice(0, 3);
|
|
2661
|
+
$mol_assert_equal(true, list instanceof Array);
|
|
2648
2662
|
$mol_assert_equal(list.length, 3);
|
|
2649
2663
|
$mol_assert_equal(list[0], 1);
|
|
2650
2664
|
$mol_assert_equal(list[2], 5);
|
|
2651
2665
|
$mol_assert_equal(list[3], undefined);
|
|
2652
|
-
$mol_assert_equal(calls,
|
|
2666
|
+
$mol_assert_equal(calls, 8);
|
|
2653
2667
|
},
|
|
2654
|
-
'reverse'() {
|
|
2668
|
+
'lazy reverse'() {
|
|
2655
2669
|
let calls = 0;
|
|
2656
2670
|
const list = $mol_range2(index => (++calls, index), () => 10).toReversed().slice(0, 3);
|
|
2657
|
-
$
|
|
2671
|
+
$mol_assert_equal(true, list instanceof Array);
|
|
2658
2672
|
$mol_assert_equal(list.length, 3);
|
|
2659
2673
|
$mol_assert_equal(list[0], 9);
|
|
2660
2674
|
$mol_assert_equal(list[2], 7);
|
|
2661
2675
|
$mol_assert_equal(list[3], undefined);
|
|
2662
2676
|
$mol_assert_equal(calls, 2);
|
|
2663
2677
|
},
|
|
2664
|
-
'reduce'() {
|
|
2665
|
-
let calls = 0;
|
|
2666
|
-
const list = $mol_range2().slice(1, 6);
|
|
2667
|
-
$mol_assert_equal(list.reduce((s, v) => s + v), 15);
|
|
2668
|
-
$mol_assert_equal(list.reduce((s, v) => s + v, 5), 20);
|
|
2669
|
-
},
|
|
2670
2678
|
'lazy map'() {
|
|
2671
2679
|
let calls1 = 0;
|
|
2672
2680
|
let calls2 = 0;
|
|
@@ -2676,7 +2684,7 @@ var $;
|
|
|
2676
2684
|
$mol_assert_equal(source, self);
|
|
2677
2685
|
return index + 10;
|
|
2678
2686
|
}, () => 5);
|
|
2679
|
-
$
|
|
2687
|
+
$mol_assert_equal(true, target instanceof Array);
|
|
2680
2688
|
$mol_assert_equal(target.length, 5);
|
|
2681
2689
|
$mol_assert_equal(target[0], 10);
|
|
2682
2690
|
$mol_assert_equal(target[4], 14);
|
|
@@ -2687,7 +2695,7 @@ var $;
|
|
|
2687
2695
|
'lazy slice'() {
|
|
2688
2696
|
let calls = 0;
|
|
2689
2697
|
const list = $mol_range2(index => (++calls, index), () => 10).slice(3, 7);
|
|
2690
|
-
$
|
|
2698
|
+
$mol_assert_equal(true, list instanceof Array);
|
|
2691
2699
|
$mol_assert_equal(list.length, 4);
|
|
2692
2700
|
$mol_assert_equal(list[0], 3);
|
|
2693
2701
|
$mol_assert_equal(list[3], 6);
|
|
@@ -2696,22 +2704,22 @@ var $;
|
|
|
2696
2704
|
},
|
|
2697
2705
|
'lazy some'() {
|
|
2698
2706
|
let calls = 0;
|
|
2699
|
-
$
|
|
2707
|
+
$mol_assert_equal(true, $mol_range2(index => (++calls, index), () => 5).some(v => v >= 2));
|
|
2700
2708
|
$mol_assert_equal(calls, 3);
|
|
2701
|
-
$
|
|
2702
|
-
$
|
|
2709
|
+
$mol_assert_equal(false, $mol_range2(i => i, () => 0).some(v => true));
|
|
2710
|
+
$mol_assert_equal(true, $mol_range2(i => i).some(v => v > 5));
|
|
2703
2711
|
},
|
|
2704
2712
|
'lazy every'() {
|
|
2705
2713
|
let calls = 0;
|
|
2706
|
-
$
|
|
2714
|
+
$mol_assert_equal(false, $mol_range2(index => (++calls, index), () => 5).every(v => v < 2));
|
|
2707
2715
|
$mol_assert_equal(calls, 3);
|
|
2708
|
-
$
|
|
2709
|
-
$
|
|
2716
|
+
$mol_assert_equal(true, $mol_range2(i => i, () => 0).every(v => false));
|
|
2717
|
+
$mol_assert_equal(false, $mol_range2(i => i).every(v => v < 5));
|
|
2710
2718
|
},
|
|
2711
2719
|
'lazyfy'() {
|
|
2712
2720
|
let calls = 0;
|
|
2713
|
-
const list =
|
|
2714
|
-
$
|
|
2721
|
+
const list = $mol_range2([0, 1, 2, 3, 4, 5]).map(i => (++calls, i + 10)).slice(2);
|
|
2722
|
+
$mol_assert_equal(true, list instanceof Array);
|
|
2715
2723
|
$mol_assert_equal(list.length, 4);
|
|
2716
2724
|
$mol_assert_equal(calls, 0);
|
|
2717
2725
|
$mol_assert_equal(list[0], 12);
|