Package Exports
- mongoose-to-swagger
- mongoose-to-swagger/dist/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 (mongoose-to-swagger) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
mongoose-to-swagger
Conversion library for transforming Mongoose schema objects into Swagger schema definitions.
Installation
$ npm install --save mongoose-to-swagger
Overview
Converts a mongoose model into a swagger schema.
Usage
const mongoose = require('mongoose');
const m2s = require('mongoose-to-swagger');
const Cat = mongoose.model('Cat', { name: String });
const swaggerSchema = m2s(Cat);
console.log(swaggerSchema);
Meta properties
By default, description
, enum
, and required
fields are extracted from the mongoose schema definitions and placed into the correspoding swagger properties definitions. Additional meta props can be whitelisted using the props array on the options argument.
const Cat = mongoose.model('Cat', {
name: {
type: String,
/**
* Custom Properties
* `description` is enabled by default
*/
description: 'Name of the cat', // description is enabled by default
bar: 'baz' // custom prop
},
color: String
});
const options = {
/**
* Whitelist of custom meta fields.
*/
props: ['bar'],
/**
* Fields to omit from model root. "__v" and "id" are omitted by default with omitMongooseInternals (default: true)
*/
omitFields: ['_id', 'color'],
/**
* Omit mongoose internals, omits mongoose internals from result ("__v", "id" - mongoose version field and virtual id field) (default: true)
*/
omitMongooseInternals: false
};
const swaggerSchema = m2s(Cat, options);
Contributing
We look forward to seeing your contributions!
License
MIT © Ben Lugavere