@vulcan-sql/build
Version:
VulcanSQL package for building projects
29 lines • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AddMissingErrors = void 0;
const tslib_1 = require("tslib");
const middleware_1 = require("./middleware");
// Add error code to definition if it is used in query but not defined in schema
class AddMissingErrors extends middleware_1.SchemaParserMiddleware {
handle(schemas, next) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
yield next();
const transformedSchemas = schemas;
const metadata = schemas.metadata;
// Skip validation if no metadata found
if (!(metadata === null || metadata === void 0 ? void 0 : metadata['error.vulcan.com']))
return;
const errorCodes = metadata['error.vulcan.com'].errorCodes;
errorCodes.forEach((error) => {
if (!transformedSchemas.errors.some((e) => e.code === error.code)) {
transformedSchemas.errors.push({
code: error.code,
message: '',
});
}
});
});
}
}
exports.AddMissingErrors = AddMissingErrors;
//# sourceMappingURL=addMissingErrors.js.map