UNPKG

@vulcan-sql/build

Version:

VulcanSQL package for building projects

37 lines 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CheckValidator = void 0; const tslib_1 = require("tslib"); const middleware_1 = require("./middleware"); const lodash_1 = require("lodash"); const core_1 = require("@vulcan-sql/core"); const inversify_1 = require("inversify"); let CheckValidator = class CheckValidator extends middleware_1.SchemaParserMiddleware { constructor(validatorLoader) { super(); this.validatorLoader = validatorLoader; } handle(schemas, next) { return tslib_1.__awaiter(this, void 0, void 0, function* () { yield next(); const transformedSchemas = schemas; const validators = (0, lodash_1.chain)(transformedSchemas.request) .flatMap((req) => req.validators) .value(); for (const validatorRequest of validators) { if (!validatorRequest.name) { throw new core_1.ConfigurationError('Validator name is required'); } const validator = this.validatorLoader.getValidator(validatorRequest.name); // TODO: indicate the detail of error validator.validateSchema(validatorRequest.args); } }); } }; CheckValidator = tslib_1.__decorate([ tslib_1.__param(0, (0, inversify_1.inject)(core_1.TYPES.ValidatorLoader)), tslib_1.__metadata("design:paramtypes", [Object]) ], CheckValidator); exports.CheckValidator = CheckValidator; //# sourceMappingURL=checkValidator.js.map