Hyperlinkv0.8.0-beta.28

HashSet

HashSet.filterconsteffect/HashSet.ts:506
<V, U extends V>(refinement: Refinement<NoInfer<V>, U>): (
  self: HashSet<V>
) => HashSet<U>
<V>(predicate: Predicate<NoInfer<V>>): (self: HashSet<V>) => HashSet<V>
<V, U extends V>(
  self: HashSet<V>,
  refinement: Refinement<V, U>
): HashSet<U>
<V>(self: HashSet<V>, predicate: Predicate<V>): HashSet<V>

Filters the HashSet keeping only values that satisfy the predicate.

Example (Filtering HashSet values)

import { HashSet } from "effect"

const numbers = HashSet.make(1, 2, 3, 4, 5, 6)
const evens = HashSet.filter(numbers, (n) => n % 2 === 0)

console.log(Array.from(evens).sort()) // [2, 4, 6]
console.log(HashSet.size(evens)) // 3
filtering
Source effect/HashSet.ts:50615 lines
export const filter: {
  <V, U extends V>(refinement: Refinement<NoInfer<V>, U>): (self: HashSet<V>) => HashSet<U>
  <V>(predicate: Predicate<NoInfer<V>>): (self: HashSet<V>) => HashSet<V>
  <V, U extends V>(self: HashSet<V>, refinement: Refinement<V, U>): HashSet<U>
  <V>(self: HashSet<V>, predicate: Predicate<V>): HashSet<V>
} = Dual.dual<
  {
    <V, U extends V>(refinement: Refinement<NoInfer<V>, U>): (self: HashSet<V>) => HashSet<U>
    <V>(predicate: Predicate<NoInfer<V>>): (self: HashSet<V>) => HashSet<V>
  },
  {
    <V, U extends V>(self: HashSet<V>, refinement: Refinement<V, U>): HashSet<U>
    <V>(self: HashSet<V>, predicate: Predicate<V>): HashSet<V>
  }
>(2, internal.filter)
Referenced by 1 symbols