diff options
Diffstat (limited to 'packages/shared/src/util/error.ts')
| -rw-r--r-- | packages/shared/src/util/error.ts | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/shared/src/util/error.ts b/packages/shared/src/util/error.ts index 12c27a0a7..9d3b7c661 100644 --- a/packages/shared/src/util/error.ts +++ b/packages/shared/src/util/error.ts @@ -4,6 +4,12 @@ export abstract class NamedError extends Error { abstract schema(): z.core.$ZodType abstract toObject(): { name: string; data: any } + static hasName(error: unknown, name: string): boolean { + return ( + typeof error === "object" && error !== null && "name" in error && (error as Record<string, unknown>).name === name + ) + } + static create<Name extends string, Data extends z.core.$ZodType>(name: Name, data: Data) { const schema = z .object({ |
