Hyperlinkv0.8.0-beta.28

TxHashSet

TxHashSet.makeconsteffect/TxHashSet.ts:205
<Values extends ReadonlyArray<any>>(...values: Values): Effect.Effect<
  TxHashSet<Values[number]>
>

Creates a TxHashSet from a variable number of values.

Example (Creating transactional hash sets from values)

import { Effect, TxHashSet } from "effect"

const program = Effect.gen(function*() {
  const fruits = yield* TxHashSet.make("apple", "banana", "cherry")
  console.log(yield* TxHashSet.size(fruits)) // 3

  const numbers = yield* TxHashSet.make(1, 2, 3, 2, 1) // Duplicates ignored
  console.log(yield* TxHashSet.size(numbers)) // 3

  const mixed = yield* TxHashSet.make("hello", 42, true)
  console.log(yield* TxHashSet.size(mixed)) // 3
})
constructors
export const make = <Values extends ReadonlyArray<any>>(
  ...values: Values
): Effect.Effect<TxHashSet<Values[number]>> =>
  Effect.gen(function*() {
    const hashSet = HashSet.make(...values)
    const ref = yield* TxRef.make(hashSet)
    return makeTxHashSet(ref)
  })