Files
drive/packages/convex/model/error.ts

35 lines
947 B
TypeScript
Raw Normal View History

import { ConvexError } from "convex/values"
2025-09-26 22:20:30 +00:00
export enum Code {
Conflict = "Conflict",
DirectoryExists = "DirectoryExists",
2025-09-16 22:36:26 +00:00
DirectoryNotFound = "DirectoryNotFound",
FileExists = "FileExists",
FileNotFound = "FileNotFound",
Internal = "Internal",
2025-09-15 21:44:41 +00:00
Unauthenticated = "Unauthenticated",
}
export type ApplicationErrorData = { code: Code; message?: string }
export type ApplicationError = ConvexError<ApplicationErrorData>
export function isApplicationError(error: unknown): error is ApplicationError {
return error instanceof ConvexError && "code" in error.data
}
export function create(code: Code, message?: string): ApplicationError {
return new ConvexError({
code,
2025-09-21 15:12:05 +00:00
message:
code === Code.Internal ? "Internal application error" : message,
})
}
export function createJson(code: Code, message?: string): ApplicationErrorData {
return {
code,
message:
code === Code.Internal ? "Internal application error" : message,
}
}