Skip to main content

interface TableBase.Factory<Tp,UR,UC>

undocumented

Implemented by: HashTableSortedColumnCreators, SortedTableHashColumnCreators, TableBase.Context<UR,UC,Tp>, HashTableHashColumnCreators, SortedTableSortedColumnCreators

Type parameters

NameConstraintsDefaultDescription
TpTableBase.Typesundocumented
URunknownundocumented
UCunknownundocumented

Methods

builder

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

Definition

builder<R extends UR, C extends UC, V>(): WithRow<Tp, R, C, V>['builder'];

Type parameters

NameConstraintsDescription
RUR
CUC
V
example
HashTableHashColumn.builder<number, string, boolean>()    // => HashTableHashColumn.Builder<number, string, boolean>

empty

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

Definition

empty<R extends UR, C extends UC, V>(): WithRow<Tp, R, C, V>['normal'];

Type parameters

NameConstraintsDescription
RUR
CUC
V
example
HashTableHashColumn.empty<number, string, boolean>()    // => HashTableHashColumn<number, string, boolean>
HashTableHashColumn.empty<string, boolean, number>() // => HashTableHashColumn<string, boolean, number>

from

Returns an immutable table of this type and context, containing the entries in the given sources StreamSource instances.

Definitions

from<R extends UR, C extends UC, V>(...sources: ArrayNonEmpty<StreamSource.NonEmpty<readonly [R, C, V]>>): WithRow<Tp, R, C, V>['nonEmpty'];

from<R extends UR, C extends UC, V>(...sources: ArrayNonEmpty<StreamSource<readonly [R, C, V]>>): WithRow<Tp, R, C, V>['normal'];

Type parameters

NameConstraintsDescription
RUR
CUC
V

Parameters

NameTypeDescription
sourcesArrayNonEmpty<StreamSource.NonEmpty<readonly [R, C, V]>>an array of StreamSource instances containing row-column-value entries
example
HashTableHashColumn.from([[1, 2, 3], [1, 4, 5]])    // => HashTableHashColumn.NonEmpty<number, number, number>

of

Returns an immutable multimap of this collection type and context, containing the given entries.

Definition

of<R extends UR, C extends UC, V>(...entries: ArrayNonEmpty<readonly [R, C, V]>): WithRow<Tp, R, C, V>['nonEmpty'];

Type parameters

NameConstraintsDescription
RUR
CUC
V

Parameters

NameTypeDescription
entriesArrayNonEmpty<readonly [R, C, V]>a non-empty array of row-column-value entries
example
HashTableHashColumn.of([1, 2, 3], [1, 4, 5])    // => HashTableHashColumn.NonEmpty<number, number, number>

reducer

Returns a Reducer that adds received tuples to a Table and returns the Table as a result. When a source is given, the reducer will first create a Table from the source, and then add tuples to it.

Definition

reducer<R extends UR, C extends UC, V>(source?: StreamSource<readonly [R, C, V]>): Reducer<readonly [R, C, V], WithRow<Tp, R, C, V>['normal']>;

Type parameters

NameConstraintsDescription
RUR
CUC
V

Parameters

NameTypeDescription
sourceStreamSource<readonly [R, C, V]>(optional) an initial source of tuples to add to
example
const someSource = Table.of([1, 'a', true], [2, 'b', false]);
const result = Stream.of([1, 'c', true], [3, 'a', false]).reduce(Table.reducer(someSource))
result.toArray() // => [[1, 'c'], [2, 'b'], [3, 'a']]
note

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