@thyn/core 0.0.308 → 0.0.311
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/dist/element.js +86 -221
- package/package.json +1 -1
- package/src/element.ts +94 -245
- package/tsconfig.tsbuildinfo +1 -1
package/dist/element.js
CHANGED
|
@@ -399,161 +399,6 @@ export function list(props, terminal = false) {
|
|
|
399
399
|
});
|
|
400
400
|
return outlet;
|
|
401
401
|
}
|
|
402
|
-
// export function isolatedTerminalList(props) {
|
|
403
|
-
// let parent;
|
|
404
|
-
// let outlet = document.createDocumentFragment();
|
|
405
|
-
// let prevItems;
|
|
406
|
-
// const startBookend = document.createComment("") as any;
|
|
407
|
-
// const endBookend = document.createComment("") as any;
|
|
408
|
-
// startBookend.$frag = outlet;
|
|
409
|
-
// startBookend.$end = endBookend;
|
|
410
|
-
// const render = props.render;
|
|
411
|
-
// staticEffect(() => {
|
|
412
|
-
// parent = startBookend.parentNode;
|
|
413
|
-
// if (!parent) {
|
|
414
|
-
// prevItems = props.items();
|
|
415
|
-
// outlet.append(startBookend, ...prevItems.map(render), endBookend);
|
|
416
|
-
// return;
|
|
417
|
-
// }
|
|
418
|
-
// let nextItems = props.items();
|
|
419
|
-
// let newLength = nextItems.length;
|
|
420
|
-
// let oldLength = prevItems.length;
|
|
421
|
-
// if (!oldLength && newLength) {
|
|
422
|
-
// endBookend.before(...nextItems.map(render))
|
|
423
|
-
// prevItems = nextItems;
|
|
424
|
-
// nextItems = null;
|
|
425
|
-
// return;
|
|
426
|
-
// }
|
|
427
|
-
// const childNodeList = parent.childNodes as NodeListOf<ChildNode>;
|
|
428
|
-
// if (!newLength) {
|
|
429
|
-
// const end = childNodeList.length - 1;
|
|
430
|
-
// for (let i = 1; i < end; i++) {
|
|
431
|
-
// shallowTeardown(childNodeList[i]);
|
|
432
|
-
// }
|
|
433
|
-
// parent.textContent = "";
|
|
434
|
-
// parent.append(startBookend, endBookend);
|
|
435
|
-
// prevItems = nextItems;
|
|
436
|
-
// nextItems = null;
|
|
437
|
-
// return;
|
|
438
|
-
// }
|
|
439
|
-
// let start = nextItems.findIndex((item, index) => prevItems[index] !== item);
|
|
440
|
-
// if (start === oldLength) {
|
|
441
|
-
// endBookend.before(...nextItems.slice(start).map(render));
|
|
442
|
-
// prevItems = nextItems;
|
|
443
|
-
// nextItems = null;
|
|
444
|
-
// return;
|
|
445
|
-
// }
|
|
446
|
-
// let childNodes = Array.from(childNodeList);
|
|
447
|
-
// if (start < 0) {
|
|
448
|
-
// for (let i = nextItems.length; i < oldLength; i++) {
|
|
449
|
-
// const e = childNodes[1 + --oldLength];
|
|
450
|
-
// shallowTeardown(e);
|
|
451
|
-
// e.remove();
|
|
452
|
-
// }
|
|
453
|
-
// prevItems = nextItems;
|
|
454
|
-
// nextItems = null;
|
|
455
|
-
// childNodes = null;
|
|
456
|
-
// return;
|
|
457
|
-
// }
|
|
458
|
-
// if (start >= newLength) {
|
|
459
|
-
// while (start < oldLength) {
|
|
460
|
-
// const e = childNodes[1 + --oldLength];
|
|
461
|
-
// shallowTeardown(e);
|
|
462
|
-
// e.remove();
|
|
463
|
-
// }
|
|
464
|
-
// prevItems = nextItems;
|
|
465
|
-
// nextItems = null;
|
|
466
|
-
// childNodes = null;
|
|
467
|
-
// return;
|
|
468
|
-
// }
|
|
469
|
-
// // suffix
|
|
470
|
-
// for (
|
|
471
|
-
// oldLength--, newLength--;
|
|
472
|
-
// newLength > start &&
|
|
473
|
-
// oldLength >= start &&
|
|
474
|
-
// nextItems[newLength] === prevItems[oldLength];
|
|
475
|
-
// oldLength--, newLength--
|
|
476
|
-
// );
|
|
477
|
-
// const nextKeys = new Set(nextItems);
|
|
478
|
-
// const removalQueue = [];
|
|
479
|
-
// for (let i = start; i <= oldLength; i++) {
|
|
480
|
-
// if (!nextKeys.has(prevItems[i])) {
|
|
481
|
-
// const ch = childNodes[i + 1];
|
|
482
|
-
// shallowTeardown(ch);
|
|
483
|
-
// removalQueue.push(ch);
|
|
484
|
-
// childNodes[i + 1] = null;
|
|
485
|
-
// }
|
|
486
|
-
// }
|
|
487
|
-
// if (removalQueue.length === prevItems.length) {
|
|
488
|
-
// parent.textContent = "";
|
|
489
|
-
// parent.append(startBookend, ...nextItems.map(render), endBookend);
|
|
490
|
-
// prevItems = nextItems;
|
|
491
|
-
// nextItems = null;
|
|
492
|
-
// childNodes = null;
|
|
493
|
-
// return;
|
|
494
|
-
// }
|
|
495
|
-
// for (const e of removalQueue) {
|
|
496
|
-
// e.remove();
|
|
497
|
-
// }
|
|
498
|
-
// if (oldLength - start === removalQueue.length) {
|
|
499
|
-
// prevItems = nextItems;
|
|
500
|
-
// nextItems = null;
|
|
501
|
-
// childNodes = null;
|
|
502
|
-
// return;
|
|
503
|
-
// }
|
|
504
|
-
// let keyMap = new Map();
|
|
505
|
-
// for (let i = start; i <= oldLength; i++) {
|
|
506
|
-
// if (
|
|
507
|
-
// childNodes[i + 1] &&
|
|
508
|
-
// (!nextItems[i] ||
|
|
509
|
-
// prevItems[i] !== nextItems[i])
|
|
510
|
-
// ) {
|
|
511
|
-
// keyMap.set(prevItems[i], {
|
|
512
|
-
// el: childNodes[i + 1],
|
|
513
|
-
// item: prevItems[i],
|
|
514
|
-
// });
|
|
515
|
-
// }
|
|
516
|
-
// }
|
|
517
|
-
// while (start <= newLength) {
|
|
518
|
-
// const newChd = nextItems[start];
|
|
519
|
-
// const oldChd = prevItems[start];
|
|
520
|
-
// if (newChd === oldChd) {
|
|
521
|
-
// start++;
|
|
522
|
-
// continue;
|
|
523
|
-
// }
|
|
524
|
-
// if (oldChd === undefined) {
|
|
525
|
-
// parent.insertBefore(render(newChd), endBookend);
|
|
526
|
-
// start++;
|
|
527
|
-
// continue;
|
|
528
|
-
// }
|
|
529
|
-
// const mappedOld = keyMap.get(newChd);
|
|
530
|
-
// if (mappedOld) {
|
|
531
|
-
// const oldDom = childNodeList[start + 1];
|
|
532
|
-
// const { el, item } = mappedOld;
|
|
533
|
-
// if (oldDom !== el) {
|
|
534
|
-
// const tmp = el.nextSibling;
|
|
535
|
-
// parent.insertBefore(el, oldDom);
|
|
536
|
-
// parent.insertBefore(oldDom, tmp);
|
|
537
|
-
// } else if (item !== newChd) {
|
|
538
|
-
// replaceWith(newChd, el, render);
|
|
539
|
-
// }
|
|
540
|
-
// keyMap.delete(newChd);
|
|
541
|
-
// } else if (oldChd !== newChd) {
|
|
542
|
-
// parent.insertBefore(render(newChd), childNodeList[start + 1]);
|
|
543
|
-
// }
|
|
544
|
-
// start++;
|
|
545
|
-
// }
|
|
546
|
-
// for (const { el } of keyMap.values()) {
|
|
547
|
-
// shallowTeardown(el);
|
|
548
|
-
// el.remove();
|
|
549
|
-
// }
|
|
550
|
-
// keyMap = null;
|
|
551
|
-
// prevItems = nextItems;
|
|
552
|
-
// nextItems = null;
|
|
553
|
-
// childNodes = null;
|
|
554
|
-
// });
|
|
555
|
-
// return outlet;
|
|
556
|
-
// }
|
|
557
402
|
export function isolatedTerminalList(props) {
|
|
558
403
|
let parent;
|
|
559
404
|
let outlet = document.createDocumentFragment();
|
|
@@ -573,7 +418,6 @@ export function isolatedTerminalList(props) {
|
|
|
573
418
|
let nextItems = props.items();
|
|
574
419
|
let newLength = nextItems.length;
|
|
575
420
|
let oldLength = prevItems.length;
|
|
576
|
-
// Fast path: Empty to something
|
|
577
421
|
if (!oldLength && newLength) {
|
|
578
422
|
endBookend.before(...nextItems.map(render));
|
|
579
423
|
prevItems = nextItems;
|
|
@@ -581,7 +425,6 @@ export function isolatedTerminalList(props) {
|
|
|
581
425
|
return;
|
|
582
426
|
}
|
|
583
427
|
const childNodeList = parent.childNodes;
|
|
584
|
-
// Fast path: Something to empty
|
|
585
428
|
if (!newLength) {
|
|
586
429
|
let node = startBookend.nextSibling;
|
|
587
430
|
while (node !== endBookend) {
|
|
@@ -594,96 +437,118 @@ export function isolatedTerminalList(props) {
|
|
|
594
437
|
nextItems = null;
|
|
595
438
|
return;
|
|
596
439
|
}
|
|
597
|
-
|
|
598
|
-
let start = 0;
|
|
599
|
-
// Compare items until they mismatch or we reach the end
|
|
600
|
-
while (start < newLength && start < oldLength && prevItems[start] === nextItems[start]) {
|
|
601
|
-
start++;
|
|
602
|
-
}
|
|
440
|
+
let start = nextItems.findIndex((item, index) => prevItems[index] !== item);
|
|
603
441
|
if (start === oldLength) {
|
|
604
442
|
endBookend.before(...nextItems.slice(start).map(render));
|
|
605
443
|
prevItems = nextItems;
|
|
606
444
|
nextItems = null;
|
|
607
445
|
return;
|
|
608
446
|
}
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
// Fast path: Simple Deletion (Prefix/Suffix matched, just remove middle)
|
|
616
|
-
if (start === newLength) {
|
|
617
|
-
// We need to remove from start to oldLength
|
|
618
|
-
// We can get the node at 'start' and walk forward
|
|
619
|
-
let node = childNodeList[start + 1];
|
|
620
|
-
for (let i = start; i < oldLength; i++) {
|
|
621
|
-
let next = node.nextSibling;
|
|
622
|
-
shallowTeardown(node);
|
|
623
|
-
node.remove();
|
|
624
|
-
node = next;
|
|
447
|
+
let childNodes = Array.from(childNodeList);
|
|
448
|
+
if (start < 0) {
|
|
449
|
+
for (let i = nextItems.length; i < oldLength; i++) {
|
|
450
|
+
const e = childNodes[1 + --oldLength];
|
|
451
|
+
shallowTeardown(e);
|
|
452
|
+
e.remove();
|
|
625
453
|
}
|
|
626
454
|
prevItems = nextItems;
|
|
627
455
|
nextItems = null;
|
|
456
|
+
childNodes = null;
|
|
628
457
|
return;
|
|
629
458
|
}
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
459
|
+
if (start >= newLength) {
|
|
460
|
+
while (start < oldLength) {
|
|
461
|
+
const e = childNodes[1 + --oldLength];
|
|
462
|
+
shallowTeardown(e);
|
|
463
|
+
e.remove();
|
|
464
|
+
}
|
|
465
|
+
prevItems = nextItems;
|
|
466
|
+
nextItems = null;
|
|
467
|
+
childNodes = null;
|
|
468
|
+
return;
|
|
469
|
+
}
|
|
470
|
+
// suffix
|
|
471
|
+
for (oldLength--, newLength--; newLength > start &&
|
|
472
|
+
oldLength >= start &&
|
|
473
|
+
nextItems[newLength] === prevItems[oldLength]; oldLength--, newLength--)
|
|
474
|
+
;
|
|
475
|
+
const nextKeys = new Set(nextItems);
|
|
476
|
+
const removalQueue = [];
|
|
477
|
+
for (let i = start; i <= oldLength; i++) {
|
|
478
|
+
if (!nextKeys.has(prevItems[i])) {
|
|
479
|
+
const ch = childNodes[i + 1];
|
|
480
|
+
shallowTeardown(ch);
|
|
481
|
+
removalQueue.push(ch);
|
|
482
|
+
childNodes[i + 1] = null;
|
|
641
483
|
}
|
|
484
|
+
}
|
|
485
|
+
if (removalQueue.length === prevItems.length) {
|
|
642
486
|
parent.textContent = "";
|
|
643
487
|
parent.append(startBookend, ...nextItems.map(render), endBookend);
|
|
644
488
|
prevItems = nextItems;
|
|
645
489
|
nextItems = null;
|
|
490
|
+
childNodes = null;
|
|
646
491
|
return;
|
|
647
492
|
}
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
493
|
+
for (const e of removalQueue) {
|
|
494
|
+
e.remove();
|
|
495
|
+
}
|
|
496
|
+
if (oldLength - start === removalQueue.length) {
|
|
497
|
+
prevItems = nextItems;
|
|
498
|
+
nextItems = null;
|
|
499
|
+
childNodes = null;
|
|
500
|
+
return;
|
|
501
|
+
}
|
|
502
|
+
let keyMap = new Map();
|
|
503
|
+
for (let i = start; i <= oldLength; i++) {
|
|
504
|
+
if (childNodes[i + 1] &&
|
|
505
|
+
(!nextItems[i] ||
|
|
506
|
+
prevItems[i] !== nextItems[i])) {
|
|
507
|
+
keyMap.set(prevItems[i], {
|
|
508
|
+
el: childNodes[i + 1],
|
|
509
|
+
item: prevItems[i],
|
|
510
|
+
});
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
while (start <= newLength) {
|
|
514
|
+
const newChd = nextItems[start];
|
|
515
|
+
const oldChd = prevItems[start];
|
|
516
|
+
if (newChd === oldChd) {
|
|
517
|
+
start++;
|
|
518
|
+
continue;
|
|
519
|
+
}
|
|
520
|
+
if (oldChd === undefined) {
|
|
521
|
+
parent.insertBefore(render(newChd), endBookend);
|
|
522
|
+
start++;
|
|
523
|
+
continue;
|
|
524
|
+
}
|
|
525
|
+
const mappedOld = keyMap.get(newChd);
|
|
526
|
+
if (mappedOld) {
|
|
527
|
+
const oldDom = childNodeList[start + 1];
|
|
528
|
+
const { el, item } = mappedOld;
|
|
529
|
+
if (oldDom !== el) {
|
|
530
|
+
const tmp = el.nextSibling;
|
|
531
|
+
parent.insertBefore(el, oldDom);
|
|
532
|
+
parent.insertBefore(oldDom, tmp);
|
|
659
533
|
}
|
|
660
|
-
else {
|
|
661
|
-
|
|
662
|
-
// 2. Move old node to current spot (Standard)
|
|
663
|
-
parent.insertBefore(oldNode, cursor);
|
|
664
|
-
// 3. Move the cursor node to the empty spot (Swap)
|
|
665
|
-
parent.insertBefore(cursor, swapTarget);
|
|
666
|
-
// 4. Update the loop cursor
|
|
667
|
-
// Since we swapped, the node sitting at the NEXT index is likely
|
|
668
|
-
// the one that was originally after 'cursor'.
|
|
669
|
-
cursor = oldNode.nextSibling;
|
|
534
|
+
else if (item !== newChd) {
|
|
535
|
+
replaceWith(newChd, el, render);
|
|
670
536
|
}
|
|
537
|
+
keyMap.delete(newChd);
|
|
671
538
|
}
|
|
672
|
-
else {
|
|
673
|
-
|
|
674
|
-
const newNode = render(newItem);
|
|
675
|
-
parent.insertBefore(newNode, cursor);
|
|
676
|
-
// Similarly, do not advance cursor (it gets pushed to the right).
|
|
539
|
+
else if (oldChd !== newChd) {
|
|
540
|
+
parent.insertBefore(render(newChd), childNodeList[start + 1]);
|
|
677
541
|
}
|
|
542
|
+
start++;
|
|
678
543
|
}
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
shallowTeardown(unusedNode);
|
|
683
|
-
unusedNode.remove();
|
|
544
|
+
for (const { el } of keyMap.values()) {
|
|
545
|
+
shallowTeardown(el);
|
|
546
|
+
el.remove();
|
|
684
547
|
}
|
|
548
|
+
keyMap = null;
|
|
685
549
|
prevItems = nextItems;
|
|
686
550
|
nextItems = null;
|
|
551
|
+
childNodes = null;
|
|
687
552
|
});
|
|
688
553
|
return outlet;
|
|
689
554
|
}
|
package/package.json
CHANGED
package/src/element.ts
CHANGED
|
@@ -424,168 +424,6 @@ export function list(props, terminal = false) {
|
|
|
424
424
|
return outlet;
|
|
425
425
|
}
|
|
426
426
|
|
|
427
|
-
// export function isolatedTerminalList(props) {
|
|
428
|
-
// let parent;
|
|
429
|
-
// let outlet = document.createDocumentFragment();
|
|
430
|
-
// let prevItems;
|
|
431
|
-
// const startBookend = document.createComment("") as any;
|
|
432
|
-
// const endBookend = document.createComment("") as any;
|
|
433
|
-
// startBookend.$frag = outlet;
|
|
434
|
-
// startBookend.$end = endBookend;
|
|
435
|
-
// const render = props.render;
|
|
436
|
-
|
|
437
|
-
// staticEffect(() => {
|
|
438
|
-
// parent = startBookend.parentNode;
|
|
439
|
-
// if (!parent) {
|
|
440
|
-
// prevItems = props.items();
|
|
441
|
-
// outlet.append(startBookend, ...prevItems.map(render), endBookend);
|
|
442
|
-
// return;
|
|
443
|
-
// }
|
|
444
|
-
// let nextItems = props.items();
|
|
445
|
-
// let newLength = nextItems.length;
|
|
446
|
-
// let oldLength = prevItems.length;
|
|
447
|
-
// if (!oldLength && newLength) {
|
|
448
|
-
// endBookend.before(...nextItems.map(render))
|
|
449
|
-
// prevItems = nextItems;
|
|
450
|
-
// nextItems = null;
|
|
451
|
-
// return;
|
|
452
|
-
// }
|
|
453
|
-
// const childNodeList = parent.childNodes as NodeListOf<ChildNode>;
|
|
454
|
-
// if (!newLength) {
|
|
455
|
-
// const end = childNodeList.length - 1;
|
|
456
|
-
// for (let i = 1; i < end; i++) {
|
|
457
|
-
// shallowTeardown(childNodeList[i]);
|
|
458
|
-
// }
|
|
459
|
-
// parent.textContent = "";
|
|
460
|
-
// parent.append(startBookend, endBookend);
|
|
461
|
-
// prevItems = nextItems;
|
|
462
|
-
// nextItems = null;
|
|
463
|
-
// return;
|
|
464
|
-
// }
|
|
465
|
-
|
|
466
|
-
// let start = nextItems.findIndex((item, index) => prevItems[index] !== item);
|
|
467
|
-
// if (start === oldLength) {
|
|
468
|
-
// endBookend.before(...nextItems.slice(start).map(render));
|
|
469
|
-
// prevItems = nextItems;
|
|
470
|
-
// nextItems = null;
|
|
471
|
-
// return;
|
|
472
|
-
// }
|
|
473
|
-
|
|
474
|
-
// let childNodes = Array.from(childNodeList);
|
|
475
|
-
// if (start < 0) {
|
|
476
|
-
// for (let i = nextItems.length; i < oldLength; i++) {
|
|
477
|
-
// const e = childNodes[1 + --oldLength];
|
|
478
|
-
// shallowTeardown(e);
|
|
479
|
-
// e.remove();
|
|
480
|
-
// }
|
|
481
|
-
// prevItems = nextItems;
|
|
482
|
-
// nextItems = null;
|
|
483
|
-
// childNodes = null;
|
|
484
|
-
// return;
|
|
485
|
-
// }
|
|
486
|
-
|
|
487
|
-
// if (start >= newLength) {
|
|
488
|
-
// while (start < oldLength) {
|
|
489
|
-
// const e = childNodes[1 + --oldLength];
|
|
490
|
-
// shallowTeardown(e);
|
|
491
|
-
// e.remove();
|
|
492
|
-
// }
|
|
493
|
-
// prevItems = nextItems;
|
|
494
|
-
// nextItems = null;
|
|
495
|
-
// childNodes = null;
|
|
496
|
-
// return;
|
|
497
|
-
// }
|
|
498
|
-
|
|
499
|
-
// // suffix
|
|
500
|
-
// for (
|
|
501
|
-
// oldLength--, newLength--;
|
|
502
|
-
// newLength > start &&
|
|
503
|
-
// oldLength >= start &&
|
|
504
|
-
// nextItems[newLength] === prevItems[oldLength];
|
|
505
|
-
// oldLength--, newLength--
|
|
506
|
-
// );
|
|
507
|
-
|
|
508
|
-
// const nextKeys = new Set(nextItems);
|
|
509
|
-
// const removalQueue = [];
|
|
510
|
-
// for (let i = start; i <= oldLength; i++) {
|
|
511
|
-
// if (!nextKeys.has(prevItems[i])) {
|
|
512
|
-
// const ch = childNodes[i + 1];
|
|
513
|
-
// shallowTeardown(ch);
|
|
514
|
-
// removalQueue.push(ch);
|
|
515
|
-
// childNodes[i + 1] = null;
|
|
516
|
-
// }
|
|
517
|
-
// }
|
|
518
|
-
// if (removalQueue.length === prevItems.length) {
|
|
519
|
-
// parent.textContent = "";
|
|
520
|
-
// parent.append(startBookend, ...nextItems.map(render), endBookend);
|
|
521
|
-
// prevItems = nextItems;
|
|
522
|
-
// nextItems = null;
|
|
523
|
-
// childNodes = null;
|
|
524
|
-
// return;
|
|
525
|
-
// }
|
|
526
|
-
// for (const e of removalQueue) {
|
|
527
|
-
// e.remove();
|
|
528
|
-
// }
|
|
529
|
-
// if (oldLength - start === removalQueue.length) {
|
|
530
|
-
// prevItems = nextItems;
|
|
531
|
-
// nextItems = null;
|
|
532
|
-
// childNodes = null;
|
|
533
|
-
// return;
|
|
534
|
-
// }
|
|
535
|
-
// let keyMap = new Map();
|
|
536
|
-
// for (let i = start; i <= oldLength; i++) {
|
|
537
|
-
// if (
|
|
538
|
-
// childNodes[i + 1] &&
|
|
539
|
-
// (!nextItems[i] ||
|
|
540
|
-
// prevItems[i] !== nextItems[i])
|
|
541
|
-
// ) {
|
|
542
|
-
// keyMap.set(prevItems[i], {
|
|
543
|
-
// el: childNodes[i + 1],
|
|
544
|
-
// item: prevItems[i],
|
|
545
|
-
// });
|
|
546
|
-
// }
|
|
547
|
-
// }
|
|
548
|
-
// while (start <= newLength) {
|
|
549
|
-
// const newChd = nextItems[start];
|
|
550
|
-
// const oldChd = prevItems[start];
|
|
551
|
-
// if (newChd === oldChd) {
|
|
552
|
-
// start++;
|
|
553
|
-
// continue;
|
|
554
|
-
// }
|
|
555
|
-
// if (oldChd === undefined) {
|
|
556
|
-
// parent.insertBefore(render(newChd), endBookend);
|
|
557
|
-
// start++;
|
|
558
|
-
// continue;
|
|
559
|
-
// }
|
|
560
|
-
// const mappedOld = keyMap.get(newChd);
|
|
561
|
-
// if (mappedOld) {
|
|
562
|
-
// const oldDom = childNodeList[start + 1];
|
|
563
|
-
// const { el, item } = mappedOld;
|
|
564
|
-
// if (oldDom !== el) {
|
|
565
|
-
// const tmp = el.nextSibling;
|
|
566
|
-
// parent.insertBefore(el, oldDom);
|
|
567
|
-
// parent.insertBefore(oldDom, tmp);
|
|
568
|
-
// } else if (item !== newChd) {
|
|
569
|
-
// replaceWith(newChd, el, render);
|
|
570
|
-
// }
|
|
571
|
-
// keyMap.delete(newChd);
|
|
572
|
-
// } else if (oldChd !== newChd) {
|
|
573
|
-
// parent.insertBefore(render(newChd), childNodeList[start + 1]);
|
|
574
|
-
// }
|
|
575
|
-
// start++;
|
|
576
|
-
// }
|
|
577
|
-
// for (const { el } of keyMap.values()) {
|
|
578
|
-
// shallowTeardown(el);
|
|
579
|
-
// el.remove();
|
|
580
|
-
// }
|
|
581
|
-
// keyMap = null;
|
|
582
|
-
// prevItems = nextItems;
|
|
583
|
-
// nextItems = null;
|
|
584
|
-
// childNodes = null;
|
|
585
|
-
// });
|
|
586
|
-
// return outlet;
|
|
587
|
-
// }
|
|
588
|
-
|
|
589
427
|
export function isolatedTerminalList(props) {
|
|
590
428
|
let parent;
|
|
591
429
|
let outlet = document.createDocumentFragment();
|
|
@@ -603,24 +441,18 @@ export function isolatedTerminalList(props) {
|
|
|
603
441
|
outlet.append(startBookend, ...prevItems.map(render), endBookend);
|
|
604
442
|
return;
|
|
605
443
|
}
|
|
606
|
-
|
|
607
444
|
let nextItems = props.items();
|
|
608
445
|
let newLength = nextItems.length;
|
|
609
446
|
let oldLength = prevItems.length;
|
|
610
|
-
|
|
611
|
-
// Fast path: Empty to something
|
|
612
447
|
if (!oldLength && newLength) {
|
|
613
|
-
endBookend.before(...nextItems.map(render))
|
|
448
|
+
endBookend.before(...nextItems.map(render))
|
|
614
449
|
prevItems = nextItems;
|
|
615
450
|
nextItems = null;
|
|
616
451
|
return;
|
|
617
452
|
}
|
|
618
|
-
|
|
619
|
-
const childNodeList = parent.childNodes;
|
|
620
|
-
|
|
621
|
-
// Fast path: Something to empty
|
|
453
|
+
const childNodeList = parent.childNodes as NodeListOf<ChildNode>;
|
|
622
454
|
if (!newLength) {
|
|
623
|
-
let node = startBookend.nextSibling
|
|
455
|
+
let node = startBookend.nextSibling
|
|
624
456
|
while (node !== endBookend) {
|
|
625
457
|
shallowTeardown(node);
|
|
626
458
|
node = node.nextSibling;
|
|
@@ -632,13 +464,7 @@ export function isolatedTerminalList(props) {
|
|
|
632
464
|
return;
|
|
633
465
|
}
|
|
634
466
|
|
|
635
|
-
|
|
636
|
-
let start = 0;
|
|
637
|
-
// Compare items until they mismatch or we reach the end
|
|
638
|
-
while (start < newLength && start < oldLength && prevItems[start] === nextItems[start]) {
|
|
639
|
-
start++;
|
|
640
|
-
}
|
|
641
|
-
|
|
467
|
+
let start = nextItems.findIndex((item, index) => prevItems[index] !== item);
|
|
642
468
|
if (start === oldLength) {
|
|
643
469
|
endBookend.before(...nextItems.slice(start).map(render));
|
|
644
470
|
prevItems = nextItems;
|
|
@@ -646,94 +472,117 @@ export function isolatedTerminalList(props) {
|
|
|
646
472
|
return;
|
|
647
473
|
}
|
|
648
474
|
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
475
|
+
let childNodes = Array.from(childNodeList);
|
|
476
|
+
if (start < 0) {
|
|
477
|
+
for (let i = nextItems.length; i < oldLength; i++) {
|
|
478
|
+
const e = childNodes[1 + --oldLength];
|
|
479
|
+
shallowTeardown(e);
|
|
480
|
+
e.remove();
|
|
481
|
+
}
|
|
482
|
+
prevItems = nextItems;
|
|
483
|
+
nextItems = null;
|
|
484
|
+
childNodes = null;
|
|
485
|
+
return;
|
|
654
486
|
}
|
|
655
487
|
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
for (let i = start; i < oldLength; i++) {
|
|
662
|
-
let next = node.nextSibling;
|
|
663
|
-
shallowTeardown(node);
|
|
664
|
-
node.remove();
|
|
665
|
-
node = next;
|
|
488
|
+
if (start >= newLength) {
|
|
489
|
+
while (start < oldLength) {
|
|
490
|
+
const e = childNodes[1 + --oldLength];
|
|
491
|
+
shallowTeardown(e);
|
|
492
|
+
e.remove();
|
|
666
493
|
}
|
|
667
494
|
prevItems = nextItems;
|
|
668
495
|
nextItems = null;
|
|
496
|
+
childNodes = null;
|
|
669
497
|
return;
|
|
670
498
|
}
|
|
671
499
|
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
500
|
+
// suffix
|
|
501
|
+
for (
|
|
502
|
+
oldLength--, newLength--;
|
|
503
|
+
newLength > start &&
|
|
504
|
+
oldLength >= start &&
|
|
505
|
+
nextItems[newLength] === prevItems[oldLength];
|
|
506
|
+
oldLength--, newLength--
|
|
507
|
+
);
|
|
679
508
|
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
509
|
+
const nextKeys = new Set(nextItems);
|
|
510
|
+
const removalQueue = [];
|
|
511
|
+
for (let i = start; i <= oldLength; i++) {
|
|
512
|
+
if (!nextKeys.has(prevItems[i])) {
|
|
513
|
+
const ch = childNodes[i + 1];
|
|
514
|
+
shallowTeardown(ch);
|
|
515
|
+
removalQueue.push(ch);
|
|
516
|
+
childNodes[i + 1] = null;
|
|
684
517
|
}
|
|
518
|
+
}
|
|
519
|
+
if (removalQueue.length === prevItems.length) {
|
|
685
520
|
parent.textContent = "";
|
|
686
521
|
parent.append(startBookend, ...nextItems.map(render), endBookend);
|
|
687
522
|
prevItems = nextItems;
|
|
688
523
|
nextItems = null;
|
|
524
|
+
childNodes = null;
|
|
689
525
|
return;
|
|
690
526
|
}
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
527
|
+
for (const e of removalQueue) {
|
|
528
|
+
e.remove();
|
|
529
|
+
}
|
|
530
|
+
if (oldLength - start === removalQueue.length) {
|
|
531
|
+
prevItems = nextItems;
|
|
532
|
+
nextItems = null;
|
|
533
|
+
childNodes = null;
|
|
534
|
+
return;
|
|
535
|
+
}
|
|
536
|
+
let keyMap = new Map();
|
|
537
|
+
for (let i = start; i <= oldLength; i++) {
|
|
538
|
+
if (
|
|
539
|
+
childNodes[i + 1] &&
|
|
540
|
+
(!nextItems[i] ||
|
|
541
|
+
prevItems[i] !== nextItems[i])
|
|
542
|
+
) {
|
|
543
|
+
keyMap.set(prevItems[i], {
|
|
544
|
+
el: childNodes[i + 1],
|
|
545
|
+
item: prevItems[i],
|
|
546
|
+
});
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
while (start <= newLength) {
|
|
550
|
+
const newChd = nextItems[start];
|
|
551
|
+
const oldChd = prevItems[start];
|
|
552
|
+
if (newChd === oldChd) {
|
|
553
|
+
start++;
|
|
554
|
+
continue;
|
|
555
|
+
}
|
|
556
|
+
if (oldChd === undefined) {
|
|
557
|
+
parent.insertBefore(render(newChd), endBookend);
|
|
558
|
+
start++;
|
|
559
|
+
continue;
|
|
560
|
+
}
|
|
561
|
+
const mappedOld = keyMap.get(newChd);
|
|
562
|
+
if (mappedOld) {
|
|
563
|
+
const oldDom = childNodeList[start + 1];
|
|
564
|
+
const { el, item } = mappedOld;
|
|
565
|
+
if (oldDom !== el) {
|
|
566
|
+
const tmp = el.nextSibling;
|
|
567
|
+
parent.insertBefore(el, oldDom);
|
|
568
|
+
parent.insertBefore(oldDom, tmp);
|
|
569
|
+
} else if (item !== newChd) {
|
|
570
|
+
replaceWith(newChd, el, render);
|
|
718
571
|
}
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
parent.insertBefore(newNode, cursor);
|
|
723
|
-
// Similarly, do not advance cursor (it gets pushed to the right).
|
|
572
|
+
keyMap.delete(newChd);
|
|
573
|
+
} else if (oldChd !== newChd) {
|
|
574
|
+
parent.insertBefore(render(newChd), childNodeList[start + 1]);
|
|
724
575
|
}
|
|
576
|
+
start++;
|
|
725
577
|
}
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
for (const unusedNode of keyMap.values()) {
|
|
730
|
-
shallowTeardown(unusedNode);
|
|
731
|
-
unusedNode.remove();
|
|
578
|
+
for (const { el } of keyMap.values()) {
|
|
579
|
+
shallowTeardown(el);
|
|
580
|
+
el.remove();
|
|
732
581
|
}
|
|
733
|
-
|
|
582
|
+
keyMap = null;
|
|
734
583
|
prevItems = nextItems;
|
|
735
584
|
nextItems = null;
|
|
585
|
+
childNodes = null;
|
|
736
586
|
});
|
|
737
|
-
|
|
738
587
|
return outlet;
|
|
739
|
-
}
|
|
588
|
+
}
|
package/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.dom.asynciterable.d.ts","./node_modules/typescript/lib/lib.webworker.importscripts.d.ts","./node_modules/typescript/lib/lib.scripthost.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/typescript/lib/lib.es2020.full.d.ts","./src/signals.ts","./src/element.ts","./src/index.ts","./src/router.ts","./node_modules/@types/deep-eql/index.d.ts","./node_modules/assertion-error/index.d.ts","./node_modules/@types/chai/index.d.ts","./node_modules/@types/estree/index.d.ts"],"fileIdsList":[[56,57],[52],[52,53],[53]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"1305d1e76ca44e30fb8b2b8075fa522b83f60c0bcf5d4326a9d2cf79b53724f8","impliedFormat":1},{"version":"dc532534392e056678750d71483fbdf98e1f46687d3aa818505e3eb743dbbe15","signature":"c084f39693d652cdebc33667d280f50dece748c2ed4b408e06615834e51a5097"},{"version":"f247391aa07ef6522cfcb4551bfb98f7e5d86af51860b3258fe61c7216579fe4","signature":"f3ddd3670c33381859688f604378a0028cafa5b52cc936da9a225933eb464387"},{"version":"0e3be4d02e120fbbfd12edcc9ad69ff668f5f4303e2b9c80521a8a722428e97d","signature":"12fd8be483df752ac04ae85347f9c397954ac2390e0de50612bf8b9899d7767d"},{"version":"23e3a2d8ef7695586b582f6366a28b1404801ada9a0c82d895f19344f8100ea5","signature":"a32c52a25b47067dac589266e7667623ea1ef2b0c1f9c4fd41adbc7b67a59eee"},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1}],"root":[[52,55]],"options":{"allowJs":true,"checkJs":false,"composite":true,"esModuleInterop":true,"module":99,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"target":7},"referencedMap":[[58,1],[53,2],[54,3],[55,3],[52,4]],"latestChangedDtsFile":"./dist/router.d.ts","version":"5.9.3"}
|
|
1
|
+
{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.dom.asynciterable.d.ts","./node_modules/typescript/lib/lib.webworker.importscripts.d.ts","./node_modules/typescript/lib/lib.scripthost.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/typescript/lib/lib.es2020.full.d.ts","./src/signals.ts","./src/element.ts","./src/index.ts","./src/router.ts","./node_modules/@types/deep-eql/index.d.ts","./node_modules/assertion-error/index.d.ts","./node_modules/@types/chai/index.d.ts","./node_modules/@types/estree/index.d.ts"],"fileIdsList":[[56,57],[52],[52,53],[53]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"1305d1e76ca44e30fb8b2b8075fa522b83f60c0bcf5d4326a9d2cf79b53724f8","impliedFormat":1},{"version":"dc532534392e056678750d71483fbdf98e1f46687d3aa818505e3eb743dbbe15","signature":"c084f39693d652cdebc33667d280f50dece748c2ed4b408e06615834e51a5097"},{"version":"9d501c790355584f293b5f7a0149fec0c4093389d697f98b04ffc1fc4b335680","signature":"f3ddd3670c33381859688f604378a0028cafa5b52cc936da9a225933eb464387"},{"version":"0e3be4d02e120fbbfd12edcc9ad69ff668f5f4303e2b9c80521a8a722428e97d","signature":"12fd8be483df752ac04ae85347f9c397954ac2390e0de50612bf8b9899d7767d"},{"version":"23e3a2d8ef7695586b582f6366a28b1404801ada9a0c82d895f19344f8100ea5","signature":"a32c52a25b47067dac589266e7667623ea1ef2b0c1f9c4fd41adbc7b67a59eee"},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1}],"root":[[52,55]],"options":{"allowJs":true,"checkJs":false,"composite":true,"esModuleInterop":true,"module":99,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"target":7},"referencedMap":[[58,1],[53,2],[54,3],[55,3],[52,4]],"latestChangedDtsFile":"./dist/router.d.ts","version":"5.9.3"}
|