@nahkies/typescript-koa-runtime
Version:
Runtime package for code generated by @nahkies/openapi-code-generator using the typescript-koa template
40 lines (39 loc) • 1.3 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const require_errors = require("./errors-wNPzSsqj.cjs");
const require_validation = require("./validation-MwT7R5YJ.cjs");
//#region src/joi.ts
function parseRequestInput(schema, input, type) {
try {
if (!schema) return;
const result = schema.validate(input, { stripUnknown: true });
if (result.error) throw result.error;
return result.value;
} catch (err) {
throw require_errors.KoaRuntimeError.RequestError(err, type);
}
}
function responseValidationFactory(possibleResponses, defaultResponse) {
possibleResponses.sort((x, y) => x[0] < y[0] ? -1 : 1);
return (status, value) => {
try {
const schema = require_validation.findMatchingSchema(status, possibleResponses);
if (schema) {
const result = schema.validate(value);
if (result.error) throw result.error;
return result.value;
}
if (defaultResponse) {
const result = defaultResponse.validate(value);
if (result.error) throw result.error;
return result.value;
}
return value;
} catch (err) {
throw require_errors.KoaRuntimeError.ResponseError(err);
}
};
}
//#endregion
exports.parseRequestInput = parseRequestInput;
exports.responseValidationFactory = responseValidationFactory;
//# sourceMappingURL=joi.cjs.map