Hyperlinkv0.8.0-beta.28

RunHyperlink

RunHyperlink.servefunctionsrc/RunHyperlink.ts:866
<
  Self,
  I extends Schema.Top,
  A extends Schema.Top,
  E extends Schema.Top = Schema.Never,
  R = never
>(
  tag: HyperlinkTag<Self, RunInstanceSpec<I, A, E>, any>,
  config: RunHyperlinkLayerConfig<
    Schema.Schema.Type<I>,
    Schema.Schema.Type<A>,
    Schema.Schema.Type<E>,
    R
  >
): Layer.Layer<
  | Self
  | Local<Self>
  | HandlerContextOf<RunInstanceSpec<I, A, E>>
  | Store.Storage,
  never,
  R
>

Serve this run gate and grant its local instance from one materialization.

Soft-defaults Store.Storage. Override with Layer.provide / provideMerge(AppStore).

layers & servingStore.Storage
export function serve<
  Self,
  I extends Schema.Top,
  A extends Schema.Top,
  E extends Schema.Top = typeof Schema.Never,
  R = never,
>(
  tag: HyperlinkTag<Self, RunInstanceSpec<I, A, E>, any>,
  config: RunHyperlinkLayerConfig<Schema.Schema.Type<I>, Schema.Schema.Type<A>, Schema.Schema.Type<E>, R>,
): Layer.Layer<
  Self | Local<Self> | HandlerContextOf<RunInstanceSpec<I, A, E>> | Store.Storage,
  never,
  R
>;
export function serve(
  tag: HyperlinkTag<any, any, any>,
  config: RunHyperlinkLayerConfig<any, any, any, any>,
): Layer.Layer<any, any, any> {
  const baseTag: HyperlinkTag<any, RunInstanceSpec<any, any, any>> = tag;
  return withDefaultStoreBridge(
    Layer.unwrap(
      Effect.map(
        buildRunImpl(baseTag, config),
        (built) => Hyperlink.serve(baseTag, built) as any,
      ),
    ) as any,
  ) as any;
}
Referenced by 1 symbols