interface List.Context
A context instance for List
that acts as a factory for every instance of this type of collection.
Extends: ListFactory
Implemented by: ListContext
Properties
_types
undocumented
_types
Definition
readonly _types:
List.Types
;
Methods
builder
Returns an empty List Builder based on this context.
builder
Definition
builder<T>():
List.Builder
<T>;
Type parameters
Name | Description |
---|---|
T | the List element type |
List.builder<number>() // => List.Builder<number>
Overrides
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]
Overrides
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]
Overrides
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']
Overrides
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]
Overrides
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()
.
Overrides
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>, 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>]