Improved markdown rendering, allow hiding components
This commit is contained in:
parent
d200d48903
commit
a9a979c5f8
10 changed files with 598 additions and 100 deletions
|
@ -18,6 +18,7 @@ import { z } from "zod";
|
|||
|
||||
const Base = z.object({
|
||||
$define: z.string(),
|
||||
$hidden: z.boolean().default(false),
|
||||
id: z.string(), // TODO: Validate ID shapes
|
||||
name: z.string().default("Unnamed Component"),
|
||||
description: z.string().default("No description provided"),
|
||||
|
@ -306,9 +307,13 @@ function parseSpeciesDefinition(obj: unknown): ParsedComponent {
|
|||
};
|
||||
}
|
||||
|
||||
export function parsePlaybillComponent(obj: unknown): ParsedComponent {
|
||||
export function parsePlaybillComponent(obj: unknown): ParsedComponent | null {
|
||||
const baseParse = Base.parse(obj);
|
||||
|
||||
if (baseParse.$hidden) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const type = parseComponentType(baseParse.$define);
|
||||
const schema = SchemaMapping[type];
|
||||
const component = schema.parse(obj);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue