mirror of
https://github.com/genieacs/genieacs.git
synced 2025-12-20 01:20:23 +08:00
Fix (de)serialization bug in VersionedMap
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user