diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/persistent-hash-map.mjs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/persistent-hash-map.mjs b/src/persistent-hash-map.mjs index c2a792c..1851258 100644 --- a/src/persistent-hash-map.mjs +++ b/src/persistent-hash-map.mjs @@ -588,6 +588,7 @@ function forEach(root, fn) { } /** Extra wrapper to keep track of map size */ export class PMap { + static NOT_FOUND = Symbol(); constructor(root, size) { this.root = root; this.size = size; @@ -599,6 +600,13 @@ export class PMap { }); return h; } + equals(o) { + let equal = true; + forEach(this, (v, k) => { + equal = equal && isEqual(v, getWithDefault(o, k, PMap.NOT_FOUND)); + }); + return equal; + } } export function create() { return new PMap(undefined, 0); |