Skip to main content

interface RSetBase.Factory<Tp,UT>

undocumented

Implemented by: OrderedSortedSetCreators, RSetBase.Context<UT,Tp>, OrderedHashSetCreators, HashSetCreators, SortedSetCreators

Type parameters

NameConstraintsDefaultDescription
TpRSetBase.Typesundocumented
UTunknownundocumented

Methods

builder

Returns an empty builder instance for this type of collection and context.

Definition

builder<T extends UT>(): WithElem<Tp, T>['builder'];

Type parameters

NameConstraintsDescription
TUT
example
HashSet.builder<number>()     // => HashSet.Builder<number>

empty

Returns the (singleton) empty instance of this type and context with given value type.

Definition

empty<T extends UT>(): WithElem<Tp, T>['normal'];

Type parameters

NameConstraintsDescription
TUT
example
HashSet.empty<number>()    // => HashSet<number>
HashSet.empty<string>() // => HashSet<string>

from

Returns an immutable set of this collection type and context, containing the given values in source.

Definitions

from<T extends UT>(...sources: ArrayNonEmpty<StreamSource.NonEmpty<T>>): WithElem<Tp, T>['nonEmpty'];

from<T extends UT>(...sources: ArrayNonEmpty<StreamSource<T>>): WithElem<Tp, T>['normal'];

Type parameters

NameConstraintsDescription
TUT

Parameters

NameTypeDescription
sourcesArrayNonEmpty<StreamSource.NonEmpty<T>>an array of StreamSource instances containing values
example
HashSet.from([1, 2, 3], [4, 5])   // => HashSet.NonEmpty<number>

of

Returns an immutable set of this type and context, containing the given values.

Definition

of<T extends UT>(...values: ArrayNonEmpty<T>): WithElem<Tp, T>['nonEmpty'];

Type parameters

NameConstraintsDescription
TUT

Parameters

NameTypeDescription
valuesArrayNonEmpty<T>a non-empty array of values
example
HashSet.of(1, 2, 3).toArray()   // => [1, 2, 3]

reducer

Returns a Reducer that appends received items to an RSet and returns the RSet as a result. When a source is given, the reducer will first create an RSet from the source, and then append elements to it.

Definition

reducer<T extends UT>(source?: StreamSource<T>): Reducer<T, WithElem<Tp, T>['normal']>;

Type parameters

NameConstraintsDescription
TUT

Parameters

NameTypeDescription
sourceStreamSource<T>(optional) an initial source of elements to append to
example
const someList = SortedSet.of(1, 2, 3);
const result = Stream.range({ start: 20, amount: 5 }).reduce(SortedSet.reducer(someList))
result.toArray() // => [1, 2, 3, 20, 21, 22, 23, 24]
note

uses an RSet builder under the hood. If the given source is a RSet in the same context, it will directly call .toBuilder().