UNPKG

2.4 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6exports.validateJobConfig = exports.validateAPIConfig = exports.validateOpConfig = void 0;
7const convict_1 = __importDefault(require("convict"));
8const job_schemas_1 = require("./job-schemas");
9const validateOptions = {
10 // IMPORTANT: changing this will break things
11 // @ts-expect-error because this is deprecated and will be removed in ^5.0.0
12 allowed: true,
13};
14/**
15 * Merges the provided inputSchema with commonSchema and then validates the
16 * provided opConfig against the resulting schema.
17 */
18function validateOpConfig(inputSchema, inputConfig) {
19 const schema = Object.assign({}, job_schemas_1.opSchema, inputSchema);
20 const config = convict_1.default(schema);
21 try {
22 config.load(inputConfig);
23 config.validate(validateOptions);
24 }
25 catch (err) {
26 throw new Error(`Validation failed for operation config: ${inputConfig._op} - ${err.message}`);
27 }
28 return config.getProperties();
29}
30exports.validateOpConfig = validateOpConfig;
31/**
32 * Merges the provided inputSchema with commonSchema and then validates the
33 * provided apiConfig against the resulting schema.
34 */
35function validateAPIConfig(inputSchema, inputConfig) {
36 const schema = Object.assign({}, job_schemas_1.apiSchema, inputSchema);
37 const config = convict_1.default(schema);
38 try {
39 config.load(inputConfig);
40 config.validate(validateOptions);
41 }
42 catch (err) {
43 throw new Error(`Validation failed for api config: ${inputConfig._name} - ${err.message}`);
44 }
45 return config.getProperties();
46}
47exports.validateAPIConfig = validateAPIConfig;
48/**
49 * Merges the provided inputSchema with commonSchema and then validates the
50 * provided jobConfig against the resulting schema.
51 */
52function validateJobConfig(inputSchema, inputConfig) {
53 const config = convict_1.default(inputSchema);
54 try {
55 config.load(inputConfig);
56 config.validate(validateOptions);
57 }
58 catch (err) {
59 throw new Error(`Validation failed for job config: ${inputConfig.name} - ${err.message}`);
60 }
61 return config.getProperties();
62}
63exports.validateJobConfig = validateJobConfig;
64//# sourceMappingURL=config-validators.js.map
\No newline at end of file