interface ListFactory
undocumented
Implemented by: ListCreators
Methods
builder
Returns an empty List Builder based on this context.
builderempty
Returns the (singleton) empty List for this context with given value type.
emptyflatten
Returns, if T is a valid StreamSource, the result of concatenating all streamable elements of the given sources.
flattenStreamSource, 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.
fromsource.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.
fromStringsources.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.
ofvalues.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.
reducerReducer 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.
unzipDefinitions
unzip<T extends readonly unknown[] & {
length: L;
}, L extends number>(source: StreamSource.NonEmpty<T>, options: {
length: L;
}): {
[K in keyof T]: List.NonEmpty<T[K]>;
};
unzip<T extends readonly unknown[] & {
length: L;
}, L extends number>(source: StreamSource<T>, options: {
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 |
options | {length: L;} | an object containing the following properties: - length: 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>]