Set overview

Added in v2.0.0


Table of contents


chain

Signature

export const chain: <B>(E: Eq<B>) => <A>(f: (x: A) => Set<B>) => (set: Set<A>) => Set<B> = ...

Added in v2.0.0

compact

Signature

export const compact: <A>(E: Eq<A>) => (fa: Set<Option<A>>) => Set<A> = ...

Added in v2.0.0

difference

Form the set difference (x - y)

Signature

export const difference: <A>(E: Eq<A>) => (x: Set<A>, y: Set<A>) => Set<A> = ...

Example

import { difference } from 'fp-ts/lib/Set'
import { eqNumber } from 'fp-ts/lib/Eq'

assert.deepStrictEqual(difference(eqNumber)(new Set([1, 2]), new Set([1, 3])), new Set([2]))

Added in v2.0.0

elem

Test if a value is a member of a set

Signature

export const elem: <A>(E: Eq<A>) => (a: A, set: Set<A>) => boolean = ...

Added in v2.0.0

empty

Signature

export const empty: Set<never> = ...

Added in v2.0.0

every

Signature

export const every: <A>(predicate: Predicate<A>) => (set: Set<A>) => boolean = ...

Added in v2.0.0

filter

Signature

export function filter<A, B extends A>(refinement: Refinement<A, B>): (set: Set<A>) => Set<B>
export function filter<A>(predicate: Predicate<A>): (set: Set<A>) => Set<A> { ... }

Added in v2.0.0

filterMap

Signature

export const filterMap: <B>(E: Eq<B>) => <A>(f: (a: A) => Option<B>) => (fa: Set<A>) => Set<B> = ...

Added in v2.0.0

foldMap

Signature

export const foldMap: <A, M>(O: Ord<A>, M: Monoid<M>) => (f: (a: A) => M) => (fa: Set<A>) => M = ...

Added in v2.0.0

fromArray

Create a set from an array

Signature

export const fromArray: <A>(E: Eq<A>) => (as: Array<A>) => Set<A> = ...

Added in v2.0.0

getEq

Signature

export const getEq: <A>(E: Eq<A>) => Eq<Set<A>> = ...

Added in v2.0.0

getIntersectionSemigroup

Signature

export const getIntersectionSemigroup: <A>(E: Eq<A>) => Semigroup<Set<A>> = ...

Added in v2.0.0

getShow

Signature

export const getShow: <A>(S: Show<A>) => Show<Set<A>> = ...

Added in v2.0.0

getUnionMonoid

Signature

export const getUnionMonoid: <A>(E: Eq<A>) => Monoid<Set<A>> = ...

Added in v2.0.0

insert

Insert a value into a set

Signature

export const insert: <A>(E: Eq<A>) => (a: A) => (set: Set<A>) => Set<A> = ...

Added in v2.0.0

intersection

The set of elements which are in both the first and second set

Signature

export const intersection: <A>(E: Eq<A>) => (set: Set<A>, y: Set<A>) => Set<A> = ...

Added in v2.0.0

map

Projects a Set through a function

Signature

export const map: <B>(E: Eq<B>) => <A>(f: (x: A) => B) => (set: Set<A>) => Set<B> = ...

Added in v2.0.0

partition

Signature

export function partition<A, B extends A>(refinement: Refinement<A, B>): (set: Set<A>) => Separated<Set<A>, Set<B>>
export function partition<A>(predicate: Predicate<A>): (set: Set<A>) => Separated<Set<A>, Set<A>> { ... }

Added in v2.0.0

partitionMap

Signature

export const partitionMap: <B, C>(
  EB: Eq<B>,
  EC: Eq<C>
) => <A>(f: (a: A) => Either<B, C>) => (set: Set<A>) => Separated<Set<B>, Set<C>> = ...

Added in v2.0.0

reduce

Signature

export const reduce: <A>(O: Ord<A>) => <B>(b: B, f: (b: B, a: A) => B) => (fa: Set<A>) => B = ...

Added in v2.0.0

remove

Delete a value from a set

Signature

export const remove: <A>(E: Eq<A>) => (a: A) => (set: Set<A>) => Set<A> = ...

Added in v2.0.0

separate

Signature

export const separate: <E, A>(
  EE: Eq<E>,
  EA: Eq<A>
) => (fa: Set<Either<E, A>>) => Separated<Set<E>, Set<A>> = ...

Added in v2.0.0

singleton

Create a set with one element

Signature

export const singleton: <A>(a: A) => Set<A> = ...

Added in v2.0.0

some

Signature

export const some: <A>(predicate: Predicate<A>) => (set: Set<A>) => boolean = ...

Added in v2.0.0

subset

true if and only if every element in the first set is an element of the second set

Signature

export const subset: <A>(E: Eq<A>) => (x: Set<A>, y: Set<A>) => boolean = ...

Added in v2.0.0

toArray

Signature

export const toArray: <A>(O: Ord<A>) => (set: Set<A>) => Array<A> = ...

Added in v2.0.0

toggle

Checks an element is a member of a set; If yes, removes the value from the set If no, inserts the value to the set

Signature

export function toggle<A>(E: Eq<A>): (a: A) => (set: Set<A>) => Set<A> { ... }

Added in v2.5.0

union

Form the union of two sets

Signature

export const union: <A>(E: Eq<A>) => (set: Set<A>, y: Set<A>) => Set<A> = ...

Added in v2.0.0