Hyperlinkv0.8.0-beta.28

TxHashMap

TxHashMap.sizeconsteffect/TxHashMap.ts:608
<K, V>(self: TxHashMap<K, V>): Effect.Effect<number>

Returns the number of entries in the TxHashMap.

Example (Counting entries)

import { Effect, TxHashMap } from "effect"

const program = Effect.gen(function*() {
  const metrics = yield* TxHashMap.make(
    ["requests", 1000],
    ["errors", 5],
    ["users", 50]
  )

  const count = yield* TxHashMap.size(metrics)
  console.log(count) // 3

  // Add more metrics
  yield* TxHashMap.set(metrics, "response_time", 250)
  const newCount = yield* TxHashMap.size(metrics)
  console.log(newCount) // 4

  // Remove a metric
  yield* TxHashMap.remove(metrics, "errors")
  const finalCount = yield* TxHashMap.size(metrics)
  console.log(finalCount) // 3
})
combinators
export const size = <K, V>(self: TxHashMap<K, V>): Effect.Effect<number> =>
  Effect.gen(function*() {
    const map = yield* TxRef.get(self.ref)
    return HashMap.size(map)
  })