UNPKG

ayanami

Version:
16 lines (15 loc) 663 B
import * as React from 'react'; import get from 'lodash/get'; import { combineWithIkari } from '../core'; import { useSubscribeAyanamiState } from './use-subscribe-ayanami-state'; export function useAyanamiInstance(ayanami, config) { const ikari = React.useMemo(() => combineWithIkari(ayanami), [ayanami]); const state = useSubscribeAyanamiState(ayanami, config ? config.selector : undefined); React.useEffect(() => () => { const isDestroyWhenUnmount = get(config, 'destroyWhenUnmount', false); if (isDestroyWhenUnmount) { ayanami.destroy(); } }, [ayanami, config]); return [state, ikari.triggerActions]; }