Skip to main content Link Search Menu Expand Document (external link)

RequestBlock.ts overview

Since v2.0.0


Exports Grouped by Category


constructors

empty

Signature

declare const empty: RequestBlock

Source

Since v2.0.0

mapRequestResolvers

Signature

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

Source

Since v2.0.0

parallel

Signature

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

Source

Since v2.0.0

reduce

Signature

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

Source

Since v2.0.0

sequential

Signature

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

Source

Since v2.0.0

single

Signature

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

Source

Since v2.0.0

models

Empty (interface)

Signature

export interface Empty {
  readonly _tag: "Empty"
}

Source

Since v2.0.0

Par (interface)

Signature

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

Source

Since v2.0.0

RequestBlock (type alias)

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

Source

Since v2.0.0

RequestBlock (namespace)

Source

Since v2.0.0

Reducer (interface)

Signature

export interface Reducer<in out Z> {
  emptyCase(): Z
  parCase(left: Z, right: Z): Z
  singleCase(dataSource: RequestResolver.RequestResolver<unknown>, blockedRequest: Request.Entry<unknown>): Z
  seqCase(left: Z, right: Z): Z
}

Source

Since v2.0.0

Seq (interface)

Signature

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

Source

Since v2.0.0

Single (interface)

Signature

export interface Single {
  readonly _tag: "Single"
  readonly dataSource: RequestResolver.RequestResolver<unknown>
  readonly blockedRequest: Request.Entry<unknown>
}

Source

Since v2.0.0