@zero-version/key-value-storage.memoise

Memoise a function using key/value storage as a cache.

Usage no npm install needed!

<script type="module">
  import zeroVersionKeyValueStorageMemoise from 'https://cdn.skypack.dev/@zero-version/key-value-storage.memoise';
</script>

README

Memoise a function using key/value storage as a cache.

Usage

import { memoise } from '@zero-version/key-value-storage.memoise';
import { memoryKeyValueStore } from '@zero-version/key-value-storage.memory';

const doubleInst = (num: number) => num * 2;

const store = memoryKeyValueStore();
const double = memoise(doubleInst, store);

console.log(double(2));
// -> 4 (cache miss, `doubleInst` invoked)

console.log(double(2));
// -> 4 (cache hit, `doubleInst` _not_ invoked)

console.log(double(5));
// -> 10 (cache miss, `doubleInst` invoked)

console.log(double(5));
// -> 10 (cache hit, `doubleInst` _not_ invoked)

Support ☕

Are you using a package I've developed and finding it useful? Or have you looked at one of my repositories and learnt something new? If so, please consider buying me a coffee. Thanks!