interface RSetBase.Factory<Tp,UT>
undocumented
Implemented by: OrderedSortedSetCreators, RSetBase.Context<UT,Tp>, OrderedHashSetCreators, HashSetCreators, SortedSetCreators
Type parameters
| Name | Constraints | Default | Description |
|---|---|---|---|
| Tp | RSetBase.Types | undocumented | |
| UT | unknown | undocumented |
Methods
builder
Returns an empty builder instance for this type of collection and context.
builderempty
Returns the (singleton) empty instance of this type and context with given value type.
emptyfrom
Returns an immutable set of this collection type and context, containing the given values in source.
fromsource.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
| Name | Constraints | Description |
|---|---|---|
| T | UT |
Parameters
| Name | Type | Description |
|---|---|---|
sources | ArrayNonEmpty<StreamSource.NonEmpty<T>> | an array of StreamSource instances containing values |
HashSet.from([1, 2, 3], [4, 5]) // => HashSet.NonEmpty<number>
of
Returns an immutable set of this type and context, containing the given values.
ofvalues.Definition
of<T extends UT>(...values: ArrayNonEmpty<T>): WithElem<Tp, T>['nonEmpty'];
Type parameters
| Name | Constraints | Description |
|---|---|---|
| T | UT |
Parameters
| Name | Type | Description |
|---|---|---|
values | ArrayNonEmpty<T> | a non-empty array of values |
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.
reducerReducer 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
| Name | Constraints | Description |
|---|---|---|
| T | UT |
Parameters
| Name | Type | Description |
|---|---|---|
source | StreamSource<T> | (optional) an initial source of elements to append to |
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]
uses an RSet builder under the hood. If the given source is a RSet in the same context, it will directly call .toBuilder().