Async Storage Repl Save

AsyncStorageRepl provides you to access remote ReactNative application's AsyncStorage from your node REPL.

Project README

AsyncStorageREPL

AsyncStorageRepl provides you to access remote ReactNative application's AsyncStorage from your node REPL.

gif

npm i async-storage-repl -D

BasicUsage

  1. Write bellow code in your ReactNative Application.
import AsyncStorageREPL from 'async-storage-repl';
AsyncStorageREPL().connect();
  1. Start node REPL.
./node_modules/.bin/async-storage-repl
  1. Let's get access your ReactNative application's storage from your node REPL.
$ ./node_modules/.bin/async-storage-repl
> RNAsyncStorage.getItem('item1')
null
> RNAsyncStorage.setItem('item1', 'nice value!')
null
> RNAsyncStorage.getItem('item1')
'nice value!'
> RNAsyncStorage.getAllKeys()
[ 'reduxPersist:timeline',
  'item1',
  'reduxPersist:auth',
  'reduxPersist:nav' ]

Example

example

API

AsyncStorage APIs

AsyncStorageREPL provides RNAsyncStorage on your node REPL as a global object. You can access AsyncStorage's all APIs via this object.

  • getAllKeys(): string[]
  • getItem(key: string)
  • setItem(key: string, value: string)
  • removeItem(key: string)
  • mergeItem(key: string, value: string)
  • clear()
  • flushGetRequests()
  • multiGet(keys: string[])
  • multiSet(keyValuePairs: string[][])
  • multiRemove(keys: string[])
  • multiMerge(keyValuePairs: string[][])

AsyncStorageREPL's methods args are guaranteed type-safe by flow-runtime.

> RNAsyncStorage.getItem(1)
RuntimeTypeError: key must be a string

Expected: string

Actual: number

dump & load

You can save & load RN Application AsyncStorage data.

dump() provides you getting dump. load(string[][]) provides you loading dump.

> const data = RNAsyncStorage.dump()
undefined
> data
[ [ 'comments', '["foo","bar","baz"]' ] ]
> fs.writeSync('./dump1.txt', JSON.stringify(data))
> const data = JSON.parse(fs.readSync('./dump1.txt'))
> RNAsyncStorage.load(data)
null

Advanced Usage

ReactNative side

AsyncStorageREPL() accepts an object with a host and port key. Port key must be matched REPL side. You don't need specify a host in case of running on a simulator. but in case of runnning on a real device, specify your computer host.

AsyncStorageREPL({ host: 'localhost', port: 8080 }) // default
  .connect();

REPL side

You can specify portNo --port option.

async-storage-repl --port 8080
Open Source Agenda is not affiliated with "Async Storage Repl" Project. README Source: joe-re/async-storage-repl
Stars
36
Open Issues
0
Last Commit
6 years ago

Open Source Agenda Badge

Open Source Agenda Rating