Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Remove instanceof Error checks from is methods #1162

Merged
merged 2 commits into from Jul 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/activity/src/index.ts
Expand Up @@ -117,7 +117,7 @@ export class CompleteAsyncError extends Error {
* Instanceof check that works when multiple versions of @temporalio/activity are installed.
*/
static is(error: unknown): error is CompleteAsyncError {
return error instanceof CompleteAsyncError || (error instanceof Error && (error as any)[isCompleteAsyncError]);
return error instanceof CompleteAsyncError || (error as any)?.[isCompleteAsyncError] === true;
}
}

Expand Down
16 changes: 8 additions & 8 deletions packages/common/src/failure.ts
Expand Up @@ -66,7 +66,7 @@ export class TemporalFailure extends Error {
* Instanceof check that works when multiple versions of @temporalio/common are installed.
*/
static is(error: unknown): error is TemporalFailure {
return error instanceof TemporalFailure || (error instanceof Error && (error as any)[isTemporalFailure]);
return error instanceof TemporalFailure || (error as any)?.[isTemporalFailure] === true;
}
}

Expand All @@ -89,7 +89,7 @@ export class ServerFailure extends TemporalFailure {
* Instanceof check that works when multiple versions of @temporalio/common are installed.
*/
static is(error: unknown): error is ServerFailure {
return error instanceof ServerFailure || (error instanceof Error && (error as any)[isServerFailure]);
return error instanceof ServerFailure || (error as any)?.[isServerFailure] === true;
}
}

Expand Down Expand Up @@ -142,7 +142,7 @@ export class ApplicationFailure extends TemporalFailure {
* Instanceof check that works when multiple versions of @temporalio/common are installed.
*/
static is(error: unknown): error is ApplicationFailure {
return error instanceof ApplicationFailure || (error instanceof Error && (error as any)[isApplicationFailure]);
return error instanceof ApplicationFailure || (error as any)?.[isApplicationFailure] === true;
}

/**
Expand Down Expand Up @@ -248,7 +248,7 @@ export class CancelledFailure extends TemporalFailure {
* Instanceof check that works when multiple versions of @temporalio/common are installed.
*/
static is(error: unknown): error is CancelledFailure {
return error instanceof CancelledFailure || (error instanceof Error && (error as any)[isCancelledFailure]);
return error instanceof CancelledFailure || (error as any)?.[isCancelledFailure] === true;
}
}

Expand All @@ -273,7 +273,7 @@ export class TerminatedFailure extends TemporalFailure {
* Instanceof check that works when multiple versions of @temporalio/common are installed.
*/
static is(error: unknown): error is TerminatedFailure {
return error instanceof TerminatedFailure || (error instanceof Error && (error as any)[isTerminatedFailure]);
return error instanceof TerminatedFailure || (error as any)?.[isTerminatedFailure] === true;
}
}

Expand Down Expand Up @@ -302,7 +302,7 @@ export class TimeoutFailure extends TemporalFailure {
* Instanceof check that works when multiple versions of @temporalio/common are installed.
*/
static is(error: unknown): error is TimeoutFailure {
return error instanceof TimeoutFailure || (error instanceof Error && (error as any)[isTimeoutFailure]);
return error instanceof TimeoutFailure || (error as any)?.[isTimeoutFailure] === true;
}
}

Expand Down Expand Up @@ -337,7 +337,7 @@ export class ActivityFailure extends TemporalFailure {
* Instanceof check that works when multiple versions of @temporalio/common are installed.
*/
static is(error: unknown): error is ActivityFailure {
return error instanceof ActivityFailure || (error instanceof Error && (error as any)[isActivityFailure]);
return error instanceof ActivityFailure || (error as any)?.[isActivityFailure] === true;
}
}

Expand Down Expand Up @@ -371,7 +371,7 @@ export class ChildWorkflowFailure extends TemporalFailure {
* Instanceof check that works when multiple versions of @temporalio/common are installed.
*/
static is(error: unknown): error is ChildWorkflowFailure {
return error instanceof ChildWorkflowFailure || (error instanceof Error && (error as any)[isChildWorkflowFailure]);
return error instanceof ChildWorkflowFailure || (error as any)?.[isChildWorkflowFailure] === true;
}
}

Expand Down
2 changes: 1 addition & 1 deletion packages/core-bridge/ts/errors.ts
Expand Up @@ -17,7 +17,7 @@ export class ShutdownError extends Error {
* Instanceof check that works when multiple versions of @temporalio/core-bridge are installed.
*/
static is(error: unknown): error is ShutdownError {
return error instanceof ShutdownError || (error instanceof Error && (error as any)[isShutdownError]);
return error instanceof ShutdownError || (error as any)?.[isShutdownError] === true;
}
}

Expand Down
2 changes: 1 addition & 1 deletion packages/workflow/src/interfaces.ts
Expand Up @@ -186,7 +186,7 @@ export class ContinueAsNew extends Error {
* Instanceof check that works when multiple versions of @temporalio/workflow are installed.
*/
static is(error: unknown): error is ContinueAsNew {
return error instanceof ContinueAsNew || (error instanceof Error && (error as any)[isContinueAsNew]);
return error instanceof ContinueAsNew || (error as any)?.[isContinueAsNew] === true;
}
}

Expand Down