@graphql-tools/graphql
Version:
Fork of GraphQL.js
16 lines (15 loc) • 413 B
JavaScript
/**
* Memoizes the provided one-argument function.
*/
export function memoize1(fn) {
const memoize1cache = new WeakMap();
return function memoized(a1) {
const cachedValue = memoize1cache.get(a1);
if (cachedValue === undefined) {
const newValue = fn(a1);
memoize1cache.set(a1, newValue);
return newValue;
}
return cachedValue;
};
}