async-storage-repl
v0.1.0
Published
AsyncStorageRepl provides you to manipurate ReactNative AsyncStorage API on your node REPL.
Readme
AsyncStorageREPL
AsyncStorageRepl provides you to access remote ReactNative application's AsyncStorage from your node REPL.

npm i async-storage-repl -DBasicUsage
- Write bellow code in your ReactNative Application.
import AsyncStorageREPL from 'async-storage-repl';
AsyncStorageREPL().connect();- Start node REPL.
./node_modules/.bin/async-storage-repl- 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
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)
nullAdvanced 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