Effectable.ts
Effectable.ts overview
Section titled “Effectable.ts overview”Low-level helpers for making custom values behave like Effects. The module
exposes a prototype builder and an abstract base class that let
domain-specific values, such as service keys or configuration descriptions,
be evaluated by Effect and yielded inside Effect.gen.
Since v4.0.0
Exports Grouped by Category
Section titled “Exports Grouped by Category”constructors
Section titled “constructors”Class (class)
Section titled “Class (class)”Provides an abstract class that can be extended to create an Effect.
When to use
Use as an abstract base class to define custom classes whose instances behave
as Effect values.
See
Prototypefor a lower-level primitive approach to creating custom Effect-like values without a class
Signature
declare class Class<A, E, R>Since v2.0.0
override (property)
Section titled “override (property)”Signature
override: Effect.Effect<A, E, R>prototypes
Section titled “prototypes”Prototype
Section titled “Prototype”Create a low-level Effect prototype.
When to use
Use when you need to create a custom Effect-like value without extending a class, by providing a label and an evaluate function that receives the current fiber.
Details
When the effect is evaluated, it calls evaluate with the current fiber.
See
Classfor a class-based approach to defining custom Effect values
Signature
declare const Prototype: <A extends Effect.Effect<any, any, any>>(options: { readonly label: string readonly evaluate: ( this: A, fiber: Fiber.Fiber<any, any> ) => Effect.Effect<Effect.Success<A>, Effect.Error<A>, Effect.Services<A>>}) => Effect.Effect<Effect.Success<A>, Effect.Error<A>, Effect.Services<A>>Since v4.0.0