paris/docs/interfaces/fieldconfig.html

500 строки
27 KiB
HTML

<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>FieldConfig | Paris</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">Paris</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Globals</a>
</li>
<li>
<a href="fieldconfig.html">FieldConfig</a>
</li>
</ul>
<h1>Interface FieldConfig</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Configuration for a model EntityField decorator</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">FieldConfig</span>
<ul class="tsd-hierarchy">
<li>
<a href="field.html" class="tsd-signature-type">Field</a>
</li>
</ul>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="fieldconfig.html#arrayof" class="tsd-kind-icon">array<wbr>Of</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="fieldconfig.html#data" class="tsd-kind-icon">data</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="fieldconfig.html#defaultvalue" class="tsd-kind-icon">default<wbr>Value</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="fieldconfig.html#id" class="tsd-kind-icon">id</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="fieldconfig.html#name" class="tsd-kind-icon">name</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="fieldconfig.html#parse" class="tsd-kind-icon">parse</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="fieldconfig.html#require" class="tsd-kind-icon">require</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="fieldconfig.html#required" class="tsd-kind-icon">required</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="fieldconfig.html#serialize" class="tsd-kind-icon">serialize</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="arrayof" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> array<wbr>Of</h3>
<div class="tsd-signature tsd-kind-icon">array<wbr>Of<span class="tsd-signature-symbol">:</span> <a href="dataentitytype.html" class="tsd-signature-type">DataEntityType</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/Microsoft/paris/blob/5f90230/lib/entity/entity-field.config.ts#L94">entity/entity-field.config.ts:94</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p><code>arrayOf</code> is required when the property&#39;s type is an array of a sub-model type.
It&#39;s required because the ES6 Reflect-metadata module that Paris uses to infer the types of properties doesn&#39;t support generics.</p>
</div>
<dl class="tsd-comment-tags">
<dt>example</dt>
<dd><p><caption>Using a model field&#39;s arrayOf configuration for assigning an array sub-model</caption>
// Without the arrayOf, addresses won&#39;t be modeled by Paris.</p>
<pre><code class="lang-typescript"><span class="hljs-meta">@EntityField</span>({ arrayOf: Address })
addresses: <span class="hljs-built_in">Array</span>&lt;Address&gt;
</code></pre>
</dd>
</dl>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="data" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> data</h3>
<div class="tsd-signature tsd-kind-icon">data<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"__self"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/Microsoft/paris/blob/5f90230/lib/entity/entity-field.config.ts#L76">entity/entity-field.config.ts:76</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Specifies which property in the raw data should be assigned to the model&#39;s property.
By default, Paris looks for a property of the same name as the property in the model. i.e:</p>
</div>
<p>If an entity has the following property definition:</p>
<pre><code class="lang-typescript"><span class="hljs-meta">@EntityField</span>()
name:<span class="hljs-built_in">string</span>;
</code></pre>
<p>Then when creating the model, if the raw data contains a <code>name</code> property with value &#39;Anna&#39;, the resulting model will have a <code>name</code> property with value &#39;Anna&#39;.</p>
<dl class="tsd-comment-tags">
<dt>example</dt>
<dd><p><caption>Mapping from a different raw data property with <code>data</code></caption>
If your raw data has properties in snake-case rather than camel-case, you&#39;d need to map the properties:</p>
<pre><code class="lang-typescript"><span class="hljs-meta">@EntityField</span>({ data: <span class="hljs-string">"creation_date"</span> })
creationData: <span class="hljs-built_in">Date</span>;
</code></pre>
</dd>
<dt>example</dt>
<dd><p><caption>Using the first available value from the raw data for the model&#39;s property</caption>
If an array of strings is provided for <code>data</code>, Paris will assign to the model&#39;s property value the first value from the raw data which isn&#39;t undefined or null:</p>
<pre><code class="lang-typescript"><span class="hljs-meta">@EntityField</span>({ data: [<span class="hljs-string">'creation_date'</span>, <span class="hljs-string">'init_date'</span>, <span class="hljs-string">'start_date'</span>] })
date: <span class="hljs-built_in">Date</span>;
</code></pre>
<p>If the raw data is:
{
&quot;creation_date&quot;: null,
&quot;start_date&quot;: 1532422166428
}</p>
<p>Then the model&#39;s <code>date</code> property will have a value of Date(1532422166428), since both creation_date and init_date have no value in the data.</p>
</dd>
<dt>example</dt>
<dd><p><caption>Using &#39;__self&#39; for data to pass the whole raw data</caption>
In the case when we want to separate some properties of the raw data to a sub-model, it&#39;s possible to use the special value &#39;__self&#39; for the <code>data</code> field configuration.
This passes the whole raw data object to the field&#39;s creation, rather than just the value of a property. e.g:</p>
<pre><code class="lang-typescript">Person <span class="hljs-keyword">extends</span> EntityModelBase{
<span class="hljs-meta">@EntityField</span>()
name:<span class="hljs-built_in">string</span>;
<span class="hljs-meta">@EntityField</span>({ data: <span class="hljs-string">'__self'</span> })
address:Address;
}
</code></pre>
<p>In case we want to separate all address properties from a user into an encapsulated object, for the following raw data:</p>
<pre><code>{
<span class="hljs-attr">"name"</span>: <span class="hljs-string">"Anna"</span>,
<span class="hljs-attr">"street"</span>: <span class="hljs-string">"Prinsengracht 263-267"</span>,
<span class="hljs-attr">"zip"</span>: <span class="hljs-string">"1016 GV"</span>,
<span class="hljs-attr">"city"</span>: <span class="hljs-string">"Amsterdam"</span>,
<span class="hljs-attr">"country"</span>: <span class="hljs-string">"Holland"</span>
}
</code></pre></dd>
</dl>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="defaultvalue" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> default<wbr>Value</h3>
<div class="tsd-signature tsd-kind-icon">default<wbr>Value<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/Microsoft/paris/blob/5f90230/lib/entity/entity-field.config.ts#L81">entity/entity-field.config.ts:81</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>A value to assign to the property if the raw data is <code>null</code> or undefined.</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="id" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> id</h3>
<div class="tsd-signature tsd-kind-icon">id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/Microsoft/paris/blob/5f90230/lib/entity/entity-field.config.ts#L12">entity/entity-field.config.ts:12</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>An ID for the field. By default, the ID is the property&#39;s name.</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="name" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> name</h3>
<div class="tsd-signature tsd-kind-icon">name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/Microsoft/paris/blob/5f90230/lib/entity/entity-field.config.ts#L17">entity/entity-field.config.ts:17</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Optional name to assign to the field. May be used for reflection, debugging, etc.</p>
</div>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="parse" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> parse</h3>
<div class="tsd-signature tsd-kind-icon">parse<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">function</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/Microsoft/paris/blob/5f90230/lib/entity/entity-field.config.ts#L143">entity/entity-field.config.ts:143</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Parses the raw data before it&#39;s used by Paris to create the property&#39;s value
Sometimes the value in the raw data is not formatted as we&#39;d like, or more information might be needed to create the desired value. A field&#39;s <code>parse</code> configuration is available for changing the raw data before it&#39;s passed to Paris.
Important: <code>parse</code> should return a new RAW data, not a Paris model.</p>
</div>
<dl class="tsd-comment-tags">
<dt>example</dt>
<dd><p><caption>Parsing a bitwise value into an array</caption></p>
<pre><code class="lang-typescript"><span class="hljs-meta">@EntityField</span>({
arrayOf: NotificationFormat,
parse: <span class="hljs-function">(<span class="hljs-params">formatBitWise: <span class="hljs-built_in">number</span></span>) =&gt;</span> {
<span class="hljs-keyword">return</span> notificationFormatValues.reduce(<span class="hljs-function">(<span class="hljs-params">formats: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">number</span>&gt;, notificationFormat</span>) =&gt;</span> {
<span class="hljs-keyword">return</span> notificationFormat.id &gt; <span class="hljs-number">0</span> &amp;&amp; (formatBitWise &amp; notificationFormat.id) ? [...formats, notificationFormat.id] : formats;
}, []);
},
})
formatFlavor: <span class="hljs-built_in">Array</span>&lt;NotificationFormat&gt;;
</code></pre>
</dd>
<dt>param</dt>
<dd><p>The field&#39;s data from the raw data</p>
</dd>
<dt>param</dt>
<dd><p>The whole object&#39;s raw data</p>
</dd>
<dt>param</dt>
<dd><p>The query (if any) that was used for getting the data</p>
</dd>
<dt>returns</dt>
<dd><p>new raw data.</p>
</dd>
</dl>
</div>
<div class="tsd-type-declaration">
<h4>Type declaration</h4>
<ul class="tsd-parameters">
<li class="tsd-parameter-siganture">
<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-property tsd-is-not-exported">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>fieldData<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span>, itemData<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span>, query<span class="tsd-signature-symbol">?: </span><a href="dataquery.html" class="tsd-signature-type">DataQuery</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> fieldData: <span class="tsd-signature-type">any</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> itemData: <span class="tsd-signature-type">any</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> query: <a href="dataquery.html" class="tsd-signature-type">DataQuery</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4>
</li>
</ul>
</li>
</ul>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="require" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> require</h3>
<div class="tsd-signature tsd-kind-icon">require<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">function</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/Microsoft/paris/blob/5f90230/lib/entity/entity-field.config.ts#L119">entity/entity-field.config.ts:119</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>A condition that has to be satisfied in order to assign value to the property.</p>
</div>
<dl class="tsd-comment-tags">
<dt>example</dt>
<dd><caption>Assigning ZIP code only if street exists</caption>
<pre><code class="lang-typescript"><span class="hljs-meta">@EntityField</span>({ <span class="hljs-built_in">require</span>: <span class="hljs-string">"street"</span> })
zip:<span class="hljs-built_in">string</span>;
</code></pre>
</dd>
<dt>example</dt>
<dd><p><caption>Assigning ZIP code only if both street and country exist</caption></p>
<pre><code class="lang-typescript"><span class="hljs-meta">@EntityField</span>({ <span class="hljs-built_in">require</span>: <span class="hljs-function">(<span class="hljs-params">data:AddressRawData</span>) =&gt;</span> data.street &amp;&amp; data.country })
zip:<span class="hljs-built_in">string</span>;
</code></pre>
</dd>
</dl>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="required" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> required</h3>
<div class="tsd-signature tsd-kind-icon">required<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/Microsoft/paris/blob/5f90230/lib/entity/entity-field.config.ts#L101">entity/entity-field.config.ts:101</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>If a field&#39;s <code>required</code> is set to <code>true</code>, it means that the property must have a value for the whole model to be created.
If <code>required</code> is <code>true</code> and the property has a value of <code>null</code> or <code>undefined</code>, then the model itself will be null.</p>
</div>
<dl class="tsd-comment-tags">
<dt>default</dt>
<dd><p>false</p>
</dd>
</dl>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="serialize" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> serialize</h3>
<div class="tsd-signature tsd-kind-icon">serialize<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">function</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/Microsoft/paris/blob/5f90230/lib/entity/entity-field.config.ts#L149">entity/entity-field.config.ts:149</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>A method used to serialize the model field&#39;s data back into raw data, to be used when saving the model to backend.
<code>serialize</code> may also be set to <code>false</code>, in which case the field won&#39;t be included in the serialized model.</p>
</div>
</div>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../globals.html"><em>Globals</em></a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
</ul>
<ul class="current">
<li class="current tsd-kind-interface">
<a href="fieldconfig.html" class="tsd-kind-icon">Field<wbr>Config</a>
<ul>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="fieldconfig.html#arrayof" class="tsd-kind-icon">array<wbr>Of</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="fieldconfig.html#data" class="tsd-kind-icon">data</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="fieldconfig.html#defaultvalue" class="tsd-kind-icon">default<wbr>Value</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="fieldconfig.html#id" class="tsd-kind-icon">id</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="fieldconfig.html#name" class="tsd-kind-icon">name</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="fieldconfig.html#parse" class="tsd-kind-icon">parse</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="fieldconfig.html#require" class="tsd-kind-icon">require</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="fieldconfig.html#required" class="tsd-kind-icon">required</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="fieldconfig.html#serialize" class="tsd-kind-icon">serialize</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>