Hyperlinkv0.8.0-beta.28

Effect

Effect.Transactionclasseffect/Effect.ts:14596
Transaction

Service that holds the current transaction state.

Details

It includes a journal that stores non-committed changes to TxRef values and a retry flag that records whether the transaction should be retried.

Example (Building transactions)

import { Effect } from "effect"

// Transaction class for software transactional memory operations
const txEffect = Effect.gen(function*() {
  const tx = yield* Effect.Transaction
  // Use transaction for coordinated state changes
  return "Transaction complete"
})
transactions
Source effect/Effect.ts:1459613 lines
export class Transaction extends Context.Service<
  Transaction,
  {
    retry: boolean
    readonly journal: Map<
      TxRef<any>,
      {
        readonly version: number
        value: any
      }
    >
  }
>()("effect/Effect/Transaction") {}
Referenced by 5 symbols