import { ArrayLabel, ObjectLabel, StringLabel, NumberLabel, IntegerLabel, BooleanLabel, NullLabel, TrueLabel, FalseLabel, } from "@theme/JSONSchemaViewer/labels" import type { JSX } from "react" import type { TypeValues } from "@theme/JSONSchemaViewer/types" type Props = { // To cover unknown types, as well "any" or "none" type: TypeValues | true | false | string [x: string]: any } export default function TypeLabelSwitch(props: Props): JSX.Element { const { type, ...rest } = props switch (type) { case "string": return case "number": return case "boolean": return case "object": return case "array": return case "integer": return case "null": return case true: return case false: return default: return {type} } }