Hyperlinkv0.8.0-beta.28

MutableHashSet

MutableHashSet.addconsteffect/MutableHashSet.ts:262
<V>(key: V): (self: MutableHashSet<V>) => MutableHashSet<V>
<V>(self: MutableHashSet<V>, key: V): MutableHashSet<V>

Adds a value to the MutableHashSet, mutating the set in place. If the value already exists, the set remains unchanged.

When to use

Use to insert a value into a mutable set while keeping uniqueness.

Example (Adding values)

import { MutableHashSet } from "effect"

const set = MutableHashSet.empty<string>()

// Add new values
MutableHashSet.add(set, "apple")
MutableHashSet.add(set, "banana")

console.log(MutableHashSet.size(set)) // 2
console.log(MutableHashSet.has(set, "apple")) // true

// Add duplicate (no effect)
MutableHashSet.add(set, "apple")
console.log(MutableHashSet.size(set)) // 2

// Pipe-able version
const addFruit = MutableHashSet.add("cherry")
addFruit(set)
console.log(MutableHashSet.size(set)) // 3
mutations
export const add: {
  <V>(key: V): (self: MutableHashSet<V>) => MutableHashSet<V>
  <V>(self: MutableHashSet<V>, key: V): MutableHashSet<V>
} = Dual.dual<
  <V>(key: V) => (self: MutableHashSet<V>) => MutableHashSet<V>,
  <V>(self: MutableHashSet<V>, key: V) => MutableHashSet<V>
>(2, (self, key) => (MutableHashMap.set(self.keyMap, key, true), self))