Tweakr
    Preparing search index...

    Function memoize

    • Creates a memoized version of a function by caching its return values based on a deterministic key derived from its arguments.

      Supports deep object keys via stableStringify and allows a custom cache resolver for advanced use cases.

      Type Parameters

      • T extends (...args: any[]) => any

        The function type to memoize.

      Parameters

      • fn: T

        The function whose results should be cached.

      • Optionalresolver: (...args: Parameters<T>) => string

        Optional custom function to generate cache keys from arguments.

      Returns (...args: Parameters<T>) => ReturnType<T>

      A new function that caches results of fn calls.

      const add = (a: number, b: number) => a + b;
      const memoizedAdd = memoize(add);

      memoizedAdd(1, 2); // Computes result: 3
      memoizedAdd(1, 2); // Returns cached result: 3
      // Custom cache resolver
      const memoized = memoize(
      (obj: { id: number }) => obj.id * 2,
      (obj) => String(obj.id)
      );
      memoized({ id: 1 }); // Computed
      memoized({ id: 1 }); // Cached via resolver

      1.2.0