/** * FUTURE REPRO: patternized map callbacks should follow object-destructured aliases * * A destructured alias may remain structural, but later computations over it * should still lower at their own seam. */ import { Default, pattern, UI, VNode, Writable, } from "commonfabric"; interface FileEntry { name: string; type: "file" | "folder"; } interface Input { files: Writable>; } interface Output { [UI]: VNode; } export default pattern(({ files }) => { return { [UI]: (
{files.map((file) => { const { type: kind } = file; const isFolder = kind === "folder"; return {isFolder ? file.name : "locked"}; })}
), }; });