interface BiMap.Context<UK,UV,Tp>
The BiMap's Context instance that serves as a factory for all related immutable instances and builders.
Extends: BiMapFactory<UK,UV>
Implemented by: BiMapContext<UK,UV,Tp>
Type parameters
Name | Constraints | Default | Description |
---|---|---|---|
UK | the upper type limit for key types for which this context can create instances | ||
UV | the upper type limit for value types for which this context can create instances | ||
Tp | BiMap.Types | BiMap.Types | undocumented |
Properties
keyValueContext
undocumented
keyValueContext
Definition
readonly keyValueContext:
RMap.Context
<UK>;
typeTag
A string tag defining the specific collection type
typeTag
valueKeyContext
undocumented
valueKeyContext
Definition
readonly valueKeyContext:
RMap.Context
<UV>;
Methods
builder
Returns an empty BiMap
builder instance.
builder
BiMap
builder instance.Definition
builder<K extends UK, V extends UV>():
BiMap.Builder
<K, V>;
Type parameters
Name | Constraints | Description |
---|---|---|
K | UK | |
V | UV |
BiMap.builder<number, string>() // => BiMap.Builder<number, string>
Overrides
empty
Returns the (singleton) empty instance of this type and context with given key and value types.
empty
from
Returns an immutable BiMap, containing the entries in the given sources
StreamSource
instances.
from
sources
StreamSource
instances.Definitions
from<K extends UK, V extends UV>(...sources:
ArrayNonEmpty
<
StreamSource
<readonly [K, V]>>):
BiMap.NonEmpty
<K, V>;
from<K extends UK, V extends UV>(...sources:
ArrayNonEmpty
<
StreamSource.NonEmpty
<readonly [K, V]>>):
BiMap
<K, V>;
Type parameters
Name | Constraints | Description |
---|---|---|
K | UK | |
V | UV |
Parameters
Name | Type | Description |
---|---|---|
sources | ArrayNonEmpty < StreamSource <readonly [K, V]>> | an array of StreamSource instances contaning key-value entries |
BiMap.from([[1, 'a'], [2, 'b']]) // => BiMap.NonEmpty<number, string>
Overrides
of
Returns an immutable BiMap
, containing the given entries
.
of
BiMap
, containing the given entries
.Definition
of<K extends UK, V extends UV>(...entries:
ArrayNonEmpty
<readonly [K, V]>):
BiMap.NonEmpty
<K, V>;
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 |
BiMap.of([1, 'a'], [2, 'b']) // => BiMap.NonEmpty<number, string>
Overrides
reducer
Returns a Reducer
that adds received tuples to a BiMap and returns the BiMap as a result. When a source
is given, the reducer will first create a BiMap from the source, and then add tuples to it.
reducer
Reducer
that adds received tuples to a BiMap and returns the BiMap as a result. When a source
is given, the reducer will first create a BiMap 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],
BiMap
<K, V>>;
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 = BiMap.of([1, 'a'], [2, 'b']);
const result = Stream.of([1, 'c'], [3, 'a']).reduce(BiMap.reducer(someSource))
result.toArray() // => [[1, 'c'], [2, 'b'], [3, 'a']]
uses a builder under the hood. If the given source
is a BiMap in the same context, it will directly call .toBuilder()
.