cf-workers-kv
Version:
Cloudflare workers KV with customizable backing store for testing.
50 lines (31 loc) • 1.45 kB
Markdown
[](https://travis-ci.com/alanshaw/cf-workers-kv)
[](https://david-dm.org/alanshaw/cf-workers-kv)
Cloudflare workers KV with customizable backing store for testing.
```sh
npm install cf-workers-kv
```
```js
import { KV } from 'cf-workers-kv'
// In memory map backend, also supports AsyncMapLike inerface for backing stores
// with async get/put etc. https://npm.im/async-map-like
const backend = new Map()
const fruits = new KV(backend)
const key = 'apple:grannysmith'
const value = { name: 'Granny Smith', type: 'apple', color: 'green' }
const metadata = { name: 'Granny Smith' }
await fruits.put(key, JSON.stringify(value), { metadata })
const apple = await fruits.get(key, 'json')
console.log(apple) // { name: 'Granny Smith', type: 'apple', color: 'green' }
const apples = await fruits.list({ prefix: 'apple:' })
console.log(apples) // { keys: [{ name: 'apple:grannysmith', metadata: { name: 'Granny Smith' } }], list_complete: true }
await fruits.delete(key)
```
See [Cloudflare Workers Runtime API docs](https://developers.cloudflare.com/workers/runtime-apis/kv).
Feel free to dive in! [Open an issue](https://github.com/alanshaw/cf-workers-kv/issues/new) or submit PRs.
[](LICENSE) © Alan Shaw