check-input

Validate input and throw a custom error. Use it in promise chains

Usage no npm install needed!

<script type="module">
  import checkInput from 'https://cdn.skypack.dev/check-input';
</script>

README

check-input

Build Status Coverage Status

Validates input. Throws a custom error message if input is not valid. For use in promise chains.

Installation

npm install --save check-input

Usage

const checkInput = require('checkInput');

checkInput.isString(123); // throws error

In a promise chain:

Promise.resolve()
    .then(() => checkInput.isString(123))
    .then(() => console.log('valid!'))
    .catch(err => console.log(err.message)); // logs 'invalid input, should be of type string'

Validate an object shape:

function validateUser(user) {
  return checkInput.isObject(user, {
    shape: {
      name: {type: 'string', required: true},
      age: {type: 'number', required: true},
      hobbies: {type: 'array', elementType: 'string'}
    }
  })
}

function postUsers(req, res, next) {
  Promise.resolve()
    .then(() => validateUser(req.body.user))
    .then(user => db.addUser(user))
    .then(user => res.send(user))
    .catch(err => next(err));
}
const checkInput = require('checkInput');

checkInput.isNumber(123, {
    max: 100,
    min: 10,
    errorMessage: 'number must be between 10 and 100'
}); // throws error - 'number must be between 10 and 100'

Methods

Check out the docs for detailed info

.isArray(input [,options])
.isNumber(input [,options])
.isString(input [,options])
.isObject(input [,options])