Nascent Political Miscreant
    Wondering what’s next for npm?Check out our public roadmap! »

    mongoose-to-swagger
    TypeScript icon, indicating that this package has built-in type declarations

    1.3.0 • Public • Published

    NPM version Build Status Coverage Status

    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" is omitted by default
         */
        omitFields: ['_id', 'color'], 
    };
    
    const swaggerSchema = m2s(Cat, options);

    Contributing

    We look forward to seeing your contributions!

    License

    MIT © Ben Lugavere

    Install

    npm i mongoose-to-swagger

    DownloadsWeekly Downloads

    6,855

    Version

    1.3.0

    License

    MIT

    Unpacked Size

    65.8 kB

    Total Files

    9

    Last publish

    Collaborators

    • avatar