validator-list
Version:
18 lines (17 loc) • 720 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AsyncDefaultValueValidator = void 0;
const _ = require("lodash");
const abstract_validator_1 = require("./abstract-validator");
class AsyncDefaultValueValidator extends abstract_validator_1.AbstractValidator {
static async validate(value, defaultValue) {
if (this.isEmpty(value)) {
return _.isFunction(defaultValue) ? await defaultValue() : defaultValue;
}
return value;
}
static isEmpty(value) {
return _.isNil(value) || value === '' || ((_.isArray(value) || _.isPlainObject(value)) && _.isEmpty(value));
}
}
exports.AsyncDefaultValueValidator = AsyncDefaultValueValidator;