# browser-async-store

> Wrap Web Storage APIs in an asynchronous API

Latest version **1.0.0** (published 2015-09-01) · MIT license · 0 weekly downloads

## Install

```sh
npm install browser-async-store
pnpm add browser-async-store
yarn add browser-async-store
bun add browser-async-store
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2015-09-01 |
| First published | 2015-09-01 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Ben Drucker |
| Maintainers | bendrucker |
| Keywords | web, storage, async |

## Links

- npm: https://www.npmjs.com/package/browser-async-store
- Repository: https://github.com/bendrucker/browser-async-store
- Homepage: https://github.com/bendrucker/browser-async-store#readme
- Issues: https://github.com/bendrucker/browser-async-store/issues
- npm.io page: https://npm.io/package/browser-async-store

## Dependencies (3)

- [xtend](https://npm.io/package/xtend.md) ~4.0.0
- [dezalgo](https://npm.io/package/dezalgo.md) ~1.0.3
- [assert-ok](https://npm.io/package/assert-ok.md) ~1.0.0

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 1.0.0 (latest) — 2015-09-01

## README

# browser-async-store [![Build Status](https://travis-ci.org/bendrucker/browser-async-store.svg?branch=master)](https://travis-ci.org/bendrucker/browser-async-store)

> Wrap Web Storage APIs in an asynchronous API


## Install

```
$ npm install --save browser-async-store
```


## Usage

```js
var createStore = require('browser-async-store')
var store = createStore(window.localStorage)

store.put('foo', 'bar', function (err) {
  if (!err) {
    store.get('foo', console.log.bind(console))
  }
})
//=> logs: bar
```

## API

#### `createStore(storage, options)` -> `store`

Returns a `store` object.

##### storage

A [Storage](https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API) API, e.g. `localStorage` or `sessionStorage`.

##### options

###### parse

Type: `function`  
Default: `JSON.parse`

###### format

Type: `function`  
Default: `JSON.stringify`

---

#### `store.get(key, callback)` -> `undefined`

Get data from the store.

##### key

*Required*  
Type: `string`

##### callback

*Required*  
Type: `function`  
Arguments: `err, value`

#### `store.put(key, value, [callback])` -> `undefined`

Add an item to the store (or overwrite an existing item).

##### key

*Required*  
Type: `string`

##### value

*Required*  
Type: `any`

##### callback

*Required*  
Type: `function`  
Arguments: `err`

#### `store.remove(key, [callback])` -> `undefined`

Remove an item.

##### key

*Required*  
Type: `string`

##### callback

*Required*  
Type: `function`  
Arguments: `err`

#### `store.clear([callback])` -> `undefined`

Clear the store.

##### callback

*Required*  
Type: `function`  
Arguments: `err`


## License

MIT © [Ben Drucker](http://bendrucker.me)

---
_Source: https://npm.io/package/browser-async-store · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
