Skip to main content

class MultiMapContext<UK,UV,N,Tp>

undocumented

Implements: MultiMapBase.Context<UK,UV,Tp>

Type parameters

NameConstraintsDefaultDescription
UKundocumented
UVundocumented
Nstringundocumented
TpContextImplTypesContextImplTypesundocumented

Properties

_empty

undocumented

Definition

readonly _empty: Readonly<WithKeyValue<Tp, UK, UV>["normal"]>;

builder

undocumented

Definition

readonly builder: <K extends UK, V extends UV>() => WithKeyValue<Tp, K, V>["builder"];

empty

undocumented

Definition

readonly empty: <K extends UK, V extends UV>() => WithKeyValue<Tp, K, V>["normal"];

from

undocumented

Definition

readonly from: any;

keyMapContext

undocumented

Definition

readonly keyMapContext: (Tp & KeyValue<UK, UV>)['keyMapContext'];

Overrides

Context.keyMapContext

keyMapValuesContext

undocumented

Definition

readonly keyMapValuesContext: (Tp & KeyValue<UK, UV>)['keyMapValuesContext'];

Overrides

Context.keyMapValuesContext

of

undocumented

Definition

readonly of: <K extends UK, V extends UV>(entries_0: readonly [K, V], ...entries_1: (readonly [K, V])[]) => [K, V] extends [UK, UV] ? WithKeyValue<Tp, K, V>["nonEmpty"] : never;

reducer

undocumented

Definition

readonly reducer: <K extends UK, V extends UV>(source?: StreamSource<readonly [K, V]>) => Reducer<readonly [K, V], WithKeyValue<Tp, K, V>["normal"]>;

typeTag

undocumented

Definition

readonly typeTag: N;

Overrides

Context.typeTag

Methods

builder

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

Definition

builder<K extends UK, V extends UV>(): WithKeyValue<Tp, K, V>['builder'];

Type parameters

NameConstraintsDescription
KUK
VUV
example
HashMultiMapHashValue.builder<number, string>()    // => HashMultiMapHashValue.Builder<number, string>

Overrides

Factory.builder

createBuilder

undocumented

Definition

createBuilder<K, V>(source?: MultiMap.NonEmpty<K, V>): WithKeyValue<Tp, K, V>['builder'];

Type parameters

NameDescription
K
V

Parameters

NameTypeDescription
sourceMultiMap.NonEmpty<K, V>

createNonEmpty

undocumented

Definition

createNonEmpty<K extends UK, V extends UV>(keyMap: WithKeyValue<Tp, K, V>['keyMapNonEmpty'], size: number): WithKeyValue<Tp, K, V>['nonEmpty'];

Type parameters

NameConstraintsDescription
KUK
VUV

Parameters

NameTypeDescription
keyMapWithKeyValue<Tp, K, V>['keyMapNonEmpty']
sizenumber

empty

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

Definition

empty<K extends UK, V extends UV>(): WithKeyValue<Tp, K, V>['normal'];

Type parameters

NameConstraintsDescription
KUK
VUV
example
HashMultiMapHashValue.empty<number, string>()    // => HashMultiMapHashValue<number, string>
HashMultiMapHashValue.empty<string, boolean>() // => HashMultiMapHashValue<string, boolean>

Overrides

Factory.empty

from

Returns an immutable multimap of this type and context, containing the entries in the given source StreamSource.

Definitions

from<K extends UK, V extends UV>(...sources: ArrayNonEmpty<StreamSource.NonEmpty<readonly [K, V]>>): WithKeyValue<Tp, K, V>['nonEmpty'];

from<K extends UK, V extends UV>(...sources: ArrayNonEmpty<StreamSource<readonly [K, V]>>): WithKeyValue<Tp, K, V>['normal'];

Type parameters

NameConstraintsDescription
KUK
VUV

Parameters

NameTypeDescription
sourcesArrayNonEmpty<StreamSource.NonEmpty<readonly [K, V]>>an array of StreamSource instances containing key-value entries
example
HashMultiMapHashValue.from([[1, 'a'], [2, 'b']])    // => HashMultiMapHashValue.NonEmpty<number, string>

Overrides

Factory.from

isNonEmptyInstance

undocumented

Definition

isNonEmptyInstance<K, V>(source: any): source is WithKeyValue<Tp, K, V>['nonEmpty'];

Type parameters

NameDescription
K
V

Parameters

NameTypeDescription
sourceany

of

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

Definition

of<K extends UK, V extends UV>(...entries: ArrayNonEmpty<readonly [K, V]>): WithKeyValue<Tp, K, V>['nonEmpty'];

Type parameters

NameConstraintsDescription
KUK
VUV

Parameters

NameTypeDescription
entriesArrayNonEmpty<readonly [K, V]>a non-empty array of key-value entries
example
HashMultiMapHashValue.of([1, 'a'], [2, 'b'], [1, 'c'])    // => HashMap.NonEmpty<number, string>

Overrides

Factory.of

reducer

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

Definition

reducer<K extends UK, V extends UV>(source?: StreamSource<readonly [K, V]>): Reducer<readonly [K, V], WithKeyValue<Tp, K, V>['normal']>;

Type parameters

NameConstraintsDescription
KUK
VUV

Parameters

NameTypeDescription
sourceStreamSource<readonly [K, V]>(optional) an initial source of tuples to add to
example
const someSource: [number, string][] = [1, 'a'], [2, 'b'];
const result = Stream.of([1, 'c'], [3, 'a']).reduce(SortedMultiMap.reducer(someSource))
result.toArray() // => [[1, 'a'], [1, 'c'], [2, 'b'], [3, 'a']]
note

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

Overrides

Factory.reducer