23 lines
506 B
TypeScript
23 lines
506 B
TypeScript
import { HttpError } from './error';
|
|
import { TRPCError } from '@trpc/server';
|
|
import type { TRPC_ERROR_CODE_KEY } from '@trpc/server/rpc';
|
|
|
|
export function createTRPCError(error: unknown) {
|
|
let code: TRPC_ERROR_CODE_KEY = 'INTERNAL_SERVER_ERROR';
|
|
let message = '';
|
|
|
|
if (error instanceof HttpError && error.statusCode === 400) {
|
|
code = 'BAD_REQUEST';
|
|
}
|
|
|
|
if (error instanceof Error) {
|
|
message = error.message;
|
|
}
|
|
|
|
return new TRPCError({
|
|
cause: error,
|
|
code,
|
|
message,
|
|
});
|
|
}
|