Hyperlinkv0.9.0-beta.0

Daemon

Daemon.serveRemotefunctionsrc/Daemon.ts:2671
<Self, S extends Spec, A = void, E = never, R = never>(
  tag: HyperlinkTag<Self, S>,
  config: DaemonLayerConfig<A, E, R>
): Layer.Layer<HandlerContextOf<DaemonSpec> | Store.Storage, never, R>

Serve a daemon remotely (served-only) — mounts its RPC handlers without granting the local instance, preserving the requirement R for a per-HyperService Layer.provide.

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

layers & servingStore.Storage
Source src/Daemon.ts:267118 lines
export function serveRemote<Self, S extends Spec, A = void, E = never, R = never>(
  tag: HyperlinkTag<Self, S>,
  config: DaemonLayerConfig<A, E, R>,
): Layer.Layer<HandlerContextOf<DaemonSpec> | Store.Storage, never, R>;
export function serveRemote(
  tag: HyperlinkTag<any, any, any>,
  config: DaemonLayerConfig<any, any, any>,
): Layer.Any {
  const baseTag: HyperlinkTag<unknown, DaemonSpec> = tag;
  const closedConfig = retype<DaemonLayerConfig<unknown, never, never>>(config as never);
  return withDefaultMemory(
    Layer.unwrap(
      Effect.map(buildDaemonImpl(tag, closedConfig), (built) =>
        Hyperlink.serveRemoteDriver(baseTag, built),
      ),
    ),
  );
}
Referenced by 1 symbols