@hyperfrontend/state-machine/actions

actions

Action creators and type constants for the async-process lifecycle.

start, cancel, pause, success, and fail are the canonical action creators consumed by the reducer to drive async-process state transitions. START, CANCEL, PAUSE, SUCCESS, and FAIL are the matching string-constant action types, exported separately so application code can reference them without re-deriving the values.

API Reference§

ƒ Functions

§function

cancel<T>(payload?: T): { payload: T; type: string }

Creates a cancel action.
Parameters
NameTypeDescription
§payload?
TOptional payload data
Returns
{ payload: T; type: string }
Cancel action object
Example

Creating a cancel action

const action = cancel({ reason: 'user-requested' })
// => { type: 'CANCEL', payload: { reason: 'user-requested' } }
§function

fail(error?: any): { error: any; type: string }

Creates a fail action.
Parameters
NameTypeDescription
§error?
anyOptional error information
Returns
{ error: any; type: string }
Fail action object
Example

Creating a fail action

const action = fail(new Error('Network timeout'))
// => { type: 'FAIL', error: Error('Network timeout') }
§function

pause<T>(payload?: T): { payload: T; type: string }

Creates a pause action.
Parameters
NameTypeDescription
§payload?
TOptional payload data
Returns
{ payload: T; type: string }
Pause action object
Example

Creating a pause action

const action = pause({ resumeAt: Date.now() + 5000 })
// => { type: 'PAUSE', payload: { resumeAt: 1712345678 } }
§function

start<T>(payload?: T): { payload: T; type: string }

Creates a start action.
Parameters
NameTypeDescription
§payload?
TOptional payload data
Returns
{ payload: T; type: string }
Start action object
Example

Creating a start action

const action = start({ taskId: 'download-123' })
// => { type: 'START', payload: { taskId: 'download-123' } }
§function

success<T>(payload?: T): { payload: T; type: string }

Creates a success action.
Parameters
NameTypeDescription
§payload?
TOptional payload data
Returns
{ payload: T; type: string }
Success action object
Example

Creating a success action

const action = success({ result: 'file-downloaded' })
// => { type: 'SUCCESS', payload: { result: 'file-downloaded' } }

● Variables