UNPKG

piral-debug-utils

Version:

Utilities for debugging Piral instances.

34 lines 1.02 kB
import * as React from 'react'; const changeEvent = 'extension-catalogue-changed'; const store = { current: undefined, observe(setState) { const handler = () => { setState(store.current); }; window.addEventListener(changeEvent, handler); return () => { window.removeEventListener(changeEvent, handler); }; }, }; export function changeExtensionCatalogueStore(state) { store.current = { ...state, params: JSON.stringify(state.params), }; window.dispatchEvent(new CustomEvent(changeEvent)); } export const ExtensionCatalogue = () => { const [state, setState] = React.useState(store.current); React.useEffect(() => { return store.observe(setState); }, []); if (state) { const { name = '', params = '' } = state; // @ts-ignore return React.createElement("piral-extension", { name: name, params: params }); } return null; }; //# sourceMappingURL=ExtensionCatalogue.js.map