@hyperfrontend/state-machine/selectorsselectors
Predicate functions for querying async-process state out of a Store snapshot.
notStarted, inProgress, done, successful, failed, retrying, restarting, halted, paused, and cancelled answer single-question predicates over a process state. derivedState returns the canonical phase string for a process so UI code can render a single source-of-truth label instead of testing each predicate. All selectors are pure and work over any state slice that conforms to the async-process shape; they are not tied to a specific store instance.
API Reference§
● Variables
Example
Checking if cancelled
cancelled({ inProgress: false, success: false, fail: false, halt: true })
// => trueExample
Deriving complete state
const state = { inProgress: true, success: false, fail: false, halt: false }
derivedState(state)
// => { notStarted: false, inProgress: true, done: false, ... }Example
Checking if done
done({ inProgress: false, success: true, fail: false, halt: false })
// => trueExample
Checking if failed
failed({ inProgress: false, success: false, fail: true, halt: false })
// => trueExample
Checking if halted
halted({ inProgress: false, success: false, fail: false, halt: true })
// => trueExample
Checking if in progress
inProgress({ inProgress: true, success: false, fail: false, halt: false })
// => trueExample
Checking if not started
notStarted({ inProgress: false, success: false, fail: false, halt: false })
// => trueExample
Checking if paused
paused({ inProgress: true, success: false, fail: false, halt: true })
// => trueExample
Checking if restarting
restarting({ inProgress: true, success: true, fail: false, halt: false })
// => trueExample
Checking if retrying
retrying({ inProgress: true, success: false, fail: true, halt: false })
// => trueExample
Checking if successful
successful({ inProgress: false, success: true, fail: false, halt: false })
// => true