@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?
T
Optional 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?
any
Optional 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?
T
Optional 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?
T
Optional 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?
T
Optional 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

§type

CANCEL

§type

FAIL

§type

PAUSE

§type

START

§type

SUCCESS