Precise DOM morphing
morphing typescript dom

Improve code clarity

+10 -8
+4 -2
src/morphlex.ts
··· 154 154 155 155 while (current) { 156 156 const idSet: IdSet | undefined = this.#idMap.get(current) 157 - idSet ? idSet.add(id) : this.#idMap.set(current, new Set([id])) 157 + if (idSet) idSet.add(id) 158 + else this.#idMap.set(current, new Set([id])) 158 159 if (current === node) break 159 160 current = current.parentElement 160 161 } ··· 218 219 219 220 // If the child is in the reference map already, we don't need to add it later. 220 221 // If it's not in the map, we need to remove it from the node. 221 - refChild ? refChildNodesMap.delete(key) : this.#removeNode(child) 222 + if (refChild) refChildNodesMap.delete(key) 223 + else this.#removeNode(child) 222 224 } 223 225 224 226 // Any remaining nodes in the map should be appended to the head.
+6 -6
test/morphlex-coverage.test.ts
··· 567 567 addedNode = node 568 568 return true 569 569 }, 570 - afterNodeAdded: (node) => { 570 + afterNodeAdded: () => { 571 571 afterAddedCalled = true 572 572 }, 573 573 }) ··· 647 647 let afterAddCalled = false 648 648 649 649 morph(parent, reference, { 650 - beforeNodeAdded: (node) => { 650 + beforeNodeAdded: () => { 651 651 beforeAddCalled = true 652 652 return true 653 653 }, 654 - afterNodeAdded: (node) => { 654 + afterNodeAdded: () => { 655 655 afterAddCalled = true 656 656 }, 657 657 }) ··· 715 715 addedNode = node 716 716 return true 717 717 }, 718 - afterNodeAdded: (node) => { 718 + afterNodeAdded: () => { 719 719 // Lines 388-389 720 720 }, 721 721 }) ··· 789 789 let afterCalled = false 790 790 791 791 morph(parent, reference, { 792 - beforeNodeAdded: (node) => { 792 + beforeNodeAdded: () => { 793 793 beforeCalled = true 794 794 return true // Line 387: insertBefore is called 795 795 }, 796 - afterNodeAdded: (node) => { 796 + afterNodeAdded: () => { 797 797 afterCalled = true // Line 389 798 798 }, 799 799 })