Import
import { RefTuple } from "@typed/fx";Access RefTuple.make through the imported RefTuple export. Its declaration below describes the member.
This public exposure is a re-export. Its import path is supported; declaration documentation is shared with the other public exposures below.
Signatures
export declare function make<T extends ReadonlyArray<unknown>, E = never, R = never>(initial: T | Effect.Effect<T, E, R> | Fx.Fx<T, E, R>, eq?: Equivalence<T>): Effect.Effect<RefTuple<T, E>, never, R | Scope.Scope>;Why
Creates tuple state with equality suited to that Effect data type, so unchanged values do not produce redundant pushed updates.
Ownership and lifetime
The creation Effect requires Scope. It owns initializer acquisition, live source subscriptions, and cleanup; source failures and services stay on reads and pushes.
Examples
import { Effect, Tuple } from "effect"
import * as RefTuple from "@typed/fx/RefTuple"
const program = Effect.gen(function* () {
const value = yield* RefTuple.make(Tuple.make(1, "hello", true))
const current = yield* value
console.log(current) // [1, "hello", true]
})Other public imports
These import paths expose the same declaration. Each page retains its own public name and signature.