Activity
Attempts
CurrentAttempt
Added in v1.0.0
Source
Signature
declare class CurrentAttempt extends any {
constructor();
}Constructors
Signature
declare function make<R, Success extends Any = Void, Error extends All = Never>(options: {
readonly error?: Error;
readonly execute: Effect<Success["Type"], Error["Type"], R>;
readonly interruptRetryPolicy?: Schedule<any, Cause<unknown>, never, never>;
readonly name: string;
readonly success?: Success;
}): Activity<Success, Error, Exclude<R, WorkflowEngine | WorkflowInstance | Scope>>;Error Handling
Signature
declare const retry: {
<E, O extends NoExcessProperties<Omit<Options<E>, "schedule">, O>>(
options: O,
): <A, R>(
self: Effect<A, E, R>,
) => Effect<
A,
O extends {
schedule: Schedule<infer _O, infer _I, infer _E1, infer _R>;
}
? E
: O extends {
times: number;
}
? E
: O extends {
until: Predicate.Refinement<E, infer E2>;
}
? E2
: O extends {
while: Predicate.Refinement<E, infer E2>;
}
? Exclude<E, E2>
: E | O extends {
schedule: Schedule<infer _O, infer _I, infer E, infer _R>;
}
? E
: never | O extends {
while: (...args: Array<any>) => Effect<infer _A, infer E, infer _R>;
}
? E
: never | O extends {
until: (...args: Array<any>) => Effect<infer _A, infer E, infer _R>;
}
? E
: never,
R | O extends {
schedule: Schedule<infer _O, infer _I, infer _E1, infer R>;
}
? R
: never | O extends {
while: (...args: Array<any>) => Effect<infer _A, infer _E, infer R>;
}
? R
: never | O extends {
until: (...args: Array<any>) => Effect<infer _A, infer _E, infer R>;
}
? R
: never
>;
<A, E, R, O extends NoExcessProperties<Omit<Options<E>, "schedule">, O>>(
self: Effect<A, E, R>,
options: O,
): Effect<
A,
O extends {
schedule: Schedule<infer _O, infer _I, infer _E1, infer _R>;
}
? E
: O extends {
times: number;
}
? E
: O extends {
until: Predicate.Refinement<E, infer E2>;
}
? E2
: O extends {
while: Predicate.Refinement<E, infer E2>;
}
? Exclude<E, E2>
: E | O extends {
schedule: Schedule<infer _O, infer _I, infer E, infer _R>;
}
? E
: never | O extends {
while: (...args: Array<any>) => Effect<infer _A, infer E, infer _R>;
}
? E
: never | O extends {
until: (...args: Array<any>) => Effect<infer _A, infer E, infer _R>;
}
? E
: never,
R | O extends {
schedule: Schedule<infer _O, infer _I, infer _E1, infer R>;
}
? R
: never | O extends {
while: (...args: Array<any>) => Effect<infer _A, infer _E, infer R>;
}
? R
: never | O extends {
until: (...args: Array<any>) => Effect<infer _A, infer _E, infer R>;
}
? R
: never
>;
};Idempotency
idempotencyKey
Added in v1.0.0
Source
Signature
declare const idempotencyKey: (
name: string,
options?: {
readonly includeAttempt?: boolean;
},
) => Effect.Effect<string, never, WorkflowInstance>;Models
Signature
interface Activity<
Success extends Schema.Schema.Any = typeof Schema.Void,
Error extends Schema.Schema.All = typeof Schema.Never,
R = never,
> extends Effect<
Success["Type"],
Error["Type"],
Success["Context"] | Error["Context"] | R | WorkflowEngine | WorkflowInstance
> {
readonly [TypeId]: typeof TypeId;
readonly errorSchema: Error;
readonly execute: Effect<
Success["Type"],
Error["Type"],
R | WorkflowEngine | WorkflowInstance | Success["Context"] | Error["Context"] | Scope
>;
readonly executeEncoded: Effect<
Success["Encoded"],
Error["Encoded"],
R | WorkflowEngine | WorkflowInstance | Success["Context"] | Error["Context"] | Scope
>;
readonly exitSchema: any;
readonly name: string;
readonly successSchema: Success;
}Signature
interface Any {
readonly [TypeId]: typeof TypeId;
readonly errorSchema: All;
readonly execute: Effect<any, any, any>;
readonly executeEncoded: Effect<any, any, any>;
readonly name: string;
readonly successSchema: Any;
}Racing
Signature
declare function raceAll<Activities extends readonly [Any, Any]>(
name: string,
activities: Activities,
): Effect<
Activities[number] extends Activity<_A, _E, _R> ? _A["Type"] : never,
Activities[number] extends Activity<_A, _E, _R> ? _E["Type"] : never,
WorkflowEngine | WorkflowInstance | Activities[number] extends Activity<Success, Error, R>
? R | Success["Context"] | Error["Context"]
: never
>;