structured-elements
Version:
A TypeScript package for modelling and validating data
42 lines • 1.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildFailureReport = void 0;
const elementPath_1 = require("./elementPath");
const buildFailureReport = ({ api, element, expectation, failures, path, }) => {
return failures.flatMap((failure) => {
if (failure.failures) {
return (0, exports.buildFailureReport)({
api,
element,
expectation,
failures: failure.failures,
path: (0, elementPath_1.buildElementPath)({ key: failure.key, path }),
});
}
if (typeof failure.reason === `string`) {
return {
expectation,
failure,
path,
reason: failure.reason,
value: failure.element,
};
}
if (api.debugEnabled()) {
api.privateFunctions.debug(`buildFailureReport: failure.failures is blank but reason is not a string`, {
element,
expectation,
failure,
path,
});
}
return {
expectation,
path,
reason: JSON.stringify(failure.reason),
value: failure.element,
};
});
};
exports.buildFailureReport = buildFailureReport;
//# sourceMappingURL=failureReport.js.map