@nahkies/typescript-koa-runtime
Version:
Runtime package for code generated by @nahkies/openapi-code-generator using the typescript-koa template
38 lines (37 loc) • 1.14 kB
JavaScript
import { t as KoaRuntimeError } from "./errors-CrlMSPkU.mjs";
import { t as findMatchingSchema } from "./validation-Bk2toxs9.mjs";
//#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 KoaRuntimeError.RequestError(err, type);
}
}
function responseValidationFactory(possibleResponses, defaultResponse) {
possibleResponses.sort((x, y) => x[0] < y[0] ? -1 : 1);
return (status, value) => {
try {
const schema = 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 KoaRuntimeError.ResponseError(err);
}
};
}
//#endregion
export { parseRequestInput, responseValidationFactory };
//# sourceMappingURL=joi.mjs.map