* Get the map * @this {!FinalModelMap} * @param {Map=} values Map values, defaults is new Map() * @returns {!object} Result map values and their size
(values = new Map())
| 5006 | * @returns {!object} Result map values and their size |
| 5007 | */ |
| 5008 | get (values = new Map()) { |
| 5009 | values.clear() |
| 5010 | |
| 5011 | console.assert(((this._buffer.offset + this.fbeOffset + 4) <= this._buffer.size), 'Model is broken!') |
| 5012 | if ((this._buffer.offset + this.fbeOffset + 4) > this._buffer.size) { |
| 5013 | return { value: values, size: 0 } |
| 5014 | } |
| 5015 | |
| 5016 | let fbeMapSize = this.readUInt32(this.fbeOffset) |
| 5017 | if (fbeMapSize === 0) { |
| 5018 | return { value: values, size: 4 } |
| 5019 | } |
| 5020 | |
| 5021 | let size = 4 |
| 5022 | this._modelKey.fbeOffset = this.fbeOffset + 4 |
| 5023 | this._modelValue.fbeOffset = this.fbeOffset + 4 |
| 5024 | for (let i = 0; i < fbeMapSize; i++) { |
| 5025 | let key = this._modelKey.get() |
| 5026 | this._modelKey.fbeShift(key.size) |
| 5027 | this._modelValue.fbeShift(key.size) |
| 5028 | size += key.size |
| 5029 | let value = this._modelValue.get() |
| 5030 | this._modelKey.fbeShift(value.size) |
| 5031 | this._modelValue.fbeShift(value.size) |
| 5032 | size += value.size |
| 5033 | values.set(key.value, value.value) |
| 5034 | } |
| 5035 | return { value: values, size: size } |
| 5036 | } |
| 5037 | |
| 5038 | /** |
| 5039 | * Set the map |
nothing calls this directly
no test coverage detected