@temporalio/workflow
Version:
Temporal.io SDK Workflow sub-package
36 lines (31 loc) • 1.17 kB
text/typescript
import { ActivityFailure, CancelledFailure, ChildWorkflowFailure } from '@temporalio/common';
import { SymbolBasedInstanceOfError } from '@temporalio/common/lib/type-helpers';
import { coresdk } from '@temporalio/proto';
/**
* Base class for all workflow errors
*/
('WorkflowError')
export class WorkflowError extends Error {}
/**
* Thrown in workflow when it tries to do something that non-deterministic such as construct a WeakRef()
*/
('DeterminismViolationError')
export class DeterminismViolationError extends WorkflowError {}
/**
* A class that acts as a marker for this special result type
*/
('LocalActivityDoBackoff')
export class LocalActivityDoBackoff extends Error {
constructor(public readonly backoff: coresdk.activity_result.IDoBackoff) {
super();
}
}
/**
* Returns whether provided `err` is caused by cancellation
*/
export function isCancellation(err: unknown): boolean {
return (
err instanceof CancelledFailure ||
((err instanceof ActivityFailure || err instanceof ChildWorkflowFailure) && err.cause instanceof CancelledFailure)
);
}