| import type { NonEmptyReadonlyArray } from "../../Array.ts"; | |
| import type * as Brand from "../../Brand.ts"; | |
| import * as Cause from "../../Cause.ts"; | |
| import * as Effect from "../../Effect.ts"; | |
| import * as Exit from "../../Exit.ts"; | |
| import * as Schema from "../../Schema.ts"; | |
| import * as Workflow from "./Workflow.ts"; | |
| import type { WorkflowEngine, WorkflowInstance } from "./WorkflowEngine.ts"; | |
| declare const TypeId = "~effect/workflow/DurableDeferred"; | |
| /** | |
| * Named durable deferred value whose completion is persisted by the workflow | |
| * engine and encoded with success and error schemas. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export interface DurableDeferred<Success extends Schema.Top, Error extends Schema.Top = Schema.Never> { | |
| readonly [TypeId]: typeof TypeId; | |
| readonly name: string; | |
| readonly successSchema: Success; | |
| readonly errorSchema: Error; | |
| readonly exitSchema: Schema.Exit<Schema.Top, Schema.Top, Schema.Top>; | |
| readonly withActivityAttempt: Effect.Effect<DurableDeferred<Success, Error>>; | |
| } | |
| /** | |
| * Type-erased durable deferred shape for APIs that only need the deferred | |
| * identity and name. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export interface Any { | |
| readonly [TypeId]: typeof TypeId; | |
| readonly name: string; | |
| } | |
| /** | |
| * Type-erased durable deferred shape that also exposes success, error, and | |
| * exit schemas. | |
| * | |
| * @category models | |
| * @since 4.0.0 | |
| */ | |
| export interface AnyWithProps { | |
| readonly [TypeId]: typeof TypeId; | |
| readonly name: string; | |
| readonly successSchema: Schema.Top; | |
| readonly errorSchema: Schema.Top; | |
| readonly exitSchema: Schema.Exit<any, any, any>; | |
| } | |
| /** | |
| * Creates a named durable deferred with optional success and error schemas for | |
| * persisted completion. | |
| * | |
| * @category constructors | |
| * @since 4.0.0 | |
| */ | |
| export declare const make: <Success extends Schema.Top = Schema.Void, Error extends Schema.Top = Schema.Never>(name: string, options?: { | |
| readonly success?: Success | undefined; | |
| readonly error?: Error | undefined; | |
| }) => DurableDeferred<Success, Error>; | |
| declare const await_: <Success extends Schema.Top, Error extends Schema.Top>(self: DurableDeferred<Success, Error>) => Effect.Effect<Success["Type"], Error["Type"], WorkflowEngine | WorkflowInstance | Success["DecodingServices"] | Error["DecodingServices"]>; | |
| export { | |
| /** | |
| * Waits for the durable deferred, suspending the current workflow when no | |
| * persisted completion is available. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| await_ as await }; | |
| /** | |
| * Runs an effect and records its exit into the durable deferred, resuming | |
| * workflows that are waiting on that deferred. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const into: { | |
| /** | |
| * Runs an effect and records its exit into the durable deferred, resuming | |
| * workflows that are waiting on that deferred. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| <Success extends Schema.Top, Error extends Schema.Top>(self: DurableDeferred<Success, Error>): <R>(effect: Effect.Effect<Success["Type"], Error["Type"], R>) => Effect.Effect<Success["Type"], Error["Type"], R | WorkflowEngine | WorkflowInstance | Success["DecodingServices"] | Error["DecodingServices"]>; | |
| /** | |
| * Runs an effect and records its exit into the durable deferred, resuming | |
| * workflows that are waiting on that deferred. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| <Success extends Schema.Top, Error extends Schema.Top, R>(effect: Effect.Effect<Success["Type"], Error["Type"], R>, self: DurableDeferred<Success, Error>): Effect.Effect<Success["Type"], Error["Type"], R | WorkflowEngine | WorkflowInstance | Success["DecodingServices"] | Error["DecodingServices"]>; | |
| }; | |
| /** | |
| * Runs effects as a durable race, returning a previously persisted result when | |
| * present or completing a named deferred with the first result. | |
| * | |
| * @category racing | |
| * @since 4.0.0 | |
| */ | |
| export declare const raceAll: <const Effects extends NonEmptyReadonlyArray<Effect.Effect<any, any, any>>, Success extends Schema.Schema<Effect.Success<Effects[number]>>, Error extends Schema.Schema<Effect.Error<Effects[number]>>>(options: { | |
| name: string; | |
| success: Success; | |
| error: Error; | |
| effects: Effects; | |
| }) => Effect.Effect<Effect.Success<Effects[number]>, Effect.Error<Effects[number]>, Effect.Services<Effects[number]> | Success["DecodingServices"] | Success["EncodingServices"] | Error["DecodingServices"] | Error["EncodingServices"] | WorkflowEngine | WorkflowInstance>; | |
| /** | |
| * Runtime brand identifier for durable deferred tokens. | |
| * | |
| * @category type IDs | |
| * @since 4.0.0 | |
| */ | |
| export declare const TokenTypeId = "~effect/workflow/DurableDeferred/Token"; | |
| /** | |
| * Type-level brand identifier for `Token` values. | |
| * | |
| * @category type IDs | |
| * @since 4.0.0 | |
| */ | |
| export type TokenTypeId = typeof TokenTypeId; | |
| /** | |
| * Branded string token identifying a durable deferred for a workflow | |
| * execution. | |
| * | |
| * @category token | |
| * @since 4.0.0 | |
| */ | |
| export type Token = Brand.Branded<string, TokenTypeId>; | |
| /** | |
| * Schema for branded durable deferred tokens. | |
| * | |
| * @category token | |
| * @since 4.0.0 | |
| */ | |
| export declare const Token: Schema.brand<Schema.String, TokenTypeId>; | |
| declare const TokenParsed_base: Schema.Class<TokenParsed, Schema.Struct<{ | |
| readonly workflowName: Schema.String; | |
| readonly executionId: Schema.String; | |
| readonly deferredName: Schema.String; | |
| }>, {}>; | |
| /** | |
| * Schema for a decoded durable deferred token containing the workflow | |
| * name, execution ID, and deferred name. | |
| * | |
| * @category token | |
| * @since 4.0.0 | |
| */ | |
| export declare class TokenParsed extends TokenParsed_base { | |
| /** | |
| * Encodes the parsed workflow, execution, and deferred names back into a token. | |
| * | |
| * @since 4.0.0 | |
| */ | |
| get asToken(): Token; | |
| /** | |
| * Schema for decoding and encoding durable deferred tokens as strings. | |
| * | |
| * @since 4.0.0 | |
| */ | |
| static readonly FromString: Schema.decodeTo<typeof TokenParsed, Schema.decodeTo<Schema.fromJsonString<Schema.Tuple<readonly [Schema.String, Schema.String, Schema.String]>>, Schema.String, never, never>, never, never>; | |
| /** | |
| * Decodes a durable deferred token string into its parsed components. | |
| * | |
| * @since 4.0.0 | |
| */ | |
| static readonly fromString: (input: string, options?: import("../../SchemaAST.ts").ParseOptions) => TokenParsed; | |
| /** | |
| * Encodes parsed durable deferred token components into a token string. | |
| * | |
| * @since 4.0.0 | |
| */ | |
| static readonly encode: (input: TokenParsed, options?: import("../../SchemaAST.ts").ParseOptions) => string; | |
| } | |
| /** | |
| * Creates a token for a durable deferred using the current workflow instance's | |
| * workflow name and execution ID. | |
| * | |
| * @category token | |
| * @since 4.0.0 | |
| */ | |
| export declare const token: <Success extends Schema.Top, Error extends Schema.Top>(self: DurableDeferred<Success, Error>) => Effect.Effect<Token, never, WorkflowInstance>; | |
| /** | |
| * Creates a durable deferred token from an explicit workflow, execution ID, | |
| * and deferred name. | |
| * | |
| * @category token | |
| * @since 4.0.0 | |
| */ | |
| export declare const tokenFromExecutionId: { | |
| /** | |
| * Creates a durable deferred token from an explicit workflow, execution ID, | |
| * and deferred name. | |
| * | |
| * @category token | |
| * @since 4.0.0 | |
| */ | |
| (options: { | |
| readonly workflow: Workflow.Any; | |
| readonly executionId: string; | |
| }): <Success extends Schema.Top, Error extends Schema.Top>(self: DurableDeferred<Success, Error>) => Token; | |
| /** | |
| * Creates a durable deferred token from an explicit workflow, execution ID, | |
| * and deferred name. | |
| * | |
| * @category token | |
| * @since 4.0.0 | |
| */ | |
| <Success extends Schema.Top, Error extends Schema.Top>(self: DurableDeferred<Success, Error>, options: { | |
| readonly workflow: Workflow.Any; | |
| readonly executionId: string; | |
| }): Token; | |
| }; | |
| /** | |
| * Creates a durable deferred token by deriving the workflow execution ID from | |
| * the supplied workflow payload. | |
| * | |
| * @category token | |
| * @since 4.0.0 | |
| */ | |
| export declare const tokenFromPayload: { | |
| /** | |
| * Creates a durable deferred token by deriving the workflow execution ID from | |
| * the supplied workflow payload. | |
| * | |
| * @category token | |
| * @since 4.0.0 | |
| */ | |
| <W extends Workflow.Any>(options: { | |
| readonly workflow: W; | |
| readonly payload: Workflow.PayloadSchema<W>["~type.make.in"]; | |
| }): <Success extends Schema.Top, Error extends Schema.Top>(self: DurableDeferred<Success, Error>) => Effect.Effect<Token>; | |
| /** | |
| * Creates a durable deferred token by deriving the workflow execution ID from | |
| * the supplied workflow payload. | |
| * | |
| * @category token | |
| * @since 4.0.0 | |
| */ | |
| <Success extends Schema.Top, Error extends Schema.Top, W extends Workflow.Any>(self: DurableDeferred<Success, Error>, options: { | |
| readonly workflow: W; | |
| readonly payload: Workflow.PayloadSchema<W>["~type.make.in"]; | |
| }): Effect.Effect<Token>; | |
| }; | |
| /** | |
| * Completes the durable deferred identified by a token with the supplied exit, | |
| * encoding the result through the deferred schemas. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const done: { | |
| /** | |
| * Completes the durable deferred identified by a token with the supplied exit, | |
| * encoding the result through the deferred schemas. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| <Success extends Schema.Top, Error extends Schema.Top>(options: { | |
| readonly token: Token; | |
| readonly exit: Exit.Exit<Success["Type"], Error["Type"]>; | |
| }): (self: DurableDeferred<Success, Error>) => Effect.Effect<void, never, WorkflowEngine | Success["EncodingServices"] | Error["EncodingServices"]>; | |
| /** | |
| * Completes the durable deferred identified by a token with the supplied exit, | |
| * encoding the result through the deferred schemas. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| <Success extends Schema.Top, Error extends Schema.Top>(self: DurableDeferred<Success, Error>, options: { | |
| readonly token: Token; | |
| readonly exit: Exit.Exit<Success["Type"], Error["Type"]>; | |
| }): Effect.Effect<void, never, WorkflowEngine | Success["EncodingServices"] | Error["EncodingServices"]>; | |
| }; | |
| /** | |
| * Completes the durable deferred identified by a token with a successful | |
| * value. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const succeed: { | |
| /** | |
| * Completes the durable deferred identified by a token with a successful | |
| * value. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| <Success extends Schema.Top, Error extends Schema.Top>(options: { | |
| readonly token: Token; | |
| readonly value: Success["Type"]; | |
| }): (self: DurableDeferred<Success, Error>) => Effect.Effect<void, never, WorkflowEngine | Success["EncodingServices"]>; | |
| /** | |
| * Completes the durable deferred identified by a token with a successful | |
| * value. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| <Success extends Schema.Top, Error extends Schema.Top>(self: DurableDeferred<Success, Error>, options: { | |
| readonly token: Token; | |
| readonly value: Success["Type"]; | |
| }): Effect.Effect<void, never, WorkflowEngine | Success["EncodingServices"]>; | |
| }; | |
| /** | |
| * Completes the durable deferred identified by a token with a typed failure. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const fail: { | |
| /** | |
| * Completes the durable deferred identified by a token with a typed failure. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| <Success extends Schema.Top, Error extends Schema.Top>(options: { | |
| readonly token: Token; | |
| readonly error: Error["Type"]; | |
| }): (self: DurableDeferred<Success, Error>) => Effect.Effect<void, never, WorkflowEngine | Error["EncodingServices"]>; | |
| /** | |
| * Completes the durable deferred identified by a token with a typed failure. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| <Success extends Schema.Top, Error extends Schema.Top>(self: DurableDeferred<Success, Error>, options: { | |
| readonly token: Token; | |
| readonly error: Error["Type"]; | |
| }): Effect.Effect<void, never, WorkflowEngine | Error["EncodingServices"]>; | |
| }; | |
| /** | |
| * Completes the durable deferred identified by a token with a failure cause. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| export declare const failCause: { | |
| /** | |
| * Completes the durable deferred identified by a token with a failure cause. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| <Success extends Schema.Top, Error extends Schema.Top>(options: { | |
| readonly token: Token; | |
| readonly cause: Cause.Cause<Error["Type"]>; | |
| }): (self: DurableDeferred<Success, Error>) => Effect.Effect<void, never, WorkflowEngine | Error["EncodingServices"]>; | |
| /** | |
| * Completes the durable deferred identified by a token with a failure cause. | |
| * | |
| * @category combinators | |
| * @since 4.0.0 | |
| */ | |
| <Success extends Schema.Top, Error extends Schema.Top>(self: DurableDeferred<Success, Error>, options: { | |
| readonly token: Token; | |
| readonly cause: Cause.Cause<Error["Type"]>; | |
| }): Effect.Effect<void, never, WorkflowEngine | Error["EncodingServices"]>; | |
| }; | |
| //# sourceMappingURL=DurableDeferred.d.ts.map |
Xet Storage Details
- Size:
- 13.3 kB
- Xet hash:
- 946f40fa62347f54b51555d2bfdd70436bfe153b36944763b17d44ddfe122c57
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.