Skip to content

Latest commit

 

History

History
30 lines (19 loc) · 617 Bytes

README.md

File metadata and controls

30 lines (19 loc) · 617 Bytes

memoize

🔰 A JavaScript function wrapper to memorize / cache result with the same input

Installation

npm install --save @changyan/memoize

Basic Usage

import { memoize, memoizeAsync } from '@changyan/memoize'

const add = (a, b) => a + b

const memoizedAdd = memoize(add)

memoizedAdd(1, 2) // => 3
memoizedAdd(1, 2) // => return the cached "3"

const getFakeAsyncResult = () => new Promise((resolve, reject) => setTimeout(resolve, 1000))

// and it supports caching async functions
const memoizedGetAsyncResult = memoizeAsync(getFakeAsyncResult)

Contribution

PRs are welcomed!