Import
import { makeComputed } from "@typed/fx/RefSubject";Signatures
export declare function makeComputed<R0, E0, A, E, R, E2, R2, C, E3, R3>(input: Versioned.Versioned<R0, E0, A, E, R, A, E2, R2>, f: (a: A) => Effect.Effect<C, E3, R3>): Computed<C, E0 | E | E2 | E3, R0 | R2 | R3 | Exclude<R, Scope.Scope>>;Why
Applies the same Effectful projection to current reads and pushed versions, preserving all three Versioned channels without granting writes to the source.
Ownership and lifetime
Current reads cache the transformed input by source version within each Effect Context. The
pushed channel uses Subject.hold: observers with the same Context object share one upstream
session and its retained projection; distinct Context objects have separate sessions. The last
observer ends its session and clears its held value. The observing Scope owns cleanup.
Other public imports
These import paths expose the same declaration. Each page retains its own public name and signature.