/// import { Cell, Default, handler, NAME, pattern, toSchema, UI, } from "commontools"; interface Item { text: Default; } interface InputSchemaInterface { title: Default; items: Default; } interface OutputSchemaInterface extends InputSchemaInterface { items_count: number; } type InputEventType = { detail: { message: string; }; }; const inputSchema = toSchema(); const outputSchema = toSchema(); // Handler that logs the message event const addItem = handler // < // { detail: { message: string } }, // { items: Item[] } // > ( (event: InputEventType, { items }: { items: Cell }) => { items.push({ text: event.detail.message }); }, ); export default pattern(({ title, items }) => { const items_count = items.length; return { [NAME]: title, [UI]: ( {title} Basic pattern Items count: {items_count} {items.map((item: Item, index: number) => ( {item.text} ))} ), title, items, items_count, }; }, inputSchema, outputSchema);
Basic pattern
Items count: {items_count}