Menu Close
In fact, it has the 39mm Oystersteel monobloc middle-case of the OP essentially, which appears a little more curvaceous than the flat, trapezoid profile of the 40mm Oystersteel Submariner. The bezel of the replica rolex watches Explorer I is different on each: The OP has a domed, high-polish bezel, while the Explorer I has what Rolex calls a "Smooth" bezel. It has a flat surface instead of the convex bezel of the OP, with nicely polished.



A simple lightweight Express.js Validation Library (With predefined validators [WIP])

How to install

npm install express-dry


yarn add express-dry
  • Include in your project
    Eg. routes/auth.js
const { Router } = require('express') const dry = require('express-dry') const router = Router()'/login', dry.body({ username: { type: String }, password: { type: String }, foo: { type: Boolean, required: false } }), async (req, res) => {}) module.exports = router

After this the .body will return a middleware with packed automatic validation inside and it will directly return error response to client with a {message: ''} in it

  • Same with params and query

dry.params({ id: { type: Number } }, { allowExtraKeys: false })
dry.query({ search: { type: String, required: false } }, { allowExtraKeys: true, statusCode: 200 })

Complete Example'/login', dry.body({ name: { type: String }, age: { type: Number, min: 18, max: 35 }, password: { type: String, minLength: 8, maxLength: 20 }, consent: { type: Boolean, required: false } }, { allowExtraKeys: false }), async (req, res) => {})


  • All Javascript supported primitives
  • optional payload validation with required: false
  • Will be adding more custom validations such as Email, MongoObjectId and many more 🙂


@uditkarode for drytypes


MIT ©Swapnil Soni

View Source Code