UNPKG

@xstate/inspect

Version:
83 lines 2.3 kB
import type { ActorRef, AnyInterpreter, AnyState, AnyStateMachine, SCXML } from 'xstate'; import { XStateDevInterface } from 'xstate'; import { InspectMachineEvent } from './inspectMachine'; export declare type MaybeLazy<T> = T | (() => T); export declare type ServiceListener = (service: AnyInterpreter) => void; export declare type Replacer = (key: string, value: any) => any; export interface InspectorOptions { url?: string; iframe?: MaybeLazy<HTMLIFrameElement | null | false>; devTools?: MaybeLazy<XStateDevInterface>; serialize?: Replacer | undefined; targetWindow?: Window | undefined | null; } export interface Inspector extends ActorRef<InspectMachineEvent, AnyState> { /** * Disconnects the inspector. */ disconnect: () => void; } /** * Events that the receiver sends to the inspector */ export declare type ReceiverCommand = { type: 'xstate.event'; event: string; service: string; } | { type: 'xstate.inspecting'; }; /** * Events that the receiver receives from the inspector */ export declare type ReceiverEvent = { type: 'service.register'; machine: string; state: string; id: string; sessionId: string; parent?: string; source?: string; } | { type: 'service.stop'; sessionId: string; } | { type: 'service.state'; state: string; sessionId: string; } | { type: 'service.event'; event: string; sessionId: string; }; export declare type ParsedReceiverEvent = { type: 'service.register'; machine: AnyStateMachine; state: AnyState; id: string; sessionId: string; parent?: string; source?: string; } | { type: 'service.stop'; sessionId: string; } | { type: 'service.state'; state: AnyState; sessionId: string; } | { type: 'service.event'; event: SCXML.Event<any>; sessionId: string; }; export declare type InspectReceiver = ActorRef<ReceiverCommand, ParsedReceiverEvent>; export interface WindowReceiverOptions { window: Window; targetWindow: Window; } export interface WebSocketReceiverOptions { server: string; protocol?: 'ws' | 'wss'; serialize: Replacer | undefined; } //# sourceMappingURL=types.d.ts.map