jam-cloud/jam-ui/node_modules/@emotion/weak-memoize
Nuwan 23d1ece36d fixing controller tests after upgradeing to rails5 2022-02-15 16:27:07 +05:30
..
dist fixing controller tests after upgradeing to rails5 2022-02-15 16:27:07 +05:30
src fixing controller tests after upgradeing to rails5 2022-02-15 16:27:07 +05:30
types fixing controller tests after upgradeing to rails5 2022-02-15 16:27:07 +05:30
CHANGELOG.md fixing controller tests after upgradeing to rails5 2022-02-15 16:27:07 +05:30
LICENSE fixing controller tests after upgradeing to rails5 2022-02-15 16:27:07 +05:30
README.md fixing controller tests after upgradeing to rails5 2022-02-15 16:27:07 +05:30
package.json fixing controller tests after upgradeing to rails5 2022-02-15 16:27:07 +05:30

README.md

@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