Skip to main content
HashSet is an immutable hash-based set data structure.

Type Definition

interface HashSet<A> extends Iterable<A>

Constructors

empty

Creates an empty HashSet.
const empty: <A = never>() => HashSet<A>

make

Creates a HashSet from values.
const make: <As extends ReadonlyArray<any>>(...as: As) => HashSet<As[number]>

fromIterable

Creates a HashSet from an iterable.
const fromIterable: <A>(iterable: Iterable<A>) => HashSet<A>

Operations

add

Adds an element to a HashSet.
const add: <A>(value: A) => (self: HashSet<A>) => HashSet<A>

has

Checks if an element exists in a HashSet.
const has: <A>(value: A) => (self: HashSet<A>) => boolean

remove

Removes an element from a HashSet.
const remove: <A>(value: A) => (self: HashSet<A>) => HashSet<A>

Example

import { HashSet } from "effect"

const set = HashSet.make(1, 2, 3).pipe(
  HashSet.add(4),
  HashSet.remove(2)
)

console.log(HashSet.has(set, 3)) // true

Build docs developers (and LLMs) love