Hyperlinkv0.8.0-beta.28

QueueHyperlink

export interface QueueHyperlinkServiceDefinition<
  Self,
  Id extends string,
  T,
  E = never,
  EEnqueue = never,
  R = never,
> extends Context.ServiceClass<Self, Id, EngineQueueHandle<T, E, EEnqueue, R>>,
    Omit<QueueHyperlinkMetadata<Id, T, E, EEnqueue, R>, "tag"> {
  readonly tag: Context.Key<Self, EngineQueueHandle<T, E, EEnqueue, R>>;
  readonly layer: Layer.Layer<Self, never, R>;
  /** Factory defaults before configure layers (`HyperlinkConfigure` module). */
  readonly defaultSpec: QueueHyperlinkConfig<T, E, R>;
  /**
   * Append a configure patch; merge with {@link layer} before scope acquisition.
   */
  readonly configure: (
    patch: ConfigPatch<QueueHyperlinkConfig<T, E, R>>,
  ) => Layer.Layer<never>;
  /**
   * Patch only the worker `effect`: `fn(previous) => next` (item + {@link EffectContext}).
   */
  readonly wrapWorker: (
    fn: (
      previous: QueueHyperlinkConfig<T, E, R>["effect"],
    ) => QueueHyperlinkConfig<T, E, R>["effect"],
  ) => Layer.Layer<never>;
}