aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Schurhammer <julian.schurhammer@gmail.com>2023-04-10 10:23:56 +1200
committerLouis Pilfold <louis@lpil.uk>2023-04-10 10:29:34 +0100
commit6cf47153491774954755a422be2391f3a013c8ef (patch)
treed3848ca645ecf3cc5957c3acffcfd97a3b6236d5
parent3d40ff82b6e68b89c31f1326cdc3db5a8928a6f7 (diff)
downloadgleam_stdlib-6cf47153491774954755a422be2391f3a013c8ef.tar.gz
gleam_stdlib-6cf47153491774954755a422be2391f3a013c8ef.zip
fix bug in persistent-hash-map.mjs
missing check for key equality in the find function
-rw-r--r--src/persistent-hash-map.mjs7
1 files 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