UNPKG

xstate-helpers

Version:

A collection of helpers for XState (with React).

16 lines (12 loc) • 490 B
import { useCallback } from 'react'; import { useSelector } from '@xstate/react'; function useStateCan(service, event) { return useSelector(service, useCallback(state => { if (typeof (state === null || state === void 0 ? void 0 : state.can) !== 'function') { throw new Error(`Provided service of useStateCan() is invalid`); } return state.can(event); }, // eslint-disable-next-line react-hooks/exhaustive-deps [JSON.stringify(event)])); } export { useStateCan };