Files
Kudo Chien 50b3fb0ac7 feat: add tinybase inspector (#5)
# Why

move the tinybase inspector plugin from
https://github.com/Kudo/expo-devtools-plugin-demo to this repo
2023-11-17 03:50:23 +08:00

23 lines
931 B
JavaScript
Generated

import { useDevToolsPluginClient } from 'expo/devtools';
import { useEffect } from 'react';
export function useTinyBaseDevTools(store) {
const client = useDevToolsPluginClient('tinybase');
useEffect(() => {
const subscriptions = [];
/* Sync the full store on init */
client?.sendMessage('@tinybase-inspector/init', store.getJson());
subscriptions.push(client?.addMessageListener('@tinybase-inspector/edit', (data) => {
store.setJson(data);
}));
const listenerId = store.addDidFinishTransactionListener(() => {
client?.sendMessage('@tinybase-inspector/update', store.getJson());
});
return () => {
store.delListener(listenerId);
for (const subscription of subscriptions) {
subscription?.remove();
}
};
}, [client, store]);
}
//# sourceMappingURL=useTinyBaseDevTools.js.map