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

0.3.1 • Public • Published

@emotion/weak-memoize

A memoization function that uses a WeakMap

Install

yarn add @emotion/weak-memoize

Usage

Because @emotion/weak-memoize uses a WeakMap the argument must be a non primitive type, e.g. objects, functions, arrays and etc. The function passed to weakMemoize must also only accept a single argument.

import weakMemoize from '@emotion/weak-memoize'

let doThing = weakMemoize(({ someProperty }) => {
  return { newName: someProperty }
})

let obj = { someProperty: true }

let firstResult = doThing(obj)

let secondResult = doThing(obj)

firstResult === secondResult // true

let newObj = { someProperty: true }

let thirdResult = doThing(newObj)

thirdResult === firstResult // false

Dependencies (0)

    Dev Dependencies (2)

    Package Sidebar

    Install

    npm i @emotion/weak-memoize

    Weekly Downloads

    9,816,641

    Version

    0.3.1

    License

    MIT

    Unpacked Size

    6.08 kB

    Total Files

    20

    Last publish

    Collaborators

    • emmatown
    • tkh44
    • emotion-release-bot
    • andarist