import { assertEvent } from "https://deno.land/x/xstate@xstate@5.12.0/src/assert.ts";
Asserts that the given event object is of the specified type or types. Throws an error if the event object is not of the specified types.
Examples
Example 1
Example 1
// ...
entry: ({ event }) => {
assertEvent(event, 'doNothing');
// event is { type: 'doNothing' }
},
// ...
exit: ({ event }) => {
assertEvent(event, 'greet');
// event is { type: 'greet'; message: string }
assertEvent(event, ['greet', 'notify']);
// event is { type: 'greet'; message: string }
// or { type: 'notify'; message: string; level: 'info' | 'error' }
},
Type Parameters
TEvent extends EventObject
TAssertedType extends TEvent["type"]
Parameters
event: TEvent
type: TAssertedType | TAssertedType[]
Returns
asserts event is TEvent & { type: TAssertedType; }