Skip to content
Effect Days 2026 Get your ticket

RequestBlock

12 exports Added in v2.0.0 Source

Constructors

empty

Added in v2.0.0 Source

Signature

declare const empty: RequestBlock

Signature

declare const mapRequestResolvers: <A>(self: RequestBlock, f: (dataSource: RequestResolver.RequestResolver<A>) => RequestResolver.RequestResolver<A>) => RequestBlock

parallel

Added in v2.0.0 Source

Signature

declare const parallel: (self: RequestBlock, that: RequestBlock) => RequestBlock

reduce

Added in v2.0.0 Source

Signature

declare const reduce: <Z>(self: RequestBlock, reducer: RequestBlock.Reducer<Z>) => Z

sequential

Added in v2.0.0 Source

Signature

declare const sequential: (self: RequestBlock, that: RequestBlock) => RequestBlock

single

Added in v2.0.0 Source

Signature

declare const single: <A>(dataSource: RequestResolver.RequestResolver<A>, blockedRequest: Request.Entry<A>) => RequestBlock

Models

Empty interface

Added in v2.0.0 Source

Signature

interface Empty {
readonly _tag: "Empty";
}

Par interface

Added in v2.0.0 Source

Signature

interface Par {
readonly _tag: "Par";
readonly left: RequestBlock;
readonly right: RequestBlock;
}

RequestBlock

Added in v2.0.0 Source

RequestBlock type

Added in v2.0.0 Source

RequestBlock captures a collection of blocked requests as a data structure. By doing this the library is able to preserve information about which requests must be performed sequentially and which can be performed in parallel, allowing for maximum possible batching and pipelining while preserving ordering guarantees.

Signature

type RequestBlock = Empty | Par | Seq | Single

Seq interface

Added in v2.0.0 Source

Signature

interface Seq {
readonly _tag: "Seq";
readonly left: RequestBlock;
readonly right: RequestBlock;
}

Single interface

Added in v2.0.0 Source

Signature

interface Single {
readonly _tag: "Single";
readonly blockedRequest: Entry<unknown>;
readonly dataSource: RequestResolver<unknown>;
}