/// import { Default, NAME, pattern, Stream, UI } from "commontools"; import { getValue, roll } from "./dice-handlers.ts"; interface RecipeState { value: Default; } interface RecipeOutput { value: number; something: { nested: string; }; roll: Stream<{ sides?: number }>; } export default pattern((state) => { return { [NAME]: `Dice Roller`, [UI]: ( Roll D6 getValue(state), Roll D20 Current value: {state.value} Check value ), value: state.value, roll: roll(state), something: { nested: "a secret surprise!", }, }; });