protobufjs-no-cli
Version:
Protocol Buffers for JavaScript. Finally.
3,697 lines (1,329 loc) • 73.3 kB
HTML
<!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, …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.<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">
<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.<string, *></span></h4>
</dt>
<dd>
<div class="description">
<p>Message options.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Object.<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.<string, *></span></h4>
</dt>
<dd>
<div class="description">
<p>Message options.</p>
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Object.<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"> → (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">
<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">
<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"> → (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"> → {<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">
<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"> → (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"> → (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"> → (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">
<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"> → (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">
<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">
<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"> → {*}</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.<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">
<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">
<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"> → (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">
<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"> → {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"> → {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"> → {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"> → (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">
<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">
<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"> → {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"> → {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"> → (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"> → {*}</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">
<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