class BiMultiMapContext<UK,UV,N,Tp>
undocumented
Implements: BiMultiMapBase.Context<UK,UV,Tp>
Type parameters
| Name | Constraints | Default | Description |
|---|---|---|---|
| UK | undocumented | ||
| UV | undocumented | ||
| N | string | undocumented | |
| Tp | ContextTypesImpl | ContextTypesImpl | undocumented |
Properties
_empty
undocumented
_emptyDefinition
readonly _empty: WithKeyValue<Tp, UK, UV>["normal"];
_fixTypes
undocumented
_fixTypes_types
undocumented
_typesbuilder
undocumented
builderDefinition
readonly builder: <K extends UK, V extends UV>() => WithKeyValue<Tp, K, V>["builder"];
empty
undocumented
emptyDefinition
readonly empty: <K extends UK, V extends UV>() => WithKeyValue<Tp, K, V>["normal"];
from
undocumented
fromDefinition
readonly from: <K extends UK, V extends UV>(sources_0: StreamSource<readonly [K, V]>, ...sources: StreamSource<readonly [K, V]>[]) => [K, V] extends [UK, UV] ? WithKeyValue<Tp, K, V>["normal"] | any : never;
keyValueMultiMapContext
undocumented
keyValueMultiMapContextDefinition
readonly keyValueMultiMapContext: WithKeyValue<Tp, UK, UV>['keyValueMultiMapContext'];
Overrides
reducer
undocumented
reducerDefinition
readonly reducer: <K extends UK, V extends UV>(source?: StreamSource<readonly [K, V]>) => Reducer<readonly [K, V], WithKeyValue<Tp, K, V>["normal"]>;
typeTag
undocumented
typeTagvalueKeyMultiMapContext
undocumented
valueKeyMultiMapContextDefinition
readonly valueKeyMultiMapContext: WithKeyValue<Tp, UK, UV>['valueKeyMultiMapContext'];
Overrides
Methods
builder
Returns an empty BiMultiMap builder instance.
builderBiMultiMap builder instance.Definition
builder<K extends UK, V extends UV>(): WithKeyValue<Tp, K, V>['builder'];
Type parameters
| Name | Constraints | Description |
|---|---|---|
| K | UK | |
| V | UV |
HashBiMultiMap.builder<number, string>() // => HashBiMultiMap.Builder<number, string>
Overrides
createBuilder
undocumented
createBuilderDefinition
createBuilder<K extends UK, V extends UV>(source?: WithKeyValue<Tp, K, V>['nonEmpty']): WithKeyValue<Tp, K, V>['builder'];
Type parameters
| Name | Constraints | Description |
|---|---|---|
| K | UK | |
| V | UV |
Parameters
| Name | Type | Description |
|---|---|---|
source | WithKeyValue<Tp, K, V>['nonEmpty'] |
createNonEmpty
undocumented
createNonEmptyDefinition
createNonEmpty<K, V>(keyValueMultiMap: WithKeyValue<Tp, K, V>['keyValueMultiMapNonEmpty'], valueKeyMultiMap: WithKeyValue<Tp, K, V>['valueKeyMultiMapNonEmpty']): WithKeyValue<Tp, K, V>['nonEmpty'];
Type parameters
| Name | Description |
|---|---|
| K | |
| V |
Parameters
| Name | Type | Description |
|---|---|---|
keyValueMultiMap | WithKeyValue<Tp, K, V>['keyValueMultiMapNonEmpty'] | |
valueKeyMultiMap | WithKeyValue<Tp, K, V>['valueKeyMultiMapNonEmpty'] |
empty
Returns the (singleton) empty instance of this type and context with given key and value types.
emptyDefinition
empty<K extends UK, V extends UV>(): WithKeyValue<Tp, K, V>['normal'];
Type parameters
| Name | Constraints | Description |
|---|---|---|
| K | UK | |
| V | UV |
HashBiMultiMap.empty<number, string>() // => HashBiMultiMap<number, string>
HashBiMultiMap.empty<string, boolean>() // => HashBiMultiMap<string, boolean>
Overrides
from
Returns an immutable BiMultiMap, containing the entries in the given sources StreamSource instances.
fromsources StreamSource instances.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
| Name | Constraints | Description |
|---|---|---|
| K | UK | |
| V | UV |
Parameters
| Name | Type | Description |
|---|---|---|
sources | ArrayNonEmpty<StreamSource.NonEmpty<readonly [K, V]>> | an array of StreamSource instances contaning key-value entries |
HashBiMultiMap.from([[1, 'a'], [2, 'b']]) // => HashBiMultiMap.NonEmpty<number, string>
Overrides
of
Returns an immutable BiMultiMap, containing the given entries.
ofentries.Definition
of<K extends UK, V extends UV>(...entries: ArrayNonEmpty<readonly [K, V]>): WithKeyValue<Tp, K, V>['nonEmpty'];
Type parameters
| Name | Constraints | Description |
|---|---|---|
| K | UK | |
| V | UV |
Parameters
| Name | Type | Description |
|---|---|---|
entries | ArrayNonEmpty<readonly [K, V]> | a non-empty array of key-value entries |
HashBiMultiMap.of([1, 'a'], [2, 'b']) // => HashBiMultiMap.NonEmpty<number, string>
Overrides
reducer
Returns a Reducer that adds received tuples to a BiMultiMap and returns the BiMultiMap as a result. When a source is given, the reducer will first create a BiMultiMap from the source, and then add tuples to it.
reducerReducer that adds received tuples to a BiMultiMap and returns the BiMultiMap as a result. When a source is given, the reducer will first create a BiMultiMap 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
| Name | Constraints | Description |
|---|---|---|
| K | UK | |
| V | UV |
Parameters
| Name | Type | Description |
|---|---|---|
source | StreamSource<readonly [K, V]> | (optional) an initial source of tuples to add to |
const someSource = BiMultiMap.of([1, 'a'], [2, 'b']);
const result = Stream.of([1, 'c'], [3, 'a']).reduce(BiMultiMap.reducer(someSource))
result.toArray() // => [[1, 'a'], [1, 'c'], [2, 'b'], [3, 'a']]
uses a builder under the hood. If the given source is a BiMultiMap in the same context, it will directly call .toBuilder().