Skip to content

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

Notifications You must be signed in to change notification settings

joe-re/async-storage-repl

Repository files navigation

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

About

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

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published