UNPKG

mongoose-schema-jsonschema

Version:

Mongoose extension that allows to build json schema for mongoose models, schemas and queries

37 lines (26 loc) 1.21 kB
const schema_jsonSchema = require('./lib/schema'); const model_jsonSchema = require('./lib/model'); const query_jsonSchema = require('./lib/query'); const types = require('./lib/types'); module.exports = function moduleFactory(mongoose) { // eslint-disable-next-line global-require mongoose = mongoose || require('mongoose'); const { Types } = mongoose.Schema; mongoose.SchemaType.prototype.jsonSchema = types.simpleType_jsonSchema; Types.Date.prototype.jsonSchema = types.date_jsonSchema; Types.ObjectId.prototype.jsonSchema = types.objectId_jsonSchema; Types.Array.prototype.jsonSchema = types.array_jsonSchema; Types.DocumentArray.prototype.jsonSchema = types.array_jsonSchema; if (Types.Embedded) { Types.Embedded.prototype.jsonSchema = types.mixed_jsonSchema; } if (Types.Subdocument) { Types.Subdocument.prototype.jsonSchema = types.mixed_jsonSchema; } Types.Mixed.prototype.jsonSchema = types.mixed_jsonSchema; Types.Map.prototype.jsonSchema = types.map_jsonSchema; mongoose.Schema.prototype.jsonSchema = schema_jsonSchema; mongoose.Model.jsonSchema = model_jsonSchema; mongoose.Query.prototype.jsonSchema = query_jsonSchema; return mongoose; };