JSPM

  • Created
  • Published
  • Downloads 212042
  • Score
    100M100P100Q177121F
  • License Apache-2.0

JSON Schema Meta Schema & Generated types for typescript, rust, golang and python

Package Exports

  • @json-schema-tools/meta-schema
  • @json-schema-tools/meta-schema/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@json-schema-tools/meta-schema) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

JSON Schema Meta Schema

This repo contains the json schema meta schema and code to package it on npm, generate typings, etc.

Installing

Typescript

npm install --save @json-schema-tools/meta-schema

Golang

go get github.com/json-schema-tools/meta-schema

Rust

cargo install json_schema

Using

Typescript

import JSONSchema, { JSONSchemaObject, Properties, Items } from "@json-schema-tools/meta-schema"

Rust

From a string

let foo = r#"{
    "title": "helloworld",
    "type": "string"
}"#;

let as_json_schema: JSONSchemaObject = serde_json::from_str(foo).unwrap();

Using builder pattern

let schema = JSONSchemaObjectBuilder::default()
    .title("foobar".to_string())
    ._type(Type::SimpleTypes(SimpleTypes::String))
    .build()
    .unwrap();

let as_str = serde_json::to_string(&schema).unwrap();

Contributing

How to contribute, build and release are outlined in CONTRIBUTING.md, BUILDING.md and RELEASING.md respectively. Commits in this repository follow the CONVENTIONAL_COMMITS.md specification.