* Vector index operator * @this {!FieldModelVector} * @param {!number} index Vector index * @returns {!FieldModel} Base field model value
(index)
| 2565 | * @returns {!FieldModel} Base field model value |
| 2566 | */ |
| 2567 | getItem (index) { |
| 2568 | console.assert(((this._buffer.offset + this.fbeOffset + this.fbeSize) <= this._buffer.size), 'Model is broken!') |
| 2569 | |
| 2570 | let fbeVectorOffset = this.readUInt32(this.fbeOffset) |
| 2571 | console.assert(((fbeVectorOffset > 0) && ((this._buffer.offset + fbeVectorOffset + 4) <= this._buffer.size)), 'Model is broken!') |
| 2572 | |
| 2573 | let fbeVectorSize = this.readUInt32(fbeVectorOffset) |
| 2574 | if (index >= fbeVectorSize) { |
| 2575 | throw new Error('Index is out of bounds!') |
| 2576 | } |
| 2577 | |
| 2578 | this._model.fbeOffset = fbeVectorOffset + 4 |
| 2579 | this._model.fbeShift(index * this._model.fbeSize) |
| 2580 | return this._model |
| 2581 | } |
| 2582 | |
| 2583 | /** |
| 2584 | * Resize the vector and get its first model |
no test coverage detected