<Self, S extends Spec, A = void, E = never, R = never>(
tag: HyperlinkTag<Self, S>,
config: ProcessLayerConfig<A, E, R>
): Layer.Layer<HandlerContextOf<ProcessSpec> | Store.Storage, never, R>Alias of serveRemote.
export function function serveRemoteMemory<
Self,
S extends Spec,
A = void,
E = never,
R = never
>(
tag: HyperlinkTag<Self, S>,
config: ProcessLayerConfig<A, E, R>
): Layer.Layer<
HandlerContextOf<ProcessSpec> | Store.Storage,
never,
R
>
Alias of
serveRemote
.
serveRemoteMemory<function (type parameter) Self in serveRemoteMemory<Self, S extends Spec, A = void, E = never, R = never>(tag: HyperlinkTag<Self, S>, config: ProcessLayerConfig<A, E, R>): Layer.Layer<HandlerContextOf<ProcessSpec> | Store.Storage, never, R>Self, function (type parameter) S in serveRemoteMemory<Self, S extends Spec, A = void, E = never, R = never>(tag: HyperlinkTag<Self, S>, config: ProcessLayerConfig<A, E, R>): Layer.Layer<HandlerContextOf<ProcessSpec> | Store.Storage, never, R>S extends import SpecSpec, function (type parameter) A in serveRemoteMemory<Self, S extends Spec, A = void, E = never, R = never>(tag: HyperlinkTag<Self, S>, config: ProcessLayerConfig<A, E, R>): Layer.Layer<HandlerContextOf<ProcessSpec> | Store.Storage, never, R>A = void, function (type parameter) E in serveRemoteMemory<Self, S extends Spec, A = void, E = never, R = never>(tag: HyperlinkTag<Self, S>, config: ProcessLayerConfig<A, E, R>): Layer.Layer<HandlerContextOf<ProcessSpec> | Store.Storage, never, R>E = never, function (type parameter) R in serveRemoteMemory<Self, S extends Spec, A = void, E = never, R = never>(tag: HyperlinkTag<Self, S>, config: ProcessLayerConfig<A, E, R>): Layer.Layer<HandlerContextOf<ProcessSpec> | Store.Storage, never, R>R = never>(
tag: HyperlinkTag<Self, S>tag: import HyperlinkTagHyperlinkTag<function (type parameter) Self in serveRemoteMemory<Self, S extends Spec, A = void, E = never, R = never>(tag: HyperlinkTag<Self, S>, config: ProcessLayerConfig<A, E, R>): Layer.Layer<HandlerContextOf<ProcessSpec> | Store.Storage, never, R>Self, function (type parameter) S in serveRemoteMemory<Self, S extends Spec, A = void, E = never, R = never>(tag: HyperlinkTag<Self, S>, config: ProcessLayerConfig<A, E, R>): Layer.Layer<HandlerContextOf<ProcessSpec> | Store.Storage, never, R>S>,
config: ProcessLayerConfig<A, E, R>(parameter) config: {
effect: Effect.Effect<A, E, R>;
polling: Layer.Layer<PollingTag, never, never>;
}
config: interface ProcessLayerConfig<A, E, R>Config for
layer
/
serve
/
serveRemote
. The effect is the work each run
performs; its success is captured into result when the tag is value-returning. Scheduling comes
from the tag now (Process.schedule(...)), not the config.
ProcessLayerConfig<function (type parameter) A in serveRemoteMemory<Self, S extends Spec, A = void, E = never, R = never>(tag: HyperlinkTag<Self, S>, config: ProcessLayerConfig<A, E, R>): Layer.Layer<HandlerContextOf<ProcessSpec> | Store.Storage, never, R>A, function (type parameter) E in serveRemoteMemory<Self, S extends Spec, A = void, E = never, R = never>(tag: HyperlinkTag<Self, S>, config: ProcessLayerConfig<A, E, R>): Layer.Layer<HandlerContextOf<ProcessSpec> | Store.Storage, never, R>E, function (type parameter) R in serveRemoteMemory<Self, S extends Spec, A = void, E = never, R = never>(tag: HyperlinkTag<Self, S>, config: ProcessLayerConfig<A, E, R>): Layer.Layer<HandlerContextOf<ProcessSpec> | Store.Storage, never, R>R>,
): import LayerLayer.interface Layer<in ROut, out E = never, out RIn = never>A Layer describes how to build one or more services for dependency injection.
When to use
Use to model construction of application services for dependency injection,
especially when services have dependencies, can fail during construction, or
need scoped setup and release.
Details
A Layer<ROut, E, RIn> represents ROut as the services this layer
provides, E as the possible errors during layer construction, and RIn as
the services this layer requires as dependencies.
Layer<import HandlerContextOfHandlerContextOf<type ProcessSpec = {
events: any
run: any
status: any
start: any
stop: any
wake: any
resetCadence: any
}
The base (schedule-less, result-less) process spec.
ProcessSpec> | import StoreStore.type Store.Storage = /*unresolved*/ anyStorage, never, function (type parameter) R in serveRemoteMemory<Self, S extends Spec, A = void, E = never, R = never>(tag: HyperlinkTag<Self, S>, config: ProcessLayerConfig<A, E, R>): Layer.Layer<HandlerContextOf<ProcessSpec> | Store.Storage, never, R>R>;
export function function serveRemoteMemory<
Self,
S extends Spec,
A = void,
E = never,
R = never
>(
tag: HyperlinkTag<Self, S>,
config: ProcessLayerConfig<A, E, R>
): Layer.Layer<
HandlerContextOf<ProcessSpec> | Store.Storage,
never,
R
>
Alias of
serveRemote
.
serveRemoteMemory(
tag: HyperlinkTag<any, any, any>tag: import HyperlinkTagHyperlinkTag<any, any, any>,
config: ProcessLayerConfig<any, any, any>(parameter) config: {
effect: Effect.Effect<A, E, R>;
polling: Layer.Layer<PollingTag, never, never>;
}
config: interface ProcessLayerConfig<A, E, R>Config for
layer
/
serve
/
serveRemote
. The effect is the work each run
performs; its success is captured into result when the tag is value-returning. Scheduling comes
from the tag now (Process.schedule(...)), not the config.
ProcessLayerConfig<any, any, any>,
): import LayerLayer.interface Layer<in ROut, out E = never, out RIn = never>A Layer describes how to build one or more services for dependency injection.
When to use
Use to model construction of application services for dependency injection,
especially when services have dependencies, can fail during construction, or
need scoped setup and release.
Details
A Layer<ROut, E, RIn> represents ROut as the services this layer
provides, E as the possible errors during layer construction, and RIn as
the services this layer requires as dependencies.
Layer<any, any, any> {
return function serveRemote<
Self,
S extends Spec,
A = void,
E = never,
R = never
>(
tag: HyperlinkTag<Self, S>,
config: ProcessLayerConfig<A, E, R>
): Layer.Layer<
HandlerContextOf<ProcessSpec> | Store.Storage,
never,
R
>
Serve a process remotely (served-only) — mounts its RPC handlers without granting the local
instance, preserving the requirement R for a per-resource Layer.provide.
Soft-defaults
Store.Storage
. Override with Layer.provide / provideMerge(AppStore).
serveRemote(tag: HyperlinkTag<any, any, any>tag, config: ProcessLayerConfig<any, any, any>(parameter) config: {
effect: Effect.Effect<A, E, R>;
polling: Layer.Layer<PollingTag, never, never>;
}
config) as any;
}