Optionaloptions: { isRetryable?: boolean; isInternal?: boolean; cause?: unknown }ReadonlyisReadonlyisOptionalcauseReadonly[Readonly[Readonly[Readonly[Static ReadonlyTypeStatic ReadonlyEncodedStatic ReadonlyContextStatic Readonly[Static ReadonlyastStatic ReadonlyfieldsStatic ReadonlyidentifierStatic Readonly_Readonly_OptionalstackStaticretryableOptionaloptions: { isInternal?: boolean; cause?: unknown }StaticnonOptionaloptions: { isInternal?: boolean; cause?: unknown }StaticpipeStaticmakeStaticannotationsMerges a set of new annotations with existing ones, potentially overwriting any duplicates.
Staticextendimport { Schema } from "effect"
class MyClass extends Schema.Class<MyClass>("MyClass")({
myField: Schema.String
}) {
myMethod() {
return this.myField + "my"
}
}
class NextClass extends MyClass.extend<NextClass>("NextClass")({
nextField: Schema.Number
}) {
nextMethod() {
return this.myMethod() + this.myField + this.nextField
}
}
Statictransformimport { Effect, Schema } from "effect"
class MyClass extends Schema.Class<MyClass>("MyClass")({
myField: Schema.String
}) {
myMethod() {
return this.myField + "my"
}
}
class NextClass extends MyClass.transformOrFail<NextClass>("NextClass")({
nextField: Schema.Number
}, {
decode: (i) =>
Effect.succeed({
myField: i.myField,
nextField: i.myField.length
}),
encode: (a) => Effect.succeed({ myField: a.myField })
}) {
nextMethod() {
return this.myMethod() + this.myField + this.nextField
}
}
Statictransformimport { Effect, Schema } from "effect"
class MyClass extends Schema.Class<MyClass>("MyClass")({
myField: Schema.String
}) {
myMethod() {
return this.myField + "my"
}
}
class NextClass extends MyClass.transformOrFailFrom<NextClass>("NextClass")({
nextField: Schema.Number
}, {
decode: (i) =>
Effect.succeed({
myField: i.myField,
nextField: i.myField.length
}),
encode: (a) => Effect.succeed({ myField: a.myField })
}) {
nextMethod() {
return this.myMethod() + this.myField + this.nextField
}
}
Generic error class for all durable execution failures with retry control.
This error class provides fine-grained control over error handling behavior through the
isRetryableflag. Tasks can throw specific error types to control whether failures should trigger retries.Error Behavior in Tasks
Factory Methods
new DurableExecutionError(): For generic retry behaviorDurableExecutionError.retryable(): For transient failures (network issues, etc.)DurableExecutionError.nonRetryable(): For permanent failures (validation errors, etc.)Example