Neural Processing Mechanisms

    @bigcommerce/memoize
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0 • Public • Published

    @bigcommerce/memoize

    CircleCI

    This library can be used to memoize the result of a pure function.

    Unlike the default memoize function provided by Lodash, it can be applied to functions that accept multiple non-primitive arguments. It can also be configured to expire its cache after certain number of unique calls. By default, it compares object-based arguments shallowly; but it can be configured to compare arguments strictly or deeply depending on your usage requirement.

    Install

    You can install this library using npm.

    npm install --save @bigcommerce/memoize

    Usage

    To memoize a function

    function fn(a, b) {
        return { a, b };
    }
     
    const memoizedFn = memoize(fn);
    const result = memoizedFn({ message: 'hello' }, { message: 'world' });
    const result2 = memoizedFn({ message: 'hello' }, { message: 'world' });
     
    expect(result).toBe(result2);

    Contribution

    To release:

    npm run release

    To see other available commands:

    npm run

    License

    MIT

    Keywords

    none

    Install

    npm i @bigcommerce/memoize

    DownloadsWeekly Downloads

    2,239

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    43.8 kB

    Total Files

    25

    Last publish

    Collaborators

    • cilo
    • jorgemoya
    • bcnpmuser
    • icatalina
    • chris.boulton
    • bcandreik
    • davidchin
    • mattolson
    • pascal.zajac
    • amckemie
    • deini
    • chanceaclark
    • jairobc
    • jmwiese
    • pachanady
    • bc-jz