UNPKG

@hexworks/cobalt-state

Version:

State machine utility for Cobalt.

15 lines (14 loc) 828 B
import { ProgramError } from "@hexworks/cobalt-core"; import { Event } from "@hexworks/cobalt-events"; import * as RTE from "fp-ts/ReaderTaskEither"; import { z } from "zod"; import { State, StateBuilder, TransitionBuilder } from ".."; export declare class DefaultStateBuilder<S, C, N extends string> implements StateBuilder<S, C, N> { private params; constructor(name: N); withSchema(schema: z.Schema<S>): StateBuilder<S, C, N>; onEvent<E extends Event<T>, T extends string = string>(type: T, fn: (builder: TransitionBuilder<S, C, T, E, N>) => StateBuilder<S, C, N>): StateBuilder<S, C, N>; onEntry(fn: (data: S) => RTE.ReaderTaskEither<C, ProgramError, S>): StateBuilder<S, C, N>; onExit(fn: (data: S) => RTE.ReaderTaskEither<C, ProgramError, S>): StateBuilder<S, C, N>; build(): State<S, C, N>; }