Hyperlinkv0.9.0-beta.0

Daemon

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

Serve a daemon and grant its local instance from one materialization.

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

layers & servingStore.Storage
Source src/Daemon.ts:263122 lines
export function serve<Self, S extends Spec, A = void, E = never, R = never>(
  tag: HyperlinkTag<Self, S>,
  config: DaemonLayerConfig<A, E, R>,
): Layer.Layer<
  Self | Local<Self> | HandlerContextOf<DaemonSpec> | Store.Storage,
  never,
  R
>;
export function serve(
  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.serve(baseTag, built),
      ),
    ),
  );
}
Referenced by 1 symbols