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

Method get

projects/JavaScript/proto/fbe.js:4772–4794  ·  view source on GitHub ↗

* Get the vector * @this {!FinalModelVector} * @param {Array=} values Vector values, defaults is [] * @returns {!object} Result vector values and their size

(values = [])

Source from the content-addressed store, hash-verified

4770 * @returns {!object} Result vector values and their size
4771 */
4772 get (values = []) {
4773 values.length = 0
4774
4775 console.assert(((this._buffer.offset + this.fbeOffset + 4) <= this._buffer.size), 'Model is broken!')
4776 if ((this._buffer.offset + this.fbeOffset + 4) > this._buffer.size) {
4777 return { value: values, size: 0 }
4778 }
4779
4780 let fbeVectorSize = this.readUInt32(this.fbeOffset)
4781 if (fbeVectorSize === 0) {
4782 return { value: values, size: 4 }
4783 }
4784
4785 let size = 4
4786 this._model.fbeOffset = this.fbeOffset + 4
4787 for (let i = 0; i < fbeVectorSize; i++) {
4788 let value = this._model.get()
4789 values.push(value.value)
4790 this._model.fbeShift(value.size)
4791 size += value.size
4792 }
4793 return { value: values, size: size }
4794 }
4795
4796 /**
4797 * Set the vector

Callers

nothing calls this directly

Calls 3

readUInt32Method · 0.45
getMethod · 0.45
fbeShiftMethod · 0.45

Tested by

no test coverage detected