From a5dd2903058f15e416f9695866d331ab7a0a100b Mon Sep 17 00:00:00 2001 From: mohawk2 Date: Sun, 21 Jan 2018 02:54:53 +0000 Subject: [PATCH] More accurate check for cache-hit in memoize3 `WeakMap.get` returns `undefined` on cache miss. Checking for false instead of `undefined` will give a false cache-miss and recalculate when a false value is returned by the memoised function. --- src/jsutils/memoize3.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jsutils/memoize3.js b/src/jsutils/memoize3.js index 95b27c7b2b..18d938fb53 100644 --- a/src/jsutils/memoize3.js +++ b/src/jsutils/memoize3.js @@ -24,7 +24,7 @@ export default function memoize3 any>( cache2 = cache1.get(a2); if (cache2) { const cachedValue = cache2.get(a3); - if (cachedValue) { + if (cachedValue !== undefined) { return cachedValue; } }