UNPKG

xstate

Version:

Finite State Machines and Statecharts for the Modern Web.

40 lines (39 loc) 1.71 kB
import { EventObject, MachineContext, ActionArgs, ParameterizedObject } from "../types.js"; type ResolvableSendId<TContext extends MachineContext, TExpressionEvent extends EventObject, TParams extends ParameterizedObject['params'] | undefined, TEvent extends EventObject> = string | ((args: ActionArgs<TContext, TExpressionEvent, TEvent>, params: TParams) => string); export interface CancelAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TParams extends ParameterizedObject['params'] | undefined, TEvent extends EventObject> { (args: ActionArgs<TContext, TExpressionEvent, TEvent>, params: TParams): void; } /** * Cancels a delayed `sendTo(...)` action that is waiting to be executed. The * canceled `sendTo(...)` action will not send its event or execute, unless the * `delay` has already elapsed before `cancel(...)` is called. * * @example * * ```ts * import { createMachine, sendTo, cancel } from 'xstate'; * * const machine = createMachine({ * // ... * on: { * sendEvent: { * actions: sendTo( * 'some-actor', * { type: 'someEvent' }, * { * id: 'some-id', * delay: 1000 * } * ) * }, * cancelEvent: { * actions: cancel('some-id') * } * } * }); * ``` * * @param sendId The `id` of the `sendTo(...)` action to cancel. */ export declare function cancel<TContext extends MachineContext, TExpressionEvent extends EventObject, TParams extends ParameterizedObject['params'] | undefined, TEvent extends EventObject>(sendId: ResolvableSendId<TContext, TExpressionEvent, TParams, TEvent>): CancelAction<TContext, TExpressionEvent, TParams, TEvent>; export {};