* Get the optional value * @this {!FinalModelOptional} * @returns {!object} Result optional value and its size
()
| 4561 | * @returns {!object} Result optional value and its size |
| 4562 | */ |
| 4563 | get () { |
| 4564 | console.assert(((this._buffer.offset + this.fbeOffset + 1) <= this._buffer.size), 'Model is broken!') |
| 4565 | if ((this._buffer.offset + this.fbeOffset + 1) > this._buffer.size) { |
| 4566 | return { value: undefined, size: 0 } |
| 4567 | } |
| 4568 | |
| 4569 | if (!this.hasValue) { |
| 4570 | return { value: undefined, size: 1 } |
| 4571 | } |
| 4572 | |
| 4573 | this._buffer.shift(this.fbeOffset + 1) |
| 4574 | let optional = this.value.get() |
| 4575 | this._buffer.unshift(this.fbeOffset + 1) |
| 4576 | return { value: optional.value, size: (1 + optional.size) } |
| 4577 | } |
| 4578 | |
| 4579 | /** |
| 4580 | * Set the optional value |