summary

tcmts.core.schema.summary · #slduzpok · term · runs anywhere

import type { Schema } from "#codebase/tcmts/core/schema";

export function summary(s: Schema): string {
  switch (s.t) {
    case "literal":
      return JSON.stringify(s.value);
    case "array":
      return `${summary(s.of)}[]`;
    case "union":
      return s.of.map(summary).join(" | ");
    case "object":
      return "an object";
    case "ref":
      return "an object";
    default:
      return s.t;
  }
}

uses

used by