Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    jschemapublic

    jschema


    jschema is a JSON schema validation library, written to follow the JSON-schema draft 03 spec as found at http://tools.ietf.org/html/draft-zyp-json-schema-03

    It is not yet a complete implementation, missing things from the draft are:

    • item tuple schemas: the ability to define an array of schemas to match against an array
    • additionalItems: since item tuples aren't supported, this isn't really possible yet
    • default/title/description: while you can put these in your schema, they only serve as comments since the values are not used anywhere
    • format: see section 5.23 of the draft, none of this is implemented
    • extends: to maintain simplicity, extends is not implemented. it's easy enough to define your schema as smaller bits of json and reuse what you need to
    • id
    • $ref
    • $schema
    • Hyper Schema

    Everything else stated in the spec is at least mostly functional. Note that, currently, there is no test suite. That's something I intend to fix ASAP.

    Example usage:

    var jschema = require('jschema');
    var schema = {
        type: 'object',
        title: 'main',
        additionalProperties: {
            type: 'string'
        },
        patternProperties: {
            'h$': {
                type: 'number'
            }
        },
    };
    
    var test = jschema(schema);
    test.validate({ one: 'test', bath: 'cold', hearth: 'test', bacon: 'test' }, function (err) {
        if (err) {
            console.log(err); // properties 'bath' and 'hearth' will fail, as they match patternProperties and are not numbers
        } else {
            console.log('looks valid!');
        }
    });
    

    Keywords

    none

    install

    npm i jschema

    Downloadsweekly downloads

    12

    version

    0.0.5

    license

    none

    repository

    github.com

    last publish

    collaborators

    • avatar