summaryrefslogtreecommitdiffhomepage
path: root/packages/shared/src/util/error.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/shared/src/util/error.ts')
-rw-r--r--packages/shared/src/util/error.ts6
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({