ncpenke / json-schema-typescript

Generate typescript interfaces and deserializer from a JSON schema

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

json-schema-typescript

Generate typescript interfaces and deserializer logic from a JSON schema

Features

  • Generate named interfaces and enums for to the root of the schema ane each definition in the top-level "$defs" property
  • Generate inline interfaces and enums for each property that doesn't have an explicit definition in "$defs"
  • Handle references to external schemas by importing using the relative path
  • JSON deserializer that uses autogenerated type information.

Assumptions:

  • All definitions are in the top-level "$defs" property
  • External schema references use relative paths
  • The name of the schema file is used as the root type name of the schema

Note:

  • Features in JSON schema which result in ambiguous during deserialization are not supported.

Implementation Notes

  • The JSON schema is first converted to an intermediate representation that drives the generator the generate the top-level types and also the type information used by the JSON deserializer.

About

Generate typescript interfaces and deserializer from a JSON schema

License:MIT License


Languages

Language:TypeScript 95.4%Language:JavaScript 4.6%