effect-io-ai

Package: effect
Module: TxRef

TxRef.update

Updates the value of the TxRef using the provided function.

When to use

Use to transform a TxRef when no result value is needed.

Example (Updating transactional references)

import { Effect, TxRef } from "effect"

const program = Effect.gen(function*() {
  const counter = yield* TxRef.make(10)

  // Update the value using a function
  yield* Effect.tx(
    TxRef.update(counter, (current) => current * 2)
  )

  console.log(yield* TxRef.get(counter)) // 20
})

Signature

declare const update: { <A>(f: (current: NoInfer<A>) => A): (self: TxRef<A>) => Effect.Effect<void>; <A>(self: TxRef<A>, f: (current: A) => A): Effect.Effect<void>; }

Source

Since v2.0.0