Hyperlinkv0.8.0-beta.28

QueueHyperlink

QueueHyperlink.configureconstsrc/QueueHyperlink.ts:1539
<
  Self,
  F extends QueueItemFields = QueueItemFields,
  R = never,
  RR = never,
  Success extends Schema.Top = Schema.Void,
  Error extends Schema.Top = Schema.Never
>(
  tag: QueueTagFor<Self, F, Success, Error>,
  patch: ConfigPatch<
    QueueVerbConfig<F, QueueErrorValueOf<Error>, R, RR, Success>
  >
): Layer.Layer<never>

A config-patch layer for the queue tag — the toolkit successor to the old QueueHyperlink.Service(...).configure(...). Merge it with the queue's layer (e.g. per environment) and its patch (concurrency / rateLimit / attempts / …) folds onto the layer's base config at build. Keyed by tag.key; later patches win. Config lives in the layer, not the tag, so configure takes the tag and returns a layer rather than being a tag method.

const Prod = Layer.mergeAll(
  QueueHyperlink.layer(MyQueue, { effect }),
  QueueHyperlink.configure(MyQueue, { concurrency: 3, rateLimit: { window: "1 second", limit: 5 } }),
);
layers & servinglayer
export const configure = <
  Self,
  F extends QueueItemFields = QueueItemFields,
  R = never,
  RR = never,
  Success extends Schema.Top = typeof Schema.Void,
  Error extends Schema.Top = typeof Schema.Never,
>(
  tag: QueueTagFor<Self, F, Success, Error>,
  patch: ConfigPatch<QueueVerbConfig<F, QueueErrorValueOf<Error>, R, RR, Success>>,
): Layer.Layer<never> => configureLayer(tag.key, patch);