Negotiable Paleobotanist Missions

npm

Ready to take your JavaScript development to the next level? Meet npm Enterprise - the ultimate in enterprise JavaScript.Learn more »

json-schema-to

0.0.16 • Public • Published

Build Status NPM version Coverage Status Dependency Status devDependency Status

JSON-Schema To
≤GraphQL|Protobuf|Code≥.™

Generate third-party definitions directly from your JSON-Schema.

Contribute!

This module is under development, we're missing:

  • Documentation
  • Advanced examples
  • Complete unit-testing
  • Complete code-coverage

How it works?

JSON-Schema, GraphQL and Protobuf are generated from YAML definitions, e.g.

id: User
service:
  calls:
  set: updatePassword
    resp: User
    input: UpdatePasswordParams
    params: UpdatePasswordRequest
definitions:
  UpdatePasswordParams:
  UpdatePasswordRequest:

This definition is also a JSON-Schema definition.

Actually, it can be a .json file to but YAML format it's easier to maintain.

Due resp, input and params are schema identifiers they'll be looked-up from all available schemas or from #/definitions on the current file.

Options for calls are:

  • get — RPC call (or Query)
  • set — RPC call (or Mutation)
  • resp — Response type
  • input — Request type
  • params — Request type (Protobuf only)

Use the params option only if you want different input types.

Having some definitions like this we can produce different outputs, e.g.

$ tree .
.
└── schema
    └── test.yml

1 directory, 1 file

$ npx json-schema-to -s schema --json --graphql --protobuf
write ./generated/user.json
write ./generated/user.gql
write ./generated/user.proto
write ./generated/common.json
write ./generated/common.gql
write ./generated/common.proto

Now you can use those sources in your application.

Use --help to display more usage info from the CLI

install

npm i json-schema-to

Downloadsweekly downloads

16

version

0.0.16

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability