Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
Built and signed on GitHub Actions
latest
korkje/memzMemoize any function
This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers




JSR Score
94%
Published
5 months ago (0.2.1)
memz 
Wrap any function with a cache.
import memoize from "jsr:@korkje/memz"; const add = memoize((a: number, b: number) => a + b);
Recursion:
const fib = memoize((n: number): number => { if (n < 2) { return n; } return fib(n - 2) + fib(n - 1); });
Initial cache:
// Start with 2 and 1, i.e. create the Lucas sequence. const cache = { "[0]": 2, "[1]": 1 }; const fib = memoize( (n: number): number => fib(n - 2) + fib(n - 1), { cache }, );
By default, cache keys are arguments serialized to JSON, hence the "[0]"
and "[1]"
keys above.
Custom cache keys:
const fib = memoize( (n: number): number => fib(n - 2) + fib(n - 1), { keyFn: n => n }, );
Built and signed on
GitHub Actions
Add Package
deno add jsr:@korkje/memz
Import symbol
import * as memz from "@korkje/memz";
Import directly with a jsr specifier
import * as memz from "jsr:@korkje/memz";
Add Package
pnpm i jsr:@korkje/memz
pnpm dlx jsr add @korkje/memz
Import symbol
import * as memz from "@korkje/memz";
Add Package
yarn add jsr:@korkje/memz
yarn dlx jsr add @korkje/memz
Import symbol
import * as memz from "@korkje/memz";
Add Package
vlt install jsr:@korkje/memz
Import symbol
import * as memz from "@korkje/memz";
Add Package
npx jsr add @korkje/memz
Import symbol
import * as memz from "@korkje/memz";
Add Package
bunx jsr add @korkje/memz
Import symbol
import * as memz from "@korkje/memz";