From 99c1d9af689e5325f3cf535c4007b3aeb8325229 Mon Sep 17 00:00:00 2001 From: Minteck Date: Tue, 10 Jan 2023 14:54:04 +0100 Subject: Update - This is an automated commit --- school/node_modules/graphql/jsutils/memoize3.js | 45 +++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 school/node_modules/graphql/jsutils/memoize3.js (limited to 'school/node_modules/graphql/jsutils/memoize3.js') diff --git a/school/node_modules/graphql/jsutils/memoize3.js b/school/node_modules/graphql/jsutils/memoize3.js new file mode 100644 index 0000000..db98f3f --- /dev/null +++ b/school/node_modules/graphql/jsutils/memoize3.js @@ -0,0 +1,45 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = memoize3; + +/** + * Memoizes the provided three-argument function. + */ +function memoize3(fn) { + var cache0; + return function memoized(a1, a2, a3) { + if (!cache0) { + cache0 = new WeakMap(); + } + + var cache1 = cache0.get(a1); + var cache2; + + if (cache1) { + cache2 = cache1.get(a2); + + if (cache2) { + var cachedValue = cache2.get(a3); + + if (cachedValue !== undefined) { + return cachedValue; + } + } + } else { + cache1 = new WeakMap(); + cache0.set(a1, cache1); + } + + if (!cache2) { + cache2 = new WeakMap(); + cache1.set(a2, cache2); + } + + var newValue = fn(a1, a2, a3); + cache2.set(a3, newValue); + return newValue; + }; +} -- cgit