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: