From 130e6b2c607355fe82e39a548a4359fb17f67026 Mon Sep 17 00:00:00 2001 From: Filip Slatinac Date: Sun, 24 Nov 2019 05:22:13 -0500 Subject: [PATCH] Changing Array.from to iterators. (#145) * added our package * reverted back to old rrweb snapshot * Array.from does not capture all elements added in the set, we have to manually iterate through the iterator * package lock --- src/record/observer.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/record/observer.ts b/src/record/observer.ts index c94aa735..3d6642cb 100644 --- a/src/record/observer.ts +++ b/src/record/observer.ts @@ -211,9 +211,11 @@ function initMutationObserver( }); }; - Array.from(movedSet).forEach(pushAdd); + for (var it = movedSet.values(), n = null; (n = it.next().value); ) { + pushAdd(n); + } - Array.from(addedSet).forEach(n => { + for (var it = addedSet.values(), n = null; (n = it.next().value); ) { if (!isAncestorInSet(droppedSet, n) && !isParentRemoved(removes, n)) { pushAdd(n); } else if (isAncestorInSet(movedSet, n)) { @@ -221,7 +223,7 @@ function initMutationObserver( } else { droppedSet.add(n); } - }); + } while (addQueue.length) { if (