meerkat-machine-kernels 0.5.2

Generated execution kernels and contract helpers for Meerkat state machines
Documentation
// Generated by `cargo xtask machine-codegen --all`.
use crate::runtime::{
    GeneratedMachineKernel, KernelInput, KernelState, KernelValue, TransitionOutcome,
    TransitionRefusal,
};

pub fn schema() -> meerkat_machine_schema::MachineSchema {
    meerkat_machine_schema::comms_drain_lifecycle_machine()
}

pub fn kernel() -> GeneratedMachineKernel {
    GeneratedMachineKernel::new(schema())
}

pub fn initial_state() -> Result<KernelState, TransitionRefusal> {
    kernel().initial_state()
}

pub fn transition(
    state: &KernelState,
    input: &KernelInput,
) -> Result<TransitionOutcome, TransitionRefusal> {
    kernel().transition(state, input)
}

pub fn evaluate_helper(
    state: &KernelState,
    helper_name: &str,
    args: &std::collections::BTreeMap<String, KernelValue>,
) -> Result<KernelValue, TransitionRefusal> {
    kernel().evaluate_helper(state, helper_name, args)
}