UNPKG

rn-async-storage-flipper

Version:

React Native's Async Storage debugger for Flipper

46 lines (42 loc) 1.61 kB
import { addPlugin } from 'react-native-flipper'; function bootstrapPlugin() { return new Promise((resolve) => { addPlugin({ getId: () => 'flipper-plugin-async-storage', onConnect: (connection) => { return resolve(connection); }, onDisconnect: () => {}, runInBackground: () => true, }); }); } function ReactNativeAsyncStorageFlipper(storage) { bootstrapPlugin() .then((currentConnection) => { if (currentConnection) { storage.getAllKeys().then((keys) => { storage.multiGet(keys).then((data) => { data.map((_, i, store) => { let key = store[i][0]; let value = store[i][1]; let needsToBeParsed = (value.startsWith('{') && value.endsWith('}')) || (value.startsWith('[') && value.endsWith(']')); if (needsToBeParsed) { value = JSON.parse(value); } currentConnection.send('newElement', { key, value, id: key, }); }); }); }); } }) .catch((err) => console.error(err)); } export default ReactNativeAsyncStorageFlipper;