Add isPlainObject validator
This commit is contained in:
parent
aa5659ca97
commit
47d5a38508
12
index.js
12
index.js
|
@ -3,6 +3,7 @@
|
|||
const createError = require("create-error");
|
||||
const assureArray = require("assure-array");
|
||||
const defaultValue = require("default-value");
|
||||
const isPlainObj = require("is-plain-obj");
|
||||
const util = require("util");
|
||||
|
||||
let ValidationError = createError("ValidationError", { path: [] });
|
||||
|
@ -136,7 +137,13 @@ function aggregrateErrors(errors) {
|
|||
function validateArguments(args, rules) {
|
||||
let errors = validateArgumentList(args, rules);
|
||||
|
||||
aggregrateErrors(errors);
|
||||
aggregrateErrors(errors);
|
||||
}
|
||||
|
||||
function isPlainObject(value) {
|
||||
if (!isPlainObj(value)) {
|
||||
throw new ValidationError("Must be a plain object (eg. object literal)");
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
@ -148,7 +155,7 @@ module.exports = {
|
|||
},
|
||||
validateOptions: function (args, optionsRules) {
|
||||
return validateArguments(args, [
|
||||
["options", optionsRules]
|
||||
["options", isPlainObject].concat(assureArray(optionsRules))
|
||||
]);
|
||||
},
|
||||
ValidationError: ValidationError,
|
||||
|
@ -183,6 +190,7 @@ module.exports = {
|
|||
throw new ValidationError("Must be a Buffer object");
|
||||
}
|
||||
},
|
||||
isPlainObject: isPlainObject,
|
||||
either: function (...alternatives) {
|
||||
if (alternatives.length === 0) {
|
||||
throw new Error("Must specify at least one alternative");
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"dependencies": {
|
||||
"assure-array": "^1.0.0",
|
||||
"create-error": "^0.3.1",
|
||||
"default-value": "^1.0.0"
|
||||
"default-value": "^1.0.0",
|
||||
"is-plain-obj": "^2.0.0"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue