Skip to content

A library for converting json-schema to mongoose schema.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE
MIT
LICENSE.md
Notifications You must be signed in to change notification settings

glitchdigital/json-schema-to-mongoose

This branch is 3 commits ahead of, 17 commits behind jon49/json-schema-to-mongoose:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

52252a5 · Jun 22, 2016

History

12 Commits
May 25, 2016
Aug 14, 2015
Apr 1, 2015
Apr 1, 2015
Jun 22, 2016
Apr 1, 2015
Apr 1, 2015
Apr 2, 2015
Apr 29, 2015
Apr 29, 2015
Apr 29, 2015
Apr 1, 2015
Apr 1, 2015
Apr 1, 2015
Apr 2, 2015
May 25, 2016

Repository files navigation

JSON Schema to Mongoose (Schema)

A translation library between JSON Schema and Mongoose Schema. Written in TypeScript.

This project was created from the ashes of json-schema-converter. I took away some features and made it more single purpose and added features to the conversion.

Installation

npm install json-schema-to-mongoose --save

Usage

/// <reference path="../node_modules/json-schema-to-mongoose/json-schema-to-mongoose.d.ts" />

import createMongooseSchema = require('./lib/json-schema')
import util = require('util')

// Or use plain javascript
// var createMongooseSchema = require('./lib/json-schema')
// var util = require('util')

// example json-schema references
var refs =
{
    yep:
    {
        type: 'string',
        pattern: '^\\d{3}$'
    },
    idSpec: {
        type: 'object',
        properties:
        {
            id:
            {
                $ref: 'yep'
            }
        }
    }
}

// example schema to convert to mongoose schema
var schema =
{
    type: 'object',
    properties:
    {
        id:
        {
            $ref: 'yep'
        },
        address:
        {
            type: 'object',
            properties:
            {
                street: {type: 'string', default: '44', pattern: '^\\d{2}$'},
                houseColor: {type: 'string', default: '[Function=Date.now]', format: 'date-time'}
            }
        }
    }
}

//Convert the schema
var mongooseSchema = createMongooseSchema(refs, schema)

//Alternative syntax, which makes it so you can convert many at one time.

// var jsonSchemas = {commonRef: ..., good: ..., schema: ..., naming: ...}
// var convert = createMongooseSchema(jsonSchemas)
// var schemaNames = ['good', 'schema', 'naming']
// var schemas = _.map(schemaNames, (name) => { return jsonSchemas[name] })
// var mongooseSchemas = _.zipObject(schemaNames, schemas.reduce((mongooseSchemas, schema) => {
//     return mongooseSchemas.concat(convert(schema))
// }, []))

console.log(util.inspect(mongooseSchema, false, null))

var Schema = new mongoose.Schema(mongooseSchema)

About

A library for converting json-schema to mongoose schema.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE
MIT
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%