Skip to content

Commit e0de6a2

Browse files
committed
0.0.10 - bug fix
1 parent faa0d87 commit e0de6a2

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

index.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ apply_dom_diff = (dom, diff) => {
272272
let offsets = new Map()
273273

274274
diff.forEach((change) => {
275+
let node = dom
275276
const [path, newValue] = [change.range, change.content]
276277
const indexes = []
277278
let insert_position = null
@@ -280,9 +281,16 @@ apply_dom_diff = (dom, diff) => {
280281
insert_position = 1 * _2
281282
} else indexes.push(1 * _1)
282283
})
283-
if (insert_position == null) insert_position = indexes.pop()
284284

285-
let node = dom
285+
if (indexes.length === 0) {
286+
// If there are no indicies, we assume we're deleting everything
287+
while (node.firstChild) node.removeChild(node.firstChild)
288+
offsets.set(node, 0)
289+
node.innerHTML = newValue
290+
return
291+
}
292+
293+
if (insert_position == null) insert_position = indexes.pop()
286294

287295
for (let i = 0; i < indexes.length; i++) {
288296
node = Array.from(node.childNodes)[indexes[i]]

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@braidjs/dom-diff",
3-
"version": "0.0.9",
3+
"version": "0.0.10",
44
"description": "utilities for diffing html doms",
55
"author": "Braid Working Group",
66
"repository": "braid-org/dom-diff",

0 commit comments

Comments
 (0)