You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
714 B
JavaScript
19 lines
714 B
JavaScript
"use strict";
|
|
|
|
const either = require("@validatem/either");
|
|
const wrapError = require("@validatem/wrap-error");
|
|
|
|
module.exports = function (operations) {
|
|
const isObjectType = require("./is-object-type")(operations);
|
|
const isConditionValue = require("./is-condition-value")(operations);
|
|
const wrapWithOperation = require("./wrap-with-operation")(operations);
|
|
|
|
return wrapError("Must be a type of condition or value", either([
|
|
[ isObjectType("condition") ], // equals, lessThan, moreThan
|
|
[ isObjectType("notCondition") ], // not(condition)
|
|
[ isObjectType("anyOfConditions") ], // anyOf(...)
|
|
[ isObjectType("allOfConditions") ], // allOf(...)
|
|
[ isConditionValue, wrapWithOperation("equals") ]
|
|
]));
|
|
};
|