sync-storage
Version:
Synchronous storage for React Native.
106 lines (75 loc) • 2.38 kB
Markdown
Synchronous storage for
[](https://facebook.github.io/react-native/docs/asyncstorage.html).
[](https://travis-ci.org/raphaelpor/sync-storage)
[](https://codecov.io/gh/raphaelpor/sync-storage)
[](https://www.npmjs.com/package/sync-storage)
[](https://github.com/raphaelpor/sync-storage/blob/master/LICENSE.md)
* [Installation](https://github.com/raphaelpor/sync-storage#Installation)
* [Usage](https://github.com/raphaelpor/sync-storage#Usage)
* [Methods Available](https://github.com/raphaelpor/sync-storage#methods-available)
```sh
yarn add sync-storage
```
```js
import SyncStorage from 'sync-storage';
SyncStorage.set('foo', 'bar');
const result = SyncStorage.get('foo');
console.log(result); // 'bar'
```
Init prepares the SyncStorage to work synchronously, by getting all values for all keys previously
saved on RN AsyncStorage. See the example:
```js
const data = await SyncStorage.init();
console.log('AsyncStorage is ready!', data);
```
Returns the value of key.
```js
SyncStorage.get('foo'); // 'bar'
```
It saves the value on memory and on the AsyncStorage.
```js
SyncStorage.set('foo', 'bar');
SyncStorage.get('foo'); // 'bar'
```
It also returns a Promise for post verification.
```js
SyncStorage.set('foo', 'bar')
.then(() => {
SyncStorage.get('foo'); // 'bar'
})
.catch(error => {
console.log(error);
});
```
It removes the value from the memory and from the AsyncStorage.
```js
SyncStorage.remove('foo');
```
It also returns a Promise for post verification.
```js
SyncStorage.remove('foo')
.then(() => {
SyncStorage.get('foo'); // undefined
})
.catch(error => {
console.log(error);
});
```
returns an array from all the keys.
```js
SyncStorage.set('foo', 'bar');
SyncStorage.set('boo', 'baz');
console.log(SyncStorage.getAllKeys()) // ['foo', 'boo']
```