@allgemein/schema-api
Version:
Library for schema api
40 lines • 1.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Validator = void 0;
const lodash_1 = require("lodash");
const DefaultValidator_1 = require("./DefaultValidator");
/**
* Abstraction for defualt validator functions
*/
class Validator {
static add(fn, fnInfo) {
this.fn.push(fn);
this.info.push(fnInfo);
}
static reset() {
this.fn = [];
this.info = [];
}
static async getValidationEntries(fn) {
if ((0, lodash_1.isEmpty)(this.info)) {
return [];
}
const data = await Promise.all(this.info.map(x => x(fn)));
return [].concat(...data);
}
static async validate(instance, ref) {
if ((0, lodash_1.isEmpty)(this.fn)) {
return [];
}
const data = await Promise.all(this.fn.map(x => x(instance, ref)));
return [].concat(...data);
}
}
exports.Validator = Validator;
Validator.fn = [
DefaultValidator_1.DefaultValidator.validate.bind(DefaultValidator_1.DefaultValidator)
];
Validator.info = [
DefaultValidator_1.DefaultValidator.validationInfo.bind(DefaultValidator_1.DefaultValidator)
];
//# sourceMappingURL=Validator.js.map