xstate
Version:
Finite State Machines and Statecharts for the Modern Web.
40 lines (39 loc) • 1.71 kB
TypeScript
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 {};