variable / @typed/fx

RefTuple.updateAt

Update the value at a specific index in the current state of a RefTuple using a function.

Package version
2.0.0-beta.7
Category
State updates
Since
1.18.0
Member of
RefTuple

Import

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

Access RefTuple.updateAt 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 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.

Source