UNPKG

silvie

Version:

Typescript Back-end Framework

28 lines (27 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _rule = require("../rule"); var _ = _interopRequireDefault(require("./..")); var _checkExistence = _interopRequireDefault(require("../helpers/checkExistence")); var _dec, _class; function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } let RequiredUnlessRule = exports.default = (_dec = (0, _rule.rule)('requiredUnless'), _dec(_class = class RequiredUnlessRule { validate(validator, name, value, path, key) { const results = _.default.findData(validator.data, path.split('.')); if (results.length === 0) { return (0, _checkExistence.default)(value) || undefined; } for (let index = 0; index < results.length; index++) { const { value: matchingValue } = results[index]; if ((typeof matchingValue === 'string' ? matchingValue : JSON.stringify(matchingValue)) === key) { return (0, _checkExistence.default)(value) || undefined; } } return (0, _checkExistence.default)(value) || null; } }) || _class);