oa-jira
Version:
Octet Agile's JIRA connectivity project.
15 lines (12 loc) • 520 B
JavaScript
const errors = require('../errors');
const promiseUtils = require('./promise.utils');
const check = (value, { name = 'boolean', required = true } = {}) => {
if (!value && value !== false) {
if (required === true) throw errors.missing.new(name);
return null;
}
if (typeof value !== 'boolean') throw errors.invalid.type.new(name, 'boolean');
return value;
};
exports.check = check;
exports.resolve = (value, { name, required } = {}) => promiseUtils.async(check, value, { name, required });