From 6cf47153491774954755a422be2391f3a013c8ef Mon Sep 17 00:00:00 2001 From: Julian Schurhammer Date: Mon, 10 Apr 2023 10:23:56 +1200 Subject: fix bug in persistent-hash-map.mjs missing check for key equality in the find function --- src/persistent-hash-map.mjs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/persistent-hash-map.mjs b/src/persistent-hash-map.mjs index f454c7d..911da05 100644 --- a/src/persistent-hash-map.mjs +++ b/src/persistent-hash-map.mjs @@ -581,10 +581,13 @@ function findArray(root, shift, hash, key) { if (node === undefined) { return undefined; } - if (node.type === ENTRY) { + if (node.type !== ENTRY) { + return find(node, shift + SHIFT, hash, key); + } + if (isEqual(key, node.k)) { return node; } - return find(node, shift + SHIFT, hash, key); + return undefined; } /** * @template K,V -- cgit v1.2.3