<const Id extends string, E, RUser>(
id: Id,
effect: Effect.Effect<void, E, RUser>
): Daemon<RUser>
<const Id extends string, E, RUser>(
id: Id,
effect: Effect.Effect<void, E, RUser>,
polling: AnyPollingLayer
): Daemon<RUser>
<const Id extends string, E, RUser>(
id: Id,
effect: Effect.Effect<void, E, RUser>,
schedule: AnyScheduleLayer
): Daemon<RUser>
<const Id extends string, E, RUser, RSchedule>(
id: Id,
effect: Effect.Effect<void, E, RUser>,
schedule: DaemonScheduleInitializer<RSchedule>
): Daemon<RUser | RSchedule>
<const Id extends string, E, RUser>(
id: Id,
effect: Effect.Effect<void, E, RUser>,
polling: AnyPollingLayer,
schedule: AnyScheduleLayer
): Daemon<RUser>
<const Id extends string, E, RUser, RSchedule>(
id: Id,
effect: Effect.Effect<void, E, RUser>,
polling: AnyPollingLayer,
schedule: DaemonScheduleInitializer<RSchedule>
): Daemon<RUser | RSchedule>
<const Id extends string, E, RUser>(
id: Id,
effect: Effect.Effect<void, E, RUser>,
schedule: AnyScheduleLayer,
polling: AnyPollingLayer
): Daemon<RUser>
<const Id extends string, E, RUser, RSchedule>(
id: Id,
effect: Effect.Effect<void, E, RUser>,
schedule: DaemonScheduleInitializer<RSchedule>,
polling: AnyPollingLayer
): Daemon<RUser | RSchedule>
<const Id extends string, E, RUser>(
id: Id,
config: DaemonMakeOptions<E, RUser>
): Daemon<RUser>Create a managed Daemon.
function function make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>): Daemon<RUser> (+8 overloads)Create a managed
Daemon
.
make<const function (type parameter) Id in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>): Daemon<RUser>Id extends string, function (type parameter) E in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>): Daemon<RUser>E, function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>): Daemon<RUser>RUser>(
id: const Id extends stringid: function (type parameter) Id in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>): Daemon<RUser>Id,
effect: Effect.Effect<void, E, RUser>(parameter) effect: {
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
toString: () => string;
toJSON: () => unknown;
}
effect: import EffectEffect.interface Effect<out A, out E = never, out R = never>The Effect interface defines a value that lazily describes a workflow or
job. The workflow requires some context R, and may fail with an error of
type E, or succeed with a value of type A.
When to use
Use when you need to represent a lazy, composable workflow that can require
services, fail with a typed error, or succeed with a typed value.
Details
Effect values model resourceful interaction with the outside world,
including synchronous, asynchronous, concurrent, and parallel interaction.
They use a fiber-based concurrency model, with built-in support for
scheduling, fine-grained interruption, structured concurrency, and high
scalability.
To run an Effect value, you need a Runtime, which is a type that is
capable of executing Effect values.
Effect<void, function (type parameter) E in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>): Daemon<RUser>E, function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>): Daemon<RUser>RUser>,
): interface Daemon<out R>Managed daemon handle for Hyperlink supervision.
Daemon<function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>): Daemon<RUser>RUser>;
function function make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer): Daemon<RUser> (+8 overloads)Create a managed
Daemon
.
make<const function (type parameter) Id in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer): Daemon<RUser>Id extends string, function (type parameter) E in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer): Daemon<RUser>E, function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer): Daemon<RUser>RUser>(
id: const Id extends stringid: function (type parameter) Id in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer): Daemon<RUser>Id,
effect: Effect.Effect<void, E, RUser>(parameter) effect: {
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
toString: () => string;
toJSON: () => unknown;
}
effect: import EffectEffect.interface Effect<out A, out E = never, out R = never>The Effect interface defines a value that lazily describes a workflow or
job. The workflow requires some context R, and may fail with an error of
type E, or succeed with a value of type A.
When to use
Use when you need to represent a lazy, composable workflow that can require
services, fail with a typed error, or succeed with a typed value.
Details
Effect values model resourceful interaction with the outside world,
including synchronous, asynchronous, concurrent, and parallel interaction.
They use a fiber-based concurrency model, with built-in support for
scheduling, fine-grained interruption, structured concurrency, and high
scalability.
To run an Effect value, you need a Runtime, which is a type that is
capable of executing Effect values.
Effect<void, function (type parameter) E in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer): Daemon<RUser>E, function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer): Daemon<RUser>RUser>,
polling: DaemonPollingInput(parameter) polling: {
build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<Context.Context<PollingTag>, never, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
polling: type AnyPollingLayer = Layer.Layer<
PollingTag,
never,
never
>
AnyPollingLayer,
): interface Daemon<out R>Managed daemon handle for Hyperlink supervision.
Daemon<function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer): Daemon<RUser>RUser>;
function function make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: AnyScheduleLayer): Daemon<RUser> (+8 overloads)Create a managed
Daemon
.
make<const function (type parameter) Id in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: AnyScheduleLayer): Daemon<RUser>Id extends string, function (type parameter) E in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: AnyScheduleLayer): Daemon<RUser>E, function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: AnyScheduleLayer): Daemon<RUser>RUser>(
id: const Id extends stringid: function (type parameter) Id in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: AnyScheduleLayer): Daemon<RUser>Id,
effect: Effect.Effect<void, E, RUser>(parameter) effect: {
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
toString: () => string;
toJSON: () => unknown;
}
effect: import EffectEffect.interface Effect<out A, out E = never, out R = never>The Effect interface defines a value that lazily describes a workflow or
job. The workflow requires some context R, and may fail with an error of
type E, or succeed with a value of type A.
When to use
Use when you need to represent a lazy, composable workflow that can require
services, fail with a typed error, or succeed with a typed value.
Details
Effect values model resourceful interaction with the outside world,
including synchronous, asynchronous, concurrent, and parallel interaction.
They use a fiber-based concurrency model, with built-in support for
scheduling, fine-grained interruption, structured concurrency, and high
scalability.
To run an Effect value, you need a Runtime, which is a type that is
capable of executing Effect values.
Effect<void, function (type parameter) E in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: AnyScheduleLayer): Daemon<RUser>E, function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: AnyScheduleLayer): Daemon<RUser>RUser>,
schedule: DaemonScheduleLayerInput(parameter) schedule: {
build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<Context.Context<DaemonScheduleTag>, never, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
schedule: type AnyScheduleLayer = Layer.Layer<
DaemonScheduleTag,
never,
never
>
AnyScheduleLayer,
): interface Daemon<out R>Managed daemon handle for Hyperlink supervision.
Daemon<function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: AnyScheduleLayer): Daemon<RUser>RUser>;
function function make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule> (+8 overloads)Create a managed
Daemon
.
make<const function (type parameter) Id in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>Id extends string, function (type parameter) E in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>E, function (type parameter) RUser in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>RUser, function (type parameter) RSchedule in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>RSchedule>(
id: const Id extends stringid: function (type parameter) Id in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>Id,
effect: Effect.Effect<void, E, RUser>(parameter) effect: {
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
toString: () => string;
toJSON: () => unknown;
}
effect: import EffectEffect.interface Effect<out A, out E = never, out R = never>The Effect interface defines a value that lazily describes a workflow or
job. The workflow requires some context R, and may fail with an error of
type E, or succeed with a value of type A.
When to use
Use when you need to represent a lazy, composable workflow that can require
services, fail with a typed error, or succeed with a typed value.
Details
Effect values model resourceful interaction with the outside world,
including synchronous, asynchronous, concurrent, and parallel interaction.
They use a fiber-based concurrency model, with built-in support for
scheduling, fine-grained interruption, structured concurrency, and high
scalability.
To run an Effect value, you need a Runtime, which is a type that is
capable of executing Effect values.
Effect<void, function (type parameter) E in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>E, function (type parameter) RUser in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>RUser>,
schedule: DaemonScheduleInitializer<RSchedule>schedule: type DaemonScheduleInitializer<
R = never
> = (
controls: DaemonScheduleControls
) => Effect.Effect<void, never, R>
A function that seeds a daemon's schedule via its
DaemonScheduleControls
.
DaemonScheduleInitializer<function (type parameter) RSchedule in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>RSchedule>,
): interface Daemon<out R>Managed daemon handle for Hyperlink supervision.
Daemon<function (type parameter) RUser in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>RUser | function (type parameter) RSchedule in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>RSchedule>;
function function make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: AnyScheduleLayer): Daemon<RUser> (+8 overloads)Create a managed
Daemon
.
make<const function (type parameter) Id in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: AnyScheduleLayer): Daemon<RUser>Id extends string, function (type parameter) E in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: AnyScheduleLayer): Daemon<RUser>E, function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: AnyScheduleLayer): Daemon<RUser>RUser>(
id: const Id extends stringid: function (type parameter) Id in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: AnyScheduleLayer): Daemon<RUser>Id,
effect: Effect.Effect<void, E, RUser>(parameter) effect: {
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
toString: () => string;
toJSON: () => unknown;
}
effect: import EffectEffect.interface Effect<out A, out E = never, out R = never>The Effect interface defines a value that lazily describes a workflow or
job. The workflow requires some context R, and may fail with an error of
type E, or succeed with a value of type A.
When to use
Use when you need to represent a lazy, composable workflow that can require
services, fail with a typed error, or succeed with a typed value.
Details
Effect values model resourceful interaction with the outside world,
including synchronous, asynchronous, concurrent, and parallel interaction.
They use a fiber-based concurrency model, with built-in support for
scheduling, fine-grained interruption, structured concurrency, and high
scalability.
To run an Effect value, you need a Runtime, which is a type that is
capable of executing Effect values.
Effect<void, function (type parameter) E in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: AnyScheduleLayer): Daemon<RUser>E, function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: AnyScheduleLayer): Daemon<RUser>RUser>,
polling: DaemonPollingInput(parameter) polling: {
build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<Context.Context<PollingTag>, never, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
polling: type AnyPollingLayer = Layer.Layer<
PollingTag,
never,
never
>
AnyPollingLayer,
schedule: DaemonScheduleLayerInput(parameter) schedule: {
build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<Context.Context<DaemonScheduleTag>, never, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
schedule: type AnyScheduleLayer = Layer.Layer<
DaemonScheduleTag,
never,
never
>
AnyScheduleLayer,
): interface Daemon<out R>Managed daemon handle for Hyperlink supervision.
Daemon<function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: AnyScheduleLayer): Daemon<RUser>RUser>;
function function make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule> (+8 overloads)Create a managed
Daemon
.
make<const function (type parameter) Id in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>Id extends string, function (type parameter) E in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>E, function (type parameter) RUser in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>RUser, function (type parameter) RSchedule in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>RSchedule>(
id: const Id extends stringid: function (type parameter) Id in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>Id,
effect: Effect.Effect<void, E, RUser>(parameter) effect: {
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
toString: () => string;
toJSON: () => unknown;
}
effect: import EffectEffect.interface Effect<out A, out E = never, out R = never>The Effect interface defines a value that lazily describes a workflow or
job. The workflow requires some context R, and may fail with an error of
type E, or succeed with a value of type A.
When to use
Use when you need to represent a lazy, composable workflow that can require
services, fail with a typed error, or succeed with a typed value.
Details
Effect values model resourceful interaction with the outside world,
including synchronous, asynchronous, concurrent, and parallel interaction.
They use a fiber-based concurrency model, with built-in support for
scheduling, fine-grained interruption, structured concurrency, and high
scalability.
To run an Effect value, you need a Runtime, which is a type that is
capable of executing Effect values.
Effect<void, function (type parameter) E in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>E, function (type parameter) RUser in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>RUser>,
polling: DaemonPollingInput(parameter) polling: {
build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<Context.Context<PollingTag>, never, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
polling: type AnyPollingLayer = Layer.Layer<
PollingTag,
never,
never
>
AnyPollingLayer,
schedule: DaemonScheduleInitializer<RSchedule>schedule: type DaemonScheduleInitializer<
R = never
> = (
controls: DaemonScheduleControls
) => Effect.Effect<void, never, R>
A function that seeds a daemon's schedule via its
DaemonScheduleControls
.
DaemonScheduleInitializer<function (type parameter) RSchedule in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>RSchedule>,
): interface Daemon<out R>Managed daemon handle for Hyperlink supervision.
Daemon<function (type parameter) RUser in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>RUser | function (type parameter) RSchedule in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, polling: AnyPollingLayer, schedule: DaemonScheduleInitializer<RSchedule>): Daemon<RUser | RSchedule>RSchedule>;
function function make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: AnyScheduleLayer, polling: AnyPollingLayer): Daemon<RUser> (+8 overloads)Create a managed
Daemon
.
make<const function (type parameter) Id in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: AnyScheduleLayer, polling: AnyPollingLayer): Daemon<RUser>Id extends string, function (type parameter) E in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: AnyScheduleLayer, polling: AnyPollingLayer): Daemon<RUser>E, function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: AnyScheduleLayer, polling: AnyPollingLayer): Daemon<RUser>RUser>(
id: const Id extends stringid: function (type parameter) Id in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: AnyScheduleLayer, polling: AnyPollingLayer): Daemon<RUser>Id,
effect: Effect.Effect<void, E, RUser>(parameter) effect: {
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
toString: () => string;
toJSON: () => unknown;
}
effect: import EffectEffect.interface Effect<out A, out E = never, out R = never>The Effect interface defines a value that lazily describes a workflow or
job. The workflow requires some context R, and may fail with an error of
type E, or succeed with a value of type A.
When to use
Use when you need to represent a lazy, composable workflow that can require
services, fail with a typed error, or succeed with a typed value.
Details
Effect values model resourceful interaction with the outside world,
including synchronous, asynchronous, concurrent, and parallel interaction.
They use a fiber-based concurrency model, with built-in support for
scheduling, fine-grained interruption, structured concurrency, and high
scalability.
To run an Effect value, you need a Runtime, which is a type that is
capable of executing Effect values.
Effect<void, function (type parameter) E in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: AnyScheduleLayer, polling: AnyPollingLayer): Daemon<RUser>E, function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: AnyScheduleLayer, polling: AnyPollingLayer): Daemon<RUser>RUser>,
schedule: DaemonScheduleLayerInput(parameter) schedule: {
build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<Context.Context<DaemonScheduleTag>, never, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
schedule: type AnyScheduleLayer = Layer.Layer<
DaemonScheduleTag,
never,
never
>
AnyScheduleLayer,
polling: DaemonPollingInput(parameter) polling: {
build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<Context.Context<PollingTag>, never, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
polling: type AnyPollingLayer = Layer.Layer<
PollingTag,
never,
never
>
AnyPollingLayer,
): interface Daemon<out R>Managed daemon handle for Hyperlink supervision.
Daemon<function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: AnyScheduleLayer, polling: AnyPollingLayer): Daemon<RUser>RUser>;
function function make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>, polling: AnyPollingLayer): Daemon<RUser | RSchedule> (+8 overloads)Create a managed
Daemon
.
make<const function (type parameter) Id in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>, polling: AnyPollingLayer): Daemon<RUser | RSchedule>Id extends string, function (type parameter) E in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>, polling: AnyPollingLayer): Daemon<RUser | RSchedule>E, function (type parameter) RUser in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>, polling: AnyPollingLayer): Daemon<RUser | RSchedule>RUser, function (type parameter) RSchedule in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>, polling: AnyPollingLayer): Daemon<RUser | RSchedule>RSchedule>(
id: const Id extends stringid: function (type parameter) Id in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>, polling: AnyPollingLayer): Daemon<RUser | RSchedule>Id,
effect: Effect.Effect<void, E, RUser>(parameter) effect: {
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
toString: () => string;
toJSON: () => unknown;
}
effect: import EffectEffect.interface Effect<out A, out E = never, out R = never>The Effect interface defines a value that lazily describes a workflow or
job. The workflow requires some context R, and may fail with an error of
type E, or succeed with a value of type A.
When to use
Use when you need to represent a lazy, composable workflow that can require
services, fail with a typed error, or succeed with a typed value.
Details
Effect values model resourceful interaction with the outside world,
including synchronous, asynchronous, concurrent, and parallel interaction.
They use a fiber-based concurrency model, with built-in support for
scheduling, fine-grained interruption, structured concurrency, and high
scalability.
To run an Effect value, you need a Runtime, which is a type that is
capable of executing Effect values.
Effect<void, function (type parameter) E in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>, polling: AnyPollingLayer): Daemon<RUser | RSchedule>E, function (type parameter) RUser in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>, polling: AnyPollingLayer): Daemon<RUser | RSchedule>RUser>,
schedule: DaemonScheduleInitializer<RSchedule>schedule: type DaemonScheduleInitializer<
R = never
> = (
controls: DaemonScheduleControls
) => Effect.Effect<void, never, R>
A function that seeds a daemon's schedule via its
DaemonScheduleControls
.
DaemonScheduleInitializer<function (type parameter) RSchedule in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>, polling: AnyPollingLayer): Daemon<RUser | RSchedule>RSchedule>,
polling: DaemonPollingInput(parameter) polling: {
build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<Context.Context<PollingTag>, never, never>;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
}
polling: type AnyPollingLayer = Layer.Layer<
PollingTag,
never,
never
>
AnyPollingLayer,
): interface Daemon<out R>Managed daemon handle for Hyperlink supervision.
Daemon<function (type parameter) RUser in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>, polling: AnyPollingLayer): Daemon<RUser | RSchedule>RUser | function (type parameter) RSchedule in make<const Id extends string, E, RUser, RSchedule>(id: Id, effect: Effect.Effect<void, E, RUser>, schedule: DaemonScheduleInitializer<RSchedule>, polling: AnyPollingLayer): Daemon<RUser | RSchedule>RSchedule>;
function function make<const Id extends string, E, RUser>(id: Id, config: DaemonMakeOptions<E, RUser>): Daemon<RUser> (+8 overloads)Create a managed
Daemon
.
make<const function (type parameter) Id in make<const Id extends string, E, RUser>(id: Id, config: DaemonMakeOptions<E, RUser>): Daemon<RUser>Id extends string, function (type parameter) E in make<const Id extends string, E, RUser>(id: Id, config: DaemonMakeOptions<E, RUser>): Daemon<RUser>E, function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, config: DaemonMakeOptions<E, RUser>): Daemon<RUser>RUser>(
id: const Id extends stringid: function (type parameter) Id in make<const Id extends string, E, RUser>(id: Id, config: DaemonMakeOptions<E, RUser>): Daemon<RUser>Id,
config: DaemonMakeOptions<E, RUser>(parameter) config: {
effect: Effect.Effect<void, E, RUser>;
_store: DaemonStoreWriter;
_storeScopeTag: StoreScopeTag;
_resultRef: SubscriptionRef.SubscriptionRef<Option.Option<unknown>>;
polling: AnyPollingLayer;
schedule: DaemonScheduleInitializer<RUser> | AnyScheduleLayer;
scheduleLayer: AnyScheduleLayer;
}
config: interface DaemonMakeOptions<E, RUser>Configuration for
Daemon.make
when using the config-object form (id is separate).
DaemonMakeOptions<function (type parameter) E in make<const Id extends string, E, RUser>(id: Id, config: DaemonMakeOptions<E, RUser>): Daemon<RUser>E, function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, config: DaemonMakeOptions<E, RUser>): Daemon<RUser>RUser>,
): interface Daemon<out R>Managed daemon handle for Hyperlink supervision.
Daemon<function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, config: DaemonMakeOptions<E, RUser>): Daemon<RUser>RUser>;
function function make<const Id extends string, E, RUser>(id: Id, effect: Effect.Effect<void, E, RUser>): Daemon<RUser> (+8 overloads)Create a managed
Daemon
.
make<const function (type parameter) Id in make<const Id extends string, E, RUser>(id: Id, effectOrConfig: Effect.Effect<void, E, RUser> | DaemonMakeOptions<E, RUser>, third?: DaemonMakeLayerArg<RUser>, fourth?: DaemonMakeLayerArg<RUser>): Daemon<RUser>Id extends string, function (type parameter) E in make<const Id extends string, E, RUser>(id: Id, effectOrConfig: Effect.Effect<void, E, RUser> | DaemonMakeOptions<E, RUser>, third?: DaemonMakeLayerArg<RUser>, fourth?: DaemonMakeLayerArg<RUser>): Daemon<RUser>E, function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effectOrConfig: Effect.Effect<void, E, RUser> | DaemonMakeOptions<E, RUser>, third?: DaemonMakeLayerArg<RUser>, fourth?: DaemonMakeLayerArg<RUser>): Daemon<RUser>RUser>(
id: const Id extends stringid: function (type parameter) Id in make<const Id extends string, E, RUser>(id: Id, effectOrConfig: Effect.Effect<void, E, RUser> | DaemonMakeOptions<E, RUser>, third?: DaemonMakeLayerArg<RUser>, fourth?: DaemonMakeLayerArg<RUser>): Daemon<RUser>Id,
effectOrConfig: | Effect.Effect<void, E, RUser>
| DaemonMakeOptions<E, RUser>
effectOrConfig: import EffectEffect.interface Effect<out A, out E = never, out R = never>The Effect interface defines a value that lazily describes a workflow or
job. The workflow requires some context R, and may fail with an error of
type E, or succeed with a value of type A.
When to use
Use when you need to represent a lazy, composable workflow that can require
services, fail with a typed error, or succeed with a typed value.
Details
Effect values model resourceful interaction with the outside world,
including synchronous, asynchronous, concurrent, and parallel interaction.
They use a fiber-based concurrency model, with built-in support for
scheduling, fine-grained interruption, structured concurrency, and high
scalability.
To run an Effect value, you need a Runtime, which is a type that is
capable of executing Effect values.
Effect<void, function (type parameter) E in make<const Id extends string, E, RUser>(id: Id, effectOrConfig: Effect.Effect<void, E, RUser> | DaemonMakeOptions<E, RUser>, third?: DaemonMakeLayerArg<RUser>, fourth?: DaemonMakeLayerArg<RUser>): Daemon<RUser>E, function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effectOrConfig: Effect.Effect<void, E, RUser> | DaemonMakeOptions<E, RUser>, third?: DaemonMakeLayerArg<RUser>, fourth?: DaemonMakeLayerArg<RUser>): Daemon<RUser>RUser> | interface DaemonMakeOptions<E, RUser>Configuration for
Daemon.make
when using the config-object form (id is separate).
DaemonMakeOptions<function (type parameter) E in make<const Id extends string, E, RUser>(id: Id, effectOrConfig: Effect.Effect<void, E, RUser> | DaemonMakeOptions<E, RUser>, third?: DaemonMakeLayerArg<RUser>, fourth?: DaemonMakeLayerArg<RUser>): Daemon<RUser>E, function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effectOrConfig: Effect.Effect<void, E, RUser> | DaemonMakeOptions<E, RUser>, third?: DaemonMakeLayerArg<RUser>, fourth?: DaemonMakeLayerArg<RUser>): Daemon<RUser>RUser>,
third: DaemonMakeLayerArg<RUser> | undefinedthird?: type DaemonMakeLayerArg<RUser> =
| DaemonPollingInput
| DaemonScheduleLayerInput
| DaemonScheduleInitializer<RUser>
DaemonMakeLayerArg<function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effectOrConfig: Effect.Effect<void, E, RUser> | DaemonMakeOptions<E, RUser>, third?: DaemonMakeLayerArg<RUser>, fourth?: DaemonMakeLayerArg<RUser>): Daemon<RUser>RUser>,
fourth: DaemonMakeLayerArg<RUser> | undefinedfourth?: type DaemonMakeLayerArg<RUser> =
| DaemonPollingInput
| DaemonScheduleLayerInput
| DaemonScheduleInitializer<RUser>
DaemonMakeLayerArg<function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effectOrConfig: Effect.Effect<void, E, RUser> | DaemonMakeOptions<E, RUser>, third?: DaemonMakeLayerArg<RUser>, fourth?: DaemonMakeLayerArg<RUser>): Daemon<RUser>RUser>,
): interface Daemon<out R>Managed daemon handle for Hyperlink supervision.
Daemon<function (type parameter) RUser in make<const Id extends string, E, RUser>(id: Id, effectOrConfig: Effect.Effect<void, E, RUser> | DaemonMakeOptions<E, RUser>, third?: DaemonMakeLayerArg<RUser>, fourth?: DaemonMakeLayerArg<RUser>): Daemon<RUser>RUser> {
return const buildDaemon: <E, RUser>(
name: string,
config: DaemonMakeOptions<E, RUser>
) => Daemon<RUser>
buildDaemon(id: const Id extends stringid, const resolveDaemonMakeConfig: <E, RUser>(
effectOrConfig:
| Effect.Effect<void, E, RUser>
| DaemonMakeOptions<E, RUser>,
third?: DaemonMakeLayerArg<RUser>,
fourth?: DaemonMakeLayerArg<RUser>
) => DaemonMakeOptions<E, RUser>
resolveDaemonMakeConfig(effectOrConfig: | Effect.Effect<void, E, RUser>
| DaemonMakeOptions<E, RUser>
effectOrConfig, third: DaemonMakeLayerArg<RUser> | undefinedthird, fourth: DaemonMakeLayerArg<RUser> | undefinedfourth));
}