Import
import { updateAt } from "@typed/fx/RefTuple";Signatures
export declare const updateAt: {
<T extends ReadonlyArray<unknown>, I extends number>(index: I, f: (value: T[I]) => T[I]): <E, R>(ref: RefTuple<T, E, R>) => Effect.Effect<T, E, R>;
<T extends ReadonlyArray<unknown>, I extends number, E, R>(ref: RefTuple<T, E, R>, index: I, f: (value: T[I]) => T[I]): Effect.Effect<T, E, R>;
};Why
Keeps update at atomic with respect to competing RefSubject writes instead of splitting the read and replacement into separate effects.
Ownership and lifetime
Running update at performs one serialized tuple transition and resolves with its committed value. It acquires no resource; failures and services remain those of the source ref.
Other public imports
These import paths expose the same declaration. Each page retains its own public name and signature.