Fix (de)serialization bug in VersionedMap

This commit is contained in:
Zaid Humaimidi
2025-02-12 19:05:08 -08:00
parent 4be39ed742
commit 49cdd39617

View File

@@ -112,6 +112,8 @@ export default class VersionedMap<K, V> {
prev = v;
}
if (prev === NONEXISTENT && !res.delete) return null;
return res;
}
@@ -122,6 +124,8 @@ export default class VersionedMap<K, V> {
del,
);
if (!mutations) return;
const revisions = [];
let prev: V | symbol = NONEXISTENT;
@@ -149,7 +153,7 @@ export default class VersionedMap<K, V> {
public *diff(): IterableIterator<[K, V, V]> {
for (const [key, revisions] of this.map) {
if (revisions.length === 1) continue;
if (revisions.length <= 1) continue;
let first = revisions[0];
let last = revisions[revisions.length - 1];
if (first === NONEXISTENT && last === NONEXISTENT) continue;