UNPKG

@d3vtool/kazejs

Version:

A flexible Node.js web framework built with TypeScript, focusing on dependency injection, routing, middleware, and schema validation. Supports dynamic routes, global middleware, static files, and customizable error handling for scalable apps.

44 lines (43 loc) 1.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.queryValidate = queryValidate; exports.paramsValidate = paramsValidate; const kaze_errors_1 = require("./kaze-errors"); function queryValidate(schema, noQueryErrorMsg = "No queries found to validate") { return function (ctx, next) { if (!(schema instanceof Object)) { throw new kaze_errors_1.KazeValidationError({ error: ["Invalid schema"] }); } if (!ctx.req.query) { throw new Error(noQueryErrorMsg); } const errors = schema.validateSafely(ctx.req.query); if (Object.keys(errors).length > 0) { // send all errors to global error handler // let user decide what to do with them. throw new kaze_errors_1.KazeValidationError(errors); } next(); }; } function paramsValidate(schema, noParamsErrorMsg = "No params found to validate") { return function (ctx, next) { if (!(schema instanceof Object)) { throw new kaze_errors_1.KazeValidationError({ error: ["Invalid schema"] }); } if (!ctx.req.params) { throw new Error(noParamsErrorMsg); } const errors = schema.validateSafely(ctx.req.params); if (Object.keys(errors).length > 0) { // send all errors to global error handler // let user decide what to do with them. throw new kaze_errors_1.KazeValidationError(errors); } next(); }; }