UNPKG

xstate-helpers

Version:

A collection of helpers for XState (with React).

28 lines (21 loc) • 1.01 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var react = require('@xstate/react'); /** * @deprecated depricated in favor of useStateCan() */ function useIsXStateTransitionAvailable(service, event) { if ( // Machines invoked as services will be initially deferred: // https://github.com/statelyai/xstate/blob/5da8724bb6c4dada5d6e8cc61e36c7e2c771838b/packages/core/src/Actor.ts#L74-L94 // // Because we don't know what a deferred service will initialize to, // we shouldn't throw if it doesn't have a "machine" property // // @ts-ignore !service.deferred && !service.machine) { throw new Error('The service given to useIsXStateTransitionAvailable() must be a state machine instance.'); } return react.useSelector(service, React.useCallback(state => !!service.machine && !!service.machine.transition(state, event).changed, [service, event])); } exports.useIsXStateTransitionAvailable = useIsXStateTransitionAvailable;