// Generated by tools/write-iframe-wrapper.ts. // Edit the contract or guest source and regenerate this wrapper. import { type Default, NAME, pattern, type Stream, UI, type VNode, Writable, } from "commonfabric"; import { DEFAULT_INPUT, DEFAULT_OUTPUT, DEFAULT_STATE, type IframeInputData, type IframeOutputData, type IframeStateData, type IframeStreamEvents, } from "./contract.ts"; export interface VerbListFrameInput { input?: Default; addItem: Stream; } export interface VerbListFrameOutput { [NAME]: string; [UI]: VNode; state: IframeStateData; output: IframeOutputData; } interface IframeContextInput { input: IframeInputData; state: Writable>; output: Writable>; "addItem": Stream; } interface IframeContextOutput extends IframeContextInput {} const IframeContext = pattern( (context) => context, ); const GUEST_HTML = '\n\n \n \n \n Verb list\n \n \n \n
\n \n \n\n'; export default pattern(({ input, addItem: iframeStream0, }) => { const state = new Writable(DEFAULT_STATE); const output = new Writable(DEFAULT_OUTPUT); const iframeInput = input ?? DEFAULT_INPUT; const context = IframeContext({ input: iframeInput, state, output, ["addItem"]: iframeStream0, }); return { [NAME]: "Verb list", [UI]: (
), state, output, }; });