UNPKG

protobufjs-no-cli

Version:

Protocol Buffers for JavaScript. Finally.

3,697 lines (1,329 loc) 73.3 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JSDoc: Class: Message</title> <script src="scripts/prettify/prettify.js"> </script> <script src="scripts/prettify/lang-css.js"> </script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> </head> <body> <div id="main"> <h1 class="page-title">Class: Message</h1> <section> <header> <h2> <span class="ancestors"><a href="ProtoBuf.html">ProtoBuf</a><a href="ProtoBuf.Builder.html">.Builder</a>.</span> Message </h2> <div class="class-description"><p>Barebone of all runtime messages.</p></div> </header> <article> <div class="container-overview"> <dt> <h4 class="name" id="Message"><span class="type-signature"></span>new Message<span class="signature">(values, &hellip;var_args)</span><span class="type-signature"></span></h4> </dt> <dd> <div class="description"> <p>Constructs a new runtime Message.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>values</code></td> <td class="type"> <span class="param-type">!Object.&lt;string, *></span> | <span class="param-type">string</span> </td> <td class="attributes"> </td> <td class="description last"><p>Preset values</p></td> </tr> <tr> <td class="name"><code>var_args</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> &lt;repeatable><br> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2375">line 2375</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If the message cannot be created </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> </dd> </div> <h3 class="subsection-title">Members</h3> <dl> <dt> <h4 class="name" id="$options"><span class="type-signature">(static) </span>$options<span class="type-signature"> :Object.&lt;string, *></span></h4> </dt> <dd> <div class="description"> <p>Message options.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">Object.&lt;string, *></span> </li> </ul> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3050">line 3050</a> </li></ul></dd> </dl> </dd> <dt> <h4 class="name" id="$type"><span class="type-signature">(static, non-null) </span>$type<span class="type-signature"> :<a href="ProtoBuf.Reflect.Message.html">ProtoBuf.Reflect.Message</a></span></h4> </dt> <dd> <div class="description"> <p>Reflection type.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type"><a href="ProtoBuf.Reflect.Message.html">ProtoBuf.Reflect.Message</a></span> </li> </ul> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3066">line 3066</a> </li></ul></dd> </dl> </dd> <dt> <h4 class="name" id="$options"><span class="type-signature"></span>$options<span class="type-signature"> :Object.&lt;string, *></span></h4> </dt> <dd> <div class="description"> <p>Message options.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type">Object.&lt;string, *></span> </li> </ul> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3058">line 3058</a> </li></ul></dd> </dl> </dd> <dt> <h4 class="name" id="$type"><span class="type-signature">(non-null) </span>$type<span class="type-signature"> :<a href="ProtoBuf.Reflect.Message.html">ProtoBuf.Reflect.Message</a></span></h4> </dt> <dd> <div class="description"> <p>Reflection type.</p> </div> <h5>Type:</h5> <ul> <li> <span class="param-type"><a href="ProtoBuf.Reflect.Message.html">ProtoBuf.Reflect.Message</a></span> </li> </ul> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3074">line 3074</a> </li></ul></dd> </dl> </dd> </dl> <h3 class="subsection-title">Methods</h3> <dl> <dt> <h4 class="name" id="decode"><span class="type-signature">(static) </span>decode<span class="signature">(buffer, length<span class="signature-attributes">opt</span>, enc<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; (non-null) {<a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a>}</span></h4> </dt> <dd> <div class="description"> <p>Decodes a message from the specified buffer or string.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>buffer</code></td> <td class="type"> <span class="param-type">ByteBuffer</span> | <span class="param-type">ArrayBuffer</span> | <span class="param-type">Buffer</span> | <span class="param-type">string</span> </td> <td class="attributes"> </td> <td class="description last"><p>Buffer to decode from</p></td> </tr> <tr> <td class="name"><code>length</code></td> <td class="type"> <span class="param-type">number</span> | <span class="param-type">string</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Message length. Defaults to decode all the remainig data.</p></td> </tr> <tr> <td class="name"><code>enc</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Encoding if buffer is a string: hex, utf8 (not recommended), defaults to base64</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2926">line 2926</a> </li></ul></dd> <dt class="tag-see">See:</dt> <dd class="tag-see"> <ul> <li><a href="ProtoBuf.Builder.Message.html#decode64">ProtoBuf.Builder.Message.decode64</a></li> <li><a href="ProtoBuf.Builder.Message.html#decodeHex">ProtoBuf.Builder.Message.decodeHex</a></li> </ul> </dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If the message cannot be decoded or if required fields are missing. The later still returns the decoded message with missing fields in the `decoded` property on the error. </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Decoded message</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type"><a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a></span> </dd> </dl> </dd> <dt> <h4 class="name" id="decode64"><span class="type-signature">(static) </span>decode64<span class="signature">(str)</span><span class="type-signature"> &rarr; (non-null) {<a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a>}</span></h4> </dt> <dd> <div class="description"> <p>Decodes the message from the specified base64 encoded string.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>str</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>String to decode from</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2993">line 2993</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If the message cannot be decoded or if required fields are missing. The later still returns the decoded message with missing fields in the `decoded` property on the error. </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Decoded message</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type"><a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a></span> </dd> </dl> </dd> <dt> <h4 class="name" id="decodeDelimited"><span class="type-signature">(static) </span>decodeDelimited<span class="signature">(buffer, enc<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a>}</span></h4> </dt> <dd> <div class="description"> <p>Decodes a varint32 length-delimited message from the specified buffer or string.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>buffer</code></td> <td class="type"> <span class="param-type">ByteBuffer</span> | <span class="param-type">ArrayBuffer</span> | <span class="param-type">Buffer</span> | <span class="param-type">string</span> </td> <td class="attributes"> </td> <td class="description last"><p>Buffer to decode from</p></td> </tr> <tr> <td class="name"><code>enc</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Encoding if buffer is a string: hex, utf8 (not recommended), defaults to base64</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2959">line 2959</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If the message cannot be decoded or if required fields are missing. The later still returns the decoded message with missing fields in the `decoded` property on the error. </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Decoded message or <code>null</code> if not enough bytes are available yet</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type"><a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a></span> </dd> </dl> </dd> <dt> <h4 class="name" id="decodeHex"><span class="type-signature">(static) </span>decodeHex<span class="signature">(str)</span><span class="type-signature"> &rarr; (non-null) {<a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a>}</span></h4> </dt> <dd> <div class="description"> <p>Decodes the message from the specified hex encoded string.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>str</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>String to decode from</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3007">line 3007</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If the message cannot be decoded or if required fields are missing. The later still returns the decoded message with missing fields in the `decoded` property on the error. </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Decoded message</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type"><a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a></span> </dd> </dl> </dd> <dt> <h4 class="name" id="decodeJSON"><span class="type-signature">(static) </span>decodeJSON<span class="signature">(str)</span><span class="type-signature"> &rarr; (non-null) {<a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a>}</span></h4> </dt> <dd> <div class="description"> <p>Decodes the message from a JSON string.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>str</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>String to decode from</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line3021">line 3021</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If the message cannot be decoded or if required fields are missing. </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Decoded message</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type"><a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a></span> </dd> </dl> </dd> <dt> <h4 class="name" id="$add"><span class="type-signature"></span>$add<span class="signature">(key, value, noAssert<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; (non-null) {<a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a>}</span></h4> </dt> <dd> <div class="description"> <p>Adds a value to a repeated field. This is an alias for <a href="ProtoBuf.Builder.Message.html#add">ProtoBuf.Builder.Message#add</a>.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>key</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> </td> <td class="description last"><p>Field name</p></td> </tr> <tr> <td class="name"><code>value</code></td> <td class="type"> <span class="param-type">*</span> </td> <td class="attributes"> </td> <td class="description last"><p>Value to add</p></td> </tr> <tr> <td class="name"><code>noAssert</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Whether to assert the value or not (asserts by default)</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2453">line 2453</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If the value cannot be added </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>this</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type"><a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a></span> </dd> </dl> </dd> <dt> <h4 class="name" id="$encode"><span class="type-signature"></span>$encode<span class="signature">(buffer<span class="signature-attributes">opt</span>, noVerify<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; (non-null) {ByteBuffer}</span></h4> </dt> <dd> <div class="description"> <p>Encodes the message.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>buffer</code></td> <td class="type"> <span class="param-type">ByteBuffer</span> | <span class="param-type">boolean</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>ByteBuffer to encode to. Will create a new one and flip it if omitted.</p></td> </tr> <tr> <td class="name"><code>noVerify</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Whether to not verify field values, defaults to <code>false</code></p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2649">line 2649</a> </li></ul></dd> <dt class="tag-see">See:</dt> <dd class="tag-see"> <ul> <li><a href="ProtoBuf.Builder.Message.html#encode64">ProtoBuf.Builder.Message#encode64</a></li> <li><a href="ProtoBuf.Builder.Message.html#encodeHex">ProtoBuf.Builder.Message#encodeHex</a></li> <li><a href="ProtoBuf.Builder.Message.html#encodeAB">ProtoBuf.Builder.Message#encodeAB</a></li> </ul> </dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If the message cannot be encoded or if required fields are missing. The later still returns the encoded ByteBuffer in the `encoded` property on the error. </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Encoded message as a ByteBuffer</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">ByteBuffer</span> </dd> </dl> </dd> <dt> <h4 class="name" id="$get"><span class="type-signature"></span>$get<span class="signature">(key)</span><span class="type-signature"> &rarr; {*}</span></h4> </dt> <dd> <div class="description"> <p>Gets a field's value. This is an alias for <a href="ProtoBuf.Builder.Message.html#$get">ProtoBuf.Builder.Message#$get</a>.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>key</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Key</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2539">line 2539</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If there is no such field </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Value</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">*</span> </dd> </dl> </dd> <dt> <h4 class="name" id="$set"><span class="type-signature"></span>$set<span class="signature">(keyOrObj, value<span class="signature-attributes">opt</span>, noAssert<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4> </dt> <dd> <div class="description"> <p>Sets a field's value. This is an alias for [@link ProtoBuf.Builder.Message#set}.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>keyOrObj</code></td> <td class="type"> <span class="param-type">string</span> | <span class="param-type">!Object.&lt;string, *></span> </td> <td class="attributes"> </td> <td class="description last"><p>String key or plain object holding multiple values</p></td> </tr> <tr> <td class="name"><code>value</code></td> <td class="type"> <span class="param-type">*</span> | <span class="param-type">boolean</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Value to set if key is a string, otherwise omitted</p></td> </tr> <tr> <td class="name"><code>noAssert</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Whether to not assert the value, defaults to <code>false</code></p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2506">line 2506</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If the value cannot be set </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> </dd> <dt> <h4 class="name" id="add"><span class="type-signature"></span>add<span class="signature">(key, value, noAssert<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; (non-null) {<a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a>}</span></h4> </dt> <dd> <div class="description"> <p>Adds a value to a repeated field.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>key</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> </td> <td class="description last"><p>Field name</p></td> </tr> <tr> <td class="name"><code>value</code></td> <td class="type"> <span class="param-type">*</span> </td> <td class="attributes"> </td> <td class="description last"><p>Value to add</p></td> </tr> <tr> <td class="name"><code>noAssert</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Whether to assert the value or not (asserts by default)</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2425">line 2425</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If the value cannot be added </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>this</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type"><a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a></span> </dd> </dl> </dd> <dt> <h4 class="name" id="calculate"><span class="type-signature"></span>calculate<span class="signature">()</span><span class="type-signature"> &rarr; {number}</span></h4> </dt> <dd> <div class="description"> <p>Calculates the byte length of the message.</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2693">line 2693</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If the message cannot be calculated or if required fields are missing. </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Byte length</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">number</span> </dd> </dl> </dd> <dt> <h4 class="name" id="encode64"><span class="type-signature"></span>encode64<span class="signature">()</span><span class="type-signature"> &rarr; {string}</span></h4> </dt> <dd> <div class="description"> <p>Directly encodes the message to a base64 encoded string.</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2786">line 2786</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If the underlying buffer cannot be encoded or if required fields are missing. The later still returns the encoded base64 string in the `encoded` property on the error. </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Base64 encoded string</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">string</span> </dd> </dl> </dd> <dt> <h4 class="name" id="encodeAB"><span class="type-signature"></span>encodeAB<span class="signature">()</span><span class="type-signature"> &rarr; {ArrayBuffer}</span></h4> </dt> <dd> <div class="description"> <p>Directly encodes the message to an ArrayBuffer.</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2728">line 2728</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If the message cannot be encoded or if required fields are missing. The later still returns the encoded ArrayBuffer in the `encoded` property on the error. </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Encoded message as ArrayBuffer</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">ArrayBuffer</span> </dd> </dl> </dd> <dt> <h4 class="name" id="encodeDelimited"><span class="type-signature"></span>encodeDelimited<span class="signature">(buffer<span class="signature-attributes">opt</span>, noVerify<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; (non-null) {ByteBuffer}</span></h4> </dt> <dd> <div class="description"> <p>Encodes the varint32 length-delimited message.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>buffer</code></td> <td class="type"> <span class="param-type">ByteBuffer</span> | <span class="param-type">boolean</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>ByteBuffer to encode to. Will create a new one and flip it if omitted.</p></td> </tr> <tr> <td class="name"><code>noVerify</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Whether to not verify field values, defaults to <code>false</code></p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2705">line 2705</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If the message cannot be encoded or if required fields are missing. The later still returns the encoded ByteBuffer in the `encoded` property on the error. </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Encoded message as a ByteBuffer</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">ByteBuffer</span> </dd> </dl> </dd> <dt> <h4 class="name" id="encodeHex"><span class="type-signature"></span>encodeHex<span class="signature">()</span><span class="type-signature"> &rarr; {string}</span></h4> </dt> <dd> <div class="description"> <p>Directly encodes the message to a hex encoded string.</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2815">line 2815</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If the underlying buffer cannot be encoded or if required fields are missing. The later still returns the encoded hex string in the `encoded` property on the error. </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Hex encoded string</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">string</span> </dd> </dl> </dd> <dt> <h4 class="name" id="encodeJSON"><span class="type-signature"></span>encodeJSON<span class="signature">()</span><span class="type-signature"> &rarr; {string}</span></h4> </dt> <dd> <div class="description"> <p>Encodes a message to JSON.</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2916">line 2916</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>JSON string</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">string</span> </dd> </dl> </dd> <dt> <h4 class="name" id="encodeNB"><span class="type-signature"></span>encodeNB<span class="signature">()</span><span class="type-signature"> &rarr; (non-null) {Buffer}</span></h4> </dt> <dd> <div class="description"> <p>Directly encodes the message to a node Buffer.</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2757">line 2757</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If the message cannot be encoded, not running under node.js or if required fields are missing. The later still returns the encoded node Buffer in the `encoded` property on the error. </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Error</span> </dd> </dl> </dt> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">Buffer</span> </dd> </dl> </dd> <dt> <h4 class="name" id="get"><span class="type-signature"></span>get<span class="signature">(key, noAssert<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {*}</span></h4> </dt> <dd> <div class="description"> <p>Gets a field's value.</p> </div> <h5>Parameters:</h5> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>key</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="attributes"> </td> <td class="description last"><p>Key</p></td> </tr> <tr> <td class="name"><code>noAssert</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="description last"><p>Whether to not assert for an actual field, defaults to <code>false</code></p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line2518">line 2518</a> </li></ul></dd> </dl> <h5>Throws:</h5> <dl> <dt> <div class="param-desc"> If there is no such field </div> </dt> <dt> <dl> <dt> Type </dt> <dd> <span class="param-type">Er