mongoose-to-joi-translator

Converts mongoose schema to Joi.

Showing:

Popularity

Downloads/wk

13

GitHub Stars

4

Maintenance

Last Commit

2yrs ago

Contributors

3

Package

Dependencies

2

Size (min+gzip)

44.9KB

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

Mongoose-to-joi-translator Logo

mongoose-to-joi-translator

Build Status codecov dependencies Status devDependencies Status

Description

Translates Mongoose schema to Joi. You can use Joi schema to do the validation. The idea is to write database models once and validate everywhere.

Installation

npm install mongoose-to-joi-translator

Supported validations

  1. All types
    • required
    • valid (enum validation)
    • default
  2. Strings
    • min
  3. Arrays
    • items (element types)
  4. Numbers
    • min
    • max
  5. Objects
  6. Dates
  7. ObjectIDs
  8. Booleans
  9. Custom sync validators as documented here

Deeply nested document validation is supported, i.e. Objects within Objects, Arrays within Objects etc.

Testing

npm test

Usage

// Require the library
const getJoiSchema = require('mongoose-to-joi-translator');
const schema = new Schema({ word: { type: String } });
const ModelName = mongoose.model('ModelName', schema);
// Extract schema
const joiSchema = getJoiSchema(ModelName);
// Use Joi to validate
const { error, value } = Joi.validate({ word: 'hello' }, joiSchema);

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100