interface / @typed/fx/Versioned

Versioned.Class

Defines the class state contract.

Package version
2.0.0-beta.13
Category
Services
Since
1.0.0
Member of
Versioned

Import

import { Versioned } from "@typed/fx/Versioned";

Access Versioned.Class through the imported Versioned export. Its declaration below describes the member.

Signatures

interface Class<Self, Id extends string, E1, A2, E2, A3, E3> extends Service<Self, Id, E1, A2, E2, A3, E3> {
    new (): Service<Self, Id, E1, A2, E2, A3, E3>;
}

Why

Describes the constructable service facade returned by Service, including the same static Effect and Fx operations as its tag.

Ownership and lifetime

Class is a contract and performs no acquisition. Implementations retain the errors, services, interruption, and Scope requirements expressed by its members.

Construct signatures

Construct signature used by the generated Versioned service class.

Construct signatures: Why

Enables class-extension syntax while returning the generated static service facade rather than allocating another Versioned value.

Construct signatures: Ownership and lifetime

Construction itself performs no Effect or acquisition. The matching Layer owns the installed Versioned value and supplies its three channels.

Other public imports

These import paths expose the same declaration. Each page retains its own public name and signature.

Source