Options
All
  • Public
  • Public/Protected
  • All
Menu

Module function/memoize/deepSizeLimit

Index

References

Functions

References

Renames and re-exports deepSizeLimit

Functions

  • deepSizeLimit<T>(maxSize: number, fn: T): T
  • deepSizeLimit(maxSize: number): <T>(fn: T) => T
  • Memoize function with multiply arguments of any type, but it clears cache every time it reaches the limit. Use it when you need deep equality for cache lookup and afraid of memory leak.

    example
    const addFlag = obj => ({...obj, flag: true });
    const memoize = memoizeDeepSizeLimit(2, addFlag));
    memoize({test: 2}); // from addFlag call
    memoize({test: 2}); // from cache
    memoize({test: 3}); //from addFlag call
    memoize({test: 4}); // from addFlag call
    memoize({test: 2}); // from addFlag call (memory was cleared)

    Type parameters

    • T: Function

    Parameters

    • maxSize: number
    • fn: T

    Returns T

    fn

  • Memoize function with multiply arguments of any type, but it clears cache every time it reaches the limit. Use it when you need deep equality for cache lookup and afraid of memory leak.

    example
    const addFlag = obj => ({...obj, flag: true });
    const memoize = memoizeDeepSizeLimit(2, addFlag));
    memoize({test: 2}); // from addFlag call
    memoize({test: 2}); // from cache
    memoize({test: 3}); //from addFlag call
    memoize({test: 4}); // from addFlag call
    memoize({test: 2}); // from addFlag call (memory was cleared)

    Parameters

    • maxSize: number

    Returns <T>(fn: T) => T

    fn

      • <T>(fn: T): T
      • Type parameters

        • T: Function

        Parameters

        • fn: T

        Returns T

Generated using TypeDoc