Skip to content

searchfe/json-schema-generator

Repository files navigation

JSON Schema Generator

Build Status Coverage Status

Spec: http://json-schema.org/latest/json-schema-validation.html

Install

npm install --save jsg07

Usage

const jsg = require('jsg07');

let schema = jsg.infer({
    name: 'Mike',
    male: true,
    tags: ['Gentle', 'Nice']
});
console.log(JSON.stringify(schema, null, 4));

Output

{
    "title": "An object value",
    "required": [
        "name",
        "male",
        "tags"
    ],
    "properties": {
        "name": {
            "title": "A string value",
            "default": "",
            "pattern": "^(.*)$",
            "examples": [
                "Mike"
            ],
            "$id": "#/properties/name",
            "type": "string"
        },
        "male": {
            "title": "A boolean value",
            "default": false,
            "examples": [
                true
            ],
            "$id": "#/properties/male",
            "type": "boolean"
        },
        "tags": {
            "title": "An array of items",
            "items": {
                "title": "A string value",
                "default": "",
                "pattern": "^(.*)$",
                "examples": [
                    "Gentle"
                ],
                "$id": "#/properties/tags/items",
                "type": "string"
            },
            "$id": "#/properties/tags",
            "type": "array"
        }
    },
    "$id": "http://example.org/root.json#",
    "type": "object",
    "definitions": {},
    "$schema": "http://json-schema.org/draft-07/schema#"
}