Convert complex JSON Schemas into fully‑typed TypeScript interfaces:
enum
, oneOf
/anyOf
→ union types.description
.readonly
and trailing semicolons.Input Schema:
{
"type":"object",
"properties":{
"id": { "type":"integer", "description":"Unique ID" },
"status": { "enum":["new","ready","done"], "description":"Current state" },
"profile": {
"type":"object",
"description":"User profile",
"properties":{
"age":{ "type":"number" },
"tags":{ "type":"array","items":{"type":"string"} }
},
"required":["age"]
}
},
"required":["id","status"]
}
Options: Name: Item | nested: ✔ | jsdoc: ✔ | readonly: ✔ | semicolon: ✖
Output:
export interface Item_Profile {
tags?: string[]
age: number
}
export interface Item {
/** Unique ID */
readonly id: number
/** Current state */
readonly status: "new" | "ready" | "done"
/** User profile */
readonly profile?: Item_Profile
}
Use this when generating TS bindings for APIs, forms, or config schemas directly from your JSON Schema definitions.