Added in v2.5.0
Signature
export declare function chain<B>(E: Eq<B>): <A>(f: (x: A) => ReadonlySet<B>) => (set: ReadonlySet<A>) => ReadonlySet<B>
Added in v2.5.0
Signature
export declare function compact<A>(E: Eq<A>): (fa: ReadonlySet<Option<A>>) => ReadonlySet<A>
Added in v2.5.0
Form the set difference (x
- y
)
Signature
export declare function difference<A>(
E: Eq<A>
): {
(that: ReadonlySet<A>): (me: ReadonlySet<A>) => ReadonlySet<A>
(me: ReadonlySet<A>, that: ReadonlySet<A>): ReadonlySet<A>
}
Example
import { difference } from 'fp-ts/ReadonlySet'
import { eqNumber } from 'fp-ts/Eq'
import { pipe } from 'fp-ts/function'
assert.deepStrictEqual(pipe(new Set([1, 2]), difference(eqNumber)(new Set([1, 3]))), new Set([2]))
Added in v2.5.0
Signature
export declare function filter<A, B extends A>(refinement: Refinement<A, B>): (set: ReadonlySet<A>) => ReadonlySet<B>
export declare function filter<A>(predicate: Predicate<A>): (set: ReadonlySet<A>) => ReadonlySet<A>
Added in v2.5.0
Signature
export declare function filterMap<B>(E: Eq<B>): <A>(f: (a: A) => Option<B>) => (fa: ReadonlySet<A>) => ReadonlySet<B>
Added in v2.5.0
Insert a value into a set
Signature
export declare function insert<A>(E: Eq<A>): (a: A) => (set: ReadonlySet<A>) => ReadonlySet<A>
Added in v2.5.0
The set of elements which are in both the first and second set
Signature
export declare function intersection<A>(
E: Eq<A>
): {
(that: ReadonlySet<A>): (me: ReadonlySet<A>) => ReadonlySet<A>
(me: ReadonlySet<A>, that: ReadonlySet<A>): ReadonlySet<A>
}
Added in v2.5.0
Projects a Set through a function
Signature
export declare function map<B>(E: Eq<B>): <A>(f: (x: A) => B) => (set: ReadonlySet<A>) => ReadonlySet<B>
Added in v2.5.0
Delete a value from a set
Signature
export declare function remove<A>(E: Eq<A>): (a: A) => (set: ReadonlySet<A>) => ReadonlySet<A>
Added in v2.5.0
Form the union of two sets
Signature
export declare function union<A>(
E: Eq<A>
): {
(that: ReadonlySet<A>): (me: ReadonlySet<A>) => ReadonlySet<A>
(me: ReadonlySet<A>, that: ReadonlySet<A>): ReadonlySet<A>
}
Added in v2.5.0
Create a set from an array
Signature
export declare function fromArray<A>(E: Eq<A>): (as: ReadonlyArray<A>) => ReadonlySet<A>
Added in v2.5.0
Signature
export declare function fromSet<A>(s: Set<A>): ReadonlySet<A>
Added in v2.5.0
Create a set with one element
Signature
export declare function singleton<A>(a: A): ReadonlySet<A>
Added in v2.5.0
Signature
export declare function toReadonlyArray<A>(O: Ord<A>): (set: ReadonlySet<A>) => ReadonlyArray<A>
Added in v2.5.0
Signature
export declare function toSet<A>(s: ReadonlySet<A>): Set<A>
Added in v2.5.0
Signature
export declare function getEq<A>(E: Eq<A>): Eq<ReadonlySet<A>>
Added in v2.5.0
Signature
export declare function getIntersectionSemigroup<A>(E: Eq<A>): Semigroup<ReadonlySet<A>>
Added in v2.5.0
Signature
export declare function getShow<A>(S: Show<A>): Show<ReadonlySet<A>>
Added in v2.5.0
Signature
export declare function getUnionMonoid<A>(E: Eq<A>): Monoid<ReadonlySet<A>>
Added in v2.5.0
Test if a value is a member of a set
Signature
export declare function elem<A>(
E: Eq<A>
): {
(a: A): (set: ReadonlySet<A>) => boolean
(a: A, set: ReadonlySet<A>): boolean
}
Added in v2.5.0
Signature
export declare const empty: ReadonlySet<never>
Added in v2.5.0
Signature
export declare function every<A>(predicate: Predicate<A>): (set: ReadonlySet<A>) => boolean
Added in v2.5.0
Signature
export declare function foldMap<A, M>(O: Ord<A>, M: Monoid<M>): (f: (a: A) => M) => (fa: ReadonlySet<A>) => M
Added in v2.5.0
true
if and only if every element in the first set is an element of the second set
Signature
export declare function isSubset<A>(
E: Eq<A>
): {
(that: ReadonlySet<A>): (me: ReadonlySet<A>) => boolean
(me: ReadonlySet<A>, that: ReadonlySet<A>): boolean
}
Added in v2.5.0
Signature
export declare function partition<A, B extends A>(
refinement: Refinement<A, B>
): (set: ReadonlySet<A>) => Separated<ReadonlySet<A>, ReadonlySet<B>>
export declare function partition<A>(
predicate: Predicate<A>
): (set: ReadonlySet<A>) => Separated<ReadonlySet<A>, ReadonlySet<A>>
Added in v2.5.0
Signature
export declare function partitionMap<B, C>(
EB: Eq<B>,
EC: Eq<C>
): <A>(f: (a: A) => Either<B, C>) => (set: ReadonlySet<A>) => Separated<ReadonlySet<B>, ReadonlySet<C>>
Added in v2.5.0
Signature
export declare function reduce<A>(O: Ord<A>): <B>(b: B, f: (b: B, a: A) => B) => (fa: ReadonlySet<A>) => B
Added in v2.5.0
Signature
export declare function separate<E, A>(
EE: Eq<E>,
EA: Eq<A>
): (fa: ReadonlySet<Either<E, A>>) => Separated<ReadonlySet<E>, ReadonlySet<A>>
Added in v2.5.0
Signature
export declare function some<A>(predicate: Predicate<A>): (set: ReadonlySet<A>) => boolean
Added in v2.5.0