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

Method verify

projects/JavaScript/proto/fbe.js:2607–2632  ·  view source on GitHub ↗

* Check if the vector is valid * @this {!FieldModelVector} * @returns {!boolean} Field model valid state

()

Source from the content-addressed store, hash-verified

2605 * @returns {!boolean} Field model valid state
2606 */
2607 verify () {
2608 if ((this._buffer.offset + this.fbeOffset + this.fbeSize) > this._buffer.size) {
2609 return true
2610 }
2611
2612 let fbeVectorOffset = this.readUInt32(this.fbeOffset)
2613 if (fbeVectorOffset === 0) {
2614 return true
2615 }
2616
2617 if ((this._buffer.offset + fbeVectorOffset + 4) > this._buffer.size) {
2618 return false
2619 }
2620
2621 let fbeVectorSize = this.readUInt32(fbeVectorOffset)
2622
2623 this._model.fbeOffset = fbeVectorOffset + 4
2624 for (let i = 0; i < fbeVectorSize; i++) {
2625 if (!this._model.verify()) {
2626 return false
2627 }
2628 this._model.fbeShift(this._model.fbeSize)
2629 }
2630
2631 return true
2632 }
2633
2634 /**
2635 * Get the vector

Callers

nothing calls this directly

Calls 3

readUInt32Method · 0.45
verifyMethod · 0.45
fbeShiftMethod · 0.45

Tested by

no test coverage detected