interface ListFactory
undocumented
Implemented by: ListCreators
Methods
builder
Returns an empty List Builder based on this context.
builder
empty
Returns the (singleton) empty List for this context with given value type.
empty
flatten
Returns, if T is a valid StreamSource
, the result of concatenating all streamable elements of the given sources.
flatten
StreamSource
, the result of concatenating all streamable elements of the given sources.Definitions
flatten<T extends StreamSource.NonEmpty<unknown>>(source: StreamSource.NonEmpty<T>): T extends StreamSource.NonEmpty<infer S> ? List.NonEmpty<S> : never;
flatten<T extends StreamSource<unknown>>(source: StreamSource<T>): T extends StreamSource<infer S> ? List<S> : never;
Type parameters
Name | Constraints | Description |
---|---|---|
T | StreamSource.NonEmpty<unknown> | the element type |
Parameters
Name | Type | Description |
---|---|---|
source | StreamSource.NonEmpty<T> | a StreamSource containing StreamSource instances of values to concatenate |
const m = List.of([1, 2], [3, 4, 5])
List.flatten(m).toArray() // => [1, 2, 3, 4, 5]
from
Returns an immutable set of this collection type and context, containing the given values in source
.
from
source
.Definitions
from<T>(...sources:
ArrayNonEmpty
<StreamSource.NonEmpty<T>>): List.NonEmpty<T>;
from<T>(...sources:
ArrayNonEmpty
<StreamSource<T>>): List<T>;
Type parameters
Name | Description |
---|---|
T | the element type |
Parameters
Name | Type | Description |
---|---|---|
sources | ArrayNonEmpty <StreamSource.NonEmpty<T>> | a non-empty array of StreamSource instances containing values |
List.from([1, 2, 3], [4, 5]).toArray()
// => [1, 2, 3, 4, 5]
fromString
Returns a List of characters from the given strings in sources
.
fromString
sources
.Definitions
fromString<S extends string>(...sources:
ArrayNonEmpty
<
StringNonEmpty
<S>>): List.NonEmpty<string>;
fromString(...sources:
ArrayNonEmpty
<string>): List<string>;
Type parameters
Name | Constraints | Description |
---|---|---|
S | string | the source string type |
Parameters
Name | Type | Description |
---|---|---|
sources | ArrayNonEmpty < StringNonEmpty <S>> | a non-empty array containing strings |
List.fromString('abc').toArray() // => ['a', 'b', 'c']
of
Returns an immutable set of this type and context, containing the given values
.
of
values
.Definition
of<T>(...values:
ArrayNonEmpty
<T>): List.NonEmpty<T>;
Type parameters
Name | Description |
---|---|
T | the element type |
Parameters
Name | Type | Description |
---|---|---|
values | ArrayNonEmpty <T> | a non-empty array of values |
List.of(1, 2, 3).toArray() // => [1, 2, 3]
reducer
Returns a Reducer
that appends received items to a List and returns the List as a result. When a source
is given, the reducer will first create a List from the source, and then append elements to it.
reducer
Reducer
that appends received items to a List and returns the List as a result. When a source
is given, the reducer will first create a List from the source, and then append elements to it.Definition
reducer<T>(source?: StreamSource<T>): Reducer<T, List<T>>;
Type parameters
Name | Description |
---|---|
T | the element type |
Parameters
Name | Type | Description |
---|---|---|
source | StreamSource<T> | (optional) an initial source of elements to append to |
const someList = List.of(1, 2, 3);
const result = Stream.range({ start: 20, amount: 5 }).reduce(List.reducer(someList))
result.toArray() // => [1, 2, 3, 20, 21, 22, 23, 24]
uses a List builder under the hood. If the given source
is a List in the same context, it will directly call .toBuilder()
.
unzip
Returns an array of Lists, where each list contains the values of the corresponding index of tuple T.
unzip
Definitions
unzip<T extends readonly unknown[] & {
length: L;
}, L extends number>(source: StreamSource.NonEmpty<T>, length: L): {
[K in keyof T]: List.NonEmpty<T[K]>;
};
unzip<T extends readonly unknown[] & {
length: L;
}, L extends number>(source: StreamSource<T>, length: L): {
[K in keyof T]: List<T[K]>;
};
Type parameters
Name | Constraints | Description |
---|---|---|
T | readonly unknown[] & { length: L; } | the StreamSource tuple element type |
L | number | the tuple element length |
Parameters
Name | Type | Description |
---|---|---|
source | StreamSource.NonEmpty<T> | a StreamSource containing tuples of type T to unzip |
length | L | the length of the tuples in type T |
const m = List.of([1, 'a'], [2, 'b'])
List.unzip(m) // => [List.NonEmpty<number>, List.NonEmpty<string>]