Skip to content

Tool for generating language specific schemas and interfaces code from JSON Type Definition IDL files in yaml format. Powered by jtd-codegen.

License

Notifications You must be signed in to change notification settings

01Joseph-Hwang10/jtd-codebuild

Repository files navigation

JSON Type Definition Code Build

PyPI version Testsuite Python version Project Status Supported Interpreters License

jtd-codebuild is a tool for generating language specific schemas and interfaces code from JSON Type Definition IDL files in either yaml or json format.

This tool is built on top of jtd-codegen so check out the documentation if you don't have a clue about JSON Type Definition.

Quick Example

In this example, we will generate Python and TypeScript code from JSON Type Definition IDL files.

First, copy and paste the following configuration file to the root of your project.

{
  "include": [
    "src"
  ],
  "references": [],
  "jtdBundlePath": "gen/schema.jtd.json",
  "targets": [
    {
      "language": "python",
      "path": "gen/python"
    },
    {
      "language": "typescript",
      "path": "gen/typescript"
    }
  ],
  "$schema": "https://raw.githubusercontent.com/01Joseph-Hwang10/jtd-codebuild/master/jtd_codebuild/config/project/config.json"
}

Then, we'll create some JSON Type Definition IDL files in the src directory.

# src/book.jtd.yaml
Book:
  properties:
    id:
      type: string
    title:
      type: string
# src/user.jtd.yaml
User:
  properties:
    id:
      type: string
    name:
      type: string
    books:
      elements:
        ref: Book

Finally, run the following command to generate the code.

jtd-codebuild .

You can find the generated code in the gen directory.

More Examples

You can find more examples under the tests directory:

API Documentation

See the API Documentation for more information.

Contributing

Any contribution is welcome! Check out CONTRIBUTING.md and CODE_OF_CONDUCT.md for more information on how to get started.

License

jtd-codebuild is licensed under a MIT License.

About

Tool for generating language specific schemas and interfaces code from JSON Type Definition IDL files in yaml format. Powered by jtd-codegen.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •