Hyperlinkv0.8.0-beta.28

RunHyperlink

RunHyperlink.serveRemotefunctionsrc/RunHyperlink.ts:807
<
  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<
  HandlerContextOf<RunInstanceSpec<I, A, E>> | Store.Storage,
  never,
  R
>

Serve this run gate remotely (served-only) — RPC handlers without granting the local instance.

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

layers & servingStore.Storage
export function serveRemote<
  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<HandlerContextOf<RunInstanceSpec<I, A, E>> | Store.Storage, never, R>;
export function serveRemote(
  tag: HyperlinkTag<any, any, any>,
  config: RunHyperlinkLayerConfig<any, any, any, any>,
): Layer.Layer<any, any, any> {
  // Pin the loose impl-signature tag to its instance spec so `buildRunImpl`'s `BuiltHyperlink` and
  // `Hyperlink.serveRemote` line up cast-free (the `any` payload/success/error are fixed by the public
  // overload above). Mirrors `Process.serveRemote`.
  const baseTag: HyperlinkTag<any, RunInstanceSpec<any, any, any>> = tag;
  return withDefaultStoreBridge(
    Layer.unwrap(
      Effect.map(
        buildRunImpl(baseTag, config),
        (built) => Hyperlink.serveRemote(baseTag, built) as any,
      ),
    ) as any,
  ) as any;
}
Referenced by 1 symbols