AsyncStorageRepl provides you to access remote ReactNative application's AsyncStorage from your node REPL.
npm i async-storage-repl -D
- 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' ]
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
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();
You can specify portNo --port option.
async-storage-repl --port 8080