@vladbasin/strong-api-mapping
Version:
Strongly typed API models. Mapping & validation
20 lines • 838 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validatePayload = void 0;
const strong_api_models_1 = require("@vladbasin/strong-api-models");
const validatePayload = (payload, schema) => {
const { error } = schema.validate(payload, { allowUnknown: true, context: payload });
if (error) {
const innerErrors = error.details.map(detail => {
var _a;
return ({
code: ((_a = detail.context) === null || _a === void 0 ? void 0 : _a.key) || '',
message: detail.type,
});
});
throw strong_api_models_1.CodedError.from(error, strong_api_models_1.CommonErrorCodes.validationFailed, innerErrors);
}
return payload;
};
exports.validatePayload = validatePayload;
//# sourceMappingURL=validatePayload.js.map