safe-storage
Version:
Provides in-memory storage implementation when localStorage or sessionStorage aren't available
42 lines (24 loc) • 1.36 kB
Markdown
# Safe storage
[](https://codeclimate.com/github/koss-lebedev/safe-storage/maintainability)
[](https://badge.fury.io/js/safe-storage)
[](https://codeclimate.com/github/koss-lebedev/safe-storage/test_coverage)
Safe implementations for localStorage and sessionStorage, which fallbacks to in-memory implementation if default browser implementations aren't available. For example, when in private mode in Safari, storages are available, but an attempt to write to them throws an error.
## Installation
npm i -S safe-storage
## Usage
`safe-storage` has the same signature as localStorage and sessionStorage, so you can use it as you would use normal localStorage or sessionStorage. Example:
```js
import { safeLocalStorage } from 'safe-storage';
safeLocalStorage.setItem('token', '<123456789>');
console.log(safeLocalStorage.getItem('token'));
// output: <123456789>
console.log(safeLocalStorage.length);
// output: 1
safeLocalStorage.removeItem('token');
console.log(safeLocalStorage.getItem('token'));
// output: null
```
For sessionStorage:
```js
import { safeSessionStorage } from 'safe-storage';
```