From f4aaf003d7b90a22864196a726cce01079841bf8 Mon Sep 17 00:00:00 2001 From: Etienne Donneger Date: Wed, 25 Sep 2024 10:25:35 -0400 Subject: [PATCH] Improve Zod error response message --- bun.lockb | Bin 191251 -> 187416 bytes index.ts | 9 +++++++-- package.json | 16 ++++++++++------ src/utils.ts | 2 +- 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/bun.lockb b/bun.lockb index 005f82c3c1738b8fd2cb25c985194842c9cb3fb6..a4d51529e06a0f82e7a608a9b25598cddf8ab35e 100755 GIT binary patch delta 49299 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�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 delta 50897 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 ); } else { - return APIErrorResponse(ctx, 400, "bad_query_input", { ...path_params.error, ...query_params.error }); + // Merge path and query params errors into one `ZodError` instance + const e = new z.ZodError([]); + e.addIssues(path_params.error?.issues); + e.addIssues(query_params.error?.issues); + + return APIErrorResponse(ctx, 400, "bad_query_input", e); } } ); diff --git a/package.json b/package.json index d5891c9..5347fde 100644 --- a/package.json +++ b/package.json @@ -18,11 +18,11 @@ ], "dependencies": { "@clickhouse/client-web": "latest", - "@hono/graphql-server": "^0.5.0", - "@kubb/cli": "^2.23.3", - "@kubb/core": "^2.23.3", - "@kubb/plugin-oas": "^2.23.3", - "@kubb/swagger-zod": "^2.23.3", + "@hono/graphql-server": "^0.5.1", + "@kubb/cli": "^2.27.0", + "@kubb/core": "^2.27.0", + "@kubb/plugin-oas": "^2.27.0", + "@kubb/swagger-zod": "^2.27.0", "commander": "latest", "dotenv": "latest", "hono": "latest", @@ -55,5 +55,9 @@ }, "prettier": { "tabWidth": 4 - } + }, + "trustedDependencies": [ + "es5-ext", + "esbuild" + ] } \ No newline at end of file diff --git a/src/utils.ts b/src/utils.ts index 8ad6085..b889150 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -11,7 +11,7 @@ export function APIErrorResponse(ctx: Context, status: ApiErrorSchema["status"], if (typeof err === "string") { message = err; } else if (err instanceof ZodError) { - message = err.issues.map(issue => `[${issue.code}] ${issue.path.join('/')}: ${issue.message}`).join('\n'); + message = err.issues.map(issue => `[${issue.code}] ${issue.path.join('/')}: ${issue.message}`).join(' | '); } else if (err instanceof Error) { message = err.message; }