MCPcopy Create free account
hub / github.com/chronoxor/FastBinaryEncoding / getItem

Method getItem

projects/JavaScript/proto/fbe.js:2771–2785  ·  view source on GitHub ↗

* Set index operator * @this {!FieldModelSet} * @param {!number} index Set index * @returns {!FieldModel} Base field model value

(index)

Source from the content-addressed store, hash-verified

2769 * @returns {!FieldModel} Base field model value
2770 */
2771 getItem (index) {
2772 console.assert(((this._buffer.offset + this.fbeOffset + this.fbeSize) <= this._buffer.size), 'Model is broken!')
2773
2774 let fbeSetOffset = this.readUInt32(this.fbeOffset)
2775 console.assert(((fbeSetOffset > 0) && ((this._buffer.offset + fbeSetOffset + 4) <= this._buffer.size)), 'Model is broken!')
2776
2777 let fbeSetSize = this.readUInt32(fbeSetOffset)
2778 if (index >= fbeSetSize) {
2779 throw new Error('Index is out of bounds!')
2780 }
2781
2782 this._model.fbeOffset = fbeSetOffset + 4
2783 this._model.fbeShift(index * this._model.fbeSize)
2784 return this._model
2785 }
2786
2787 /**
2788 * Resize the set and get its first model

Callers 2

getMethod · 0.95
test_create.jsFile · 0.45

Calls 2

readUInt32Method · 0.45
fbeShiftMethod · 0.45

Tested by

no test coverage detected