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

Method serialize

projects/JavaScript/proto/proto.js:1813–1831  ·  view source on GitHub ↗

* Serialize the struct value * @this {!OrderFinalModel} * @param {!Order} value Order value * @return {!number} Struct size

(value)

Source from the content-addressed store, hash-verified

1811 * @return {!number} Struct size
1812 */
1813 serialize (value) {
1814 let fbeInitialSize = this.buffer.size
1815
1816 let fbeStructType = this.fbeType
1817 let fbeStructSize = 8 + this._model.fbeAllocationSize(value)
1818 let fbeStructOffset = this.buffer.allocate(fbeStructSize) - this.buffer.offset
1819 console.assert(((this.buffer.offset + fbeStructOffset + fbeStructSize) <= this.buffer.size), 'Model is broken!')
1820 if ((this.buffer.offset + fbeStructOffset + fbeStructSize) > this.buffer.size) {
1821 return 0
1822 }
1823
1824 fbeStructSize = 8 + this._model.set(value)
1825 this.buffer.resize(fbeInitialSize + fbeStructSize)
1826
1827 this.writeUInt32(this._model.fbeOffset - 8, fbeStructSize)
1828 this.writeUInt32(this._model.fbeOffset - 4, fbeStructType)
1829
1830 return fbeStructSize
1831 }
1832
1833 /**
1834 * Deserialize the struct value

Callers

nothing calls this directly

Calls 5

fbeAllocationSizeMethod · 0.45
allocateMethod · 0.45
setMethod · 0.45
resizeMethod · 0.45
writeUInt32Method · 0.45

Tested by

no test coverage detected