new Map(fieldnon-null, contentsopt)
Constructs a new Map. A Map is a container that is used to implement map fields on message objects. It closely follows the ES6 Map API; however, it is distinct because we do not want to depend on external polyfills or on ES6 itself.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
field |
ProtoBuf.Reflect.Field | Map field |
|
contents |
Object.<string, *> |
<optional> |
Initial contents |
- Source:
Members
(non-null) field :ProtoBuf.Reflect.Field
The field corresponding to this map.
Type:
- ProtoBuf.Reflect.Field
- Source:
(non-null) keyElem :ProtoBuf.Reflect.Element
Element instance corresponding to key type.
Type:
- Source:
(non-null) map :Object.<string, {key: *, value: *}>
Internal map: stores mapping of (string form of key) -> (key, value) pair.
We provide map semantics for arbitrary key types, but we build on top of an Object, which has only string keys. In order to avoid the need to convert a string key back to its native type in many situations, we store the native key value alongside the value. Thus, we only need a one-way mapping from a key type to its string form that guarantees uniqueness and equality (i.e., str(K1) === str(K2) if and only if K1 === K2).
Type:
- Object.<string, {key: *, value: *}>
- Source:
(non-null) valueElem :ProtoBuf.Reflect.Element
Element instance corresponding to value type.
Type:
- Source: