On this pageFunctions
Story
/** Asserts that the pending Commands match the given definitions exactly (order-independent). */
(definitions: readonly Array<CommandDefinition<string, unknown>>): (simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>/** Asserts that every given Command is among the pending Commands. */
(definitions: readonly Array<CommandDefinition<string, unknown>>): (simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>/** Asserts that there are no pending Commands. */
(): (simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>/** Asserts that the OutMessage is None. */
(): (simulation: StorySimulation<Model, Message, Option.Option<OutMessage>>) => StorySimulation<Model, Message, Option.Option<OutMessage>>/** Asserts that the OutMessage is Some with the expected value. */
<OutMessage>(expected: OutMessage): (simulation: StorySimulation<Model, Message, Option.Option<OutMessage>>) => StorySimulation<Model, Message, Option.Option<OutMessage>>/** Sends a Message through update. Commands stay pending until resolve or resolveAll. */
<Message>(message_: NoInfer<Message>): (simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>/** Runs an assertion function against the current Model. */
<Model, Message, OutMessage = undefined>(f: (model: Model) => void): (simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>/** Resolves all listed Commands with their result Messages. Handles cascading resolution. */
(pairs: readonly Array<ResolverPair>): (simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>/** An immutable test simulation of a Foldkit program. */
type StorySimulation = Readonly<{
commands: ReadonlyArray<AnyCommand>
model: Model
outMessage: OutMessage
}>/** A single step in a story — either a WithStep or a simulation transform. */
type StoryStep = WithStep<NoInfer<Model>> | (simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>/** A callable step that sets the initial Model. Carries phantom type for compile-time validation. */
type WithStep = Readonly<{
_phantomModel: Model
}> & (simulation: StorySimulation<M, Message, OutMessage>) => StorySimulation<M, Message, OutMessage>/** Resolves a specific pending Command with the given result Message. */
const resolve: (definition: CommandDefinition<Name, ResultMessage>, resultMessage: ResultMessage) => (simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>