Skip to content

Variable: ChartSchema

const ChartSchema: ZodObject<{ chartId: ZodString; error: ZodOptional<ZodString>; result: ZodOptional<ZodObject<{ chartType: ZodUnion<readonly [ZodLiteral<"bar">, ZodLiteral<"horizontalBar">, ZodLiteral<"line">, ZodLiteral<"area">, ZodLiteral<"combo">, ZodLiteral<"waterfall">, ZodLiteral<"scatter">, ZodLiteral<"heatmap">, ZodLiteral<"radar">, ZodLiteral<"pie">, ZodLiteral<"funnel">, ZodLiteral<"treemap">, ZodLiteral<"custom">]>; option: ZodRecord<ZodString, ZodUnknown>; }, $strip>>; }, $strip>

Wire-format AND server-side cache shape for a chart entry. Three lifecycle states inferred from the two optional fields (no discriminator needed):

  • result set -> chart is ready to render
  • error set -> planner / data fetch failed
  • both result and error unset -> still processing

option is typed as a generic record so this package stays dependency-free of echarts. The server (chart.ts) imports this schema directly; the demo client polls the /embed/chart/:id route and parses responses against it.