asl-path-validator
Version:
Validates the path expressions for the Amazon States Language
37 lines • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.registerAll = exports.AslPathValidatorConfig = void 0;
const index_1 = require("./index");
const types_1 = require("./types");
exports.AslPathValidatorConfig = {
format_names: {
[types_1.AslPathContext.PATH]: "asl_path",
[types_1.AslPathContext.REFERENCE_PATH]: "asl_ref_path",
[types_1.AslPathContext.PAYLOAD_TEMPLATE]: "asl_payload_template",
[types_1.AslPathContext.RESULT_PATH]: "asl_result_path",
},
silent: true,
};
const registerAll = (ajv, config = exports.AslPathValidatorConfig) => {
const validateAdapter = (path, pathType) => {
const result = (0, index_1.validatePath)(path, pathType);
if (!config.silent && !result.isValid) {
ajv.logger.error(`asl_path_validator: code:${result.code}. pathType:${pathType}. input: ${path}`);
}
return result.isValid;
};
ajv.addFormat(config.format_names[types_1.AslPathContext.REFERENCE_PATH], (path) => {
return validateAdapter(path, types_1.AslPathContext.REFERENCE_PATH);
});
ajv.addFormat(config.format_names[types_1.AslPathContext.PATH], (path) => {
return validateAdapter(path, types_1.AslPathContext.PATH);
});
ajv.addFormat(config.format_names[types_1.AslPathContext.PAYLOAD_TEMPLATE], (path) => {
return validateAdapter(path, types_1.AslPathContext.PAYLOAD_TEMPLATE);
});
ajv.addFormat(config.format_names[types_1.AslPathContext.RESULT_PATH], (path) => {
return validateAdapter(path, types_1.AslPathContext.RESULT_PATH);
});
};
exports.registerAll = registerAll;
//# sourceMappingURL=ajv.js.map