UNPKG

piral-core

Version:

The core library for creating a Piral instance.

28 lines 1.02 kB
import * as React from 'react'; import { startLoadingPilets } from 'piral-base'; import { useGlobalStateContext } from '../hooks'; import { none } from '../utils'; /** * The Mediator component for interfacing with pilets loading. */ export const Mediator = ({ options }) => { const { initialize, readState, emit } = useGlobalStateContext(); React.useEffect(() => { const shouldLoad = readState((s) => s.app.loading); if (shouldLoad) { const { connect, disconnect } = startLoadingPilets(options); emit('loading-pilets', { options }); const notifier = (error, pilets, loaded) => { initialize(!loaded, error, pilets); if (loaded) { emit('loaded-pilets', { pilets, error }); } }; connect(notifier); return () => disconnect(notifier); } }, none); // tslint:disable-next-line:no-null-keyword return null; }; //# sourceMappingURL=Mediator.js.map