1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| export function typeKey(t?: string) { if (t && t !== "") { return t; } return "string"; }
export type Type = | string | { k: string; t: { [key: string]: unknown }; };
export function typeToString(t: Type): string { if (typeof t === "string") { return t; } switch (t.k) { case "enum": return "enum(" + t.t.ref + ")"; case "list": return "[]" + typeToString(t.t.v as Type); default: return t.k; } }
export type Column = { key: string; title: string; description?: string; type?: string; };
export type Editor = { key: string; title: string; columns: Column[]; textarea: HTMLTextAreaElement; rows: { [key: string]: unknown }[]; table?: Element; };
|