UNPKG

@convergence/convergence

Version:
698 lines (697 loc) 69.9 kB
<!doctype html> <html class="default no-js"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>HistoricalObject | Convergence JavaScript Client API Documentation</title> <meta name="description" content="Documentation for Convergence JavaScript Client API Documentation"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="../assets/css/main.css"> <link rel="icon" type="image/png" href="https://convergence.io/assets/img/favicon/favicon-16x16.png" sizes="16x16"> <link rel="icon" type="image/png" href="https://convergence.io/assets/img/favicon/favicon-32x32.png" sizes="32x32"> <link rel="icon" type="image/ico" href="https://convergence.io/assets/img/favicon/favicon.ico" sizes="48x48"> <link rel="icon" type="image/png" href="https://convergence.io/assets/img/favicon/favicon-96x96.png" sizes="96x96"> <!-- Start of convergencelabs Zendesk Widget script --> <script id="ze-snippet" src="https://static.zdassets.com/ekr/snippet.js?key=3ee5157d-2fc2-4b08-b6c7-d5fad0533179"> </script> <!-- End of convergencelabs Zendesk Widget script --> </head> <body> <header> <div class="tsd-page-toolbar convergence-header"> <div class="container"> <div class="flex-content"> <a href="../index.html" class="header-brand"> <img src=../assets/images/convergence-logo.png /> <span class="brand-title brand-copy">Convergence JavaScript Client API Documentation</span> <span class="version">1.0.0-rc.12</span> </a> <div class="links brand-copy"> <div class="link"> <a href="https://docs.convergence.io/guide/">Dev Guide</a> </div> <div class="link"> <a href="https://examples.convergence.io">Examples</a> </div> <div class="link"> <a href="https://convergence.io/support/">Support</a> </div> </div> </div> <div class="table-wrap"> <div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" 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> </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"> <input type="checkbox" id="tsd-filter-inherited" checked /> <label class="tsd-widget" for="tsd-filter-inherited">Inherited</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">Index</a> </li> <li> <a href="../modules/real_time_data.html">Real Time Data</a> </li> <li> <a href="real_time_data.historicalobject.html">HistoricalObject</a> </li> </ul> <h1>Class HistoricalObject</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>A read-only history-aware version of a <a href="real_time_data.realtimeobject.html">RealTimeObject</a>. See <a href="real_time_data.historicalelement.html">HistoricalElement</a> and <a href="real_time_data.historicalmodel.html">HistoricalModel</a> for some common usages.</p> </div> </div> </section> <section class="tsd-panel tsd-hierarchy"> <h3>Hierarchy</h3> <ul class="tsd-hierarchy"> <li> <a href="real_time_data.historicalelement.html" class="tsd-signature-type">HistoricalElement</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol">&gt;</span> <ul class="tsd-hierarchy"> <li> <span class="target">HistoricalObject</span> </li> </ul> </li> </ul> </section> <section class="tsd-panel"> <h3>Implements</h3> <ul class="tsd-hierarchy"> <li><a href="../interfaces/real_time_data.observableelement.html" class="tsd-signature-type">ObservableElement</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol">&gt;</span></li> <li><a href="../interfaces/real_time_data.historicalcontainerelement.html" class="tsd-signature-type">HistoricalContainerElement</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol">&gt;</span></li> <li><a href="../interfaces/real_time_data.observableobject.html" class="tsd-signature-type">ObservableObject</a></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-class tsd-is-overwrite tsd-is-static"><a href="real_time_data.historicalobject.html#events" class="tsd-kind-icon">Events</a></li> </ul> </section> <section class="tsd-index-section "> <h3>Methods</h3> <ul class="tsd-index-list"> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#addlistener" class="tsd-kind-icon">add<wbr>Listener</a></li> <li class="tsd-kind-method tsd-parent-kind-class"><a href="real_time_data.historicalobject.html#elementat" class="tsd-kind-icon">element<wbr>At</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#events-1" class="tsd-kind-icon">events</a></li> <li class="tsd-kind-method tsd-parent-kind-class"><a href="real_time_data.historicalobject.html#foreach" class="tsd-kind-icon">for<wbr>Each</a></li> <li class="tsd-kind-method tsd-parent-kind-class"><a href="real_time_data.historicalobject.html#get" class="tsd-kind-icon">get</a></li> <li class="tsd-kind-method tsd-parent-kind-class"><a href="real_time_data.historicalobject.html#haskey" class="tsd-kind-icon">has<wbr>Key</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#id" class="tsd-kind-icon">id</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#isattached" class="tsd-kind-icon">is<wbr>Attached</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#isdetached" class="tsd-kind-icon">is<wbr>Detached</a></li> <li class="tsd-kind-method tsd-parent-kind-class"><a href="real_time_data.historicalobject.html#keys" class="tsd-kind-icon">keys</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#model" class="tsd-kind-icon">model</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#off" class="tsd-kind-icon">off</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#on" class="tsd-kind-icon">on</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#once" class="tsd-kind-icon">once</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#parent" class="tsd-kind-icon">parent</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#path" class="tsd-kind-icon">path</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#relativepath" class="tsd-kind-icon">relative<wbr>Path</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#removealllisteners" class="tsd-kind-icon">remove<wbr>All<wbr>Listeners</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#removelistener" class="tsd-kind-icon">remove<wbr>Listener</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#removelisteners" class="tsd-kind-icon">remove<wbr>Listeners</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#tojson" class="tsd-kind-icon">toJSON</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#type" class="tsd-kind-icon">type</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="real_time_data.historicalobject.html#value" class="tsd-kind-icon">value</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-class tsd-is-overwrite tsd-is-static"> <a name="events" class="tsd-anchor"></a> <h3>Events</h3> <div class="tsd-signature tsd-kind-icon">Events<span class="tsd-signature-symbol">:</span> <a href="../interfaces/real_time_data.historicalobjectevents.html" class="tsd-signature-type">HistoricalObjectEvents</a><span class="tsd-signature-symbol"> = ObservableObjectEventConstants</span></div> <aside class="tsd-sources"> <p>Overrides <a href="real_time_data.historicalelement.html">HistoricalElement</a>.<a href="real_time_data.historicalelement.html#events">Events</a></p> </aside> </section> </section> <section class="tsd-panel-group tsd-member-group "> <h2>Methods</h2> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <a name="addlistener" class="tsd-anchor"></a> <h3>add<wbr>Listener</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <li class="tsd-signature tsd-kind-icon">add<wbr>Listener<span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, listener<span class="tsd-signature-symbol">: </span><a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#addlistener">addListener</a></p> <p>Inherited from <a href="convergenceeventemitter.html">ConvergenceEventEmitter</a>.<a href="convergenceeventemitter.html#addlistener">addListener</a></p> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Adds a new event listener for the specified event. The class will ignore duplicate registrations of the same listener to the same event.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>event: <span class="tsd-signature-type">string</span></h5> <div class="tsd-comment tsd-typography"> <p> The name of the event to add the listener for.</p> </div> </li> <li> <h5>listener: <a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span></h5> <div class="tsd-comment tsd-typography"> <p> The listener callback to register.</p> </div> </li> </ul> <h4 class="tsd-returns-title">Returns <a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span></h4> <p> This object, in support of a fluent API.</p> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"> <a name="elementat" class="tsd-anchor"></a> <h3>element<wbr>At</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"> <li class="tsd-signature tsd-kind-icon">element<wbr>At<span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><a href="../modules/real_time_data.html#path" class="tsd-signature-type">Path</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="real_time_data.historicalelement.html" class="tsd-signature-type">HistoricalElement</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></li> <li class="tsd-signature tsd-kind-icon">element<wbr>At<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>elements<span class="tsd-signature-symbol">: </span><a href="../modules/real_time_data.html#pathelement" class="tsd-signature-type">PathElement</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="real_time_data.historicalelement.html" class="tsd-signature-type">HistoricalElement</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#elementat">elementAt</a></p> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Given a search path, returns the <a href="real_time_data.historicalelement.html">HistoricalElement</a> at that path, or null if no such element exists. Scoped to this object, so the first element in the given path should be a string (representing an existing key)</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>path: <a href="../modules/real_time_data.html#path" class="tsd-signature-type">Path</a></h5> <div class="tsd-comment tsd-typography"> <p>the search path for accessing a node within this object</p> </div> </li> </ul> <h4 class="tsd-returns-title">Returns <a href="real_time_data.historicalelement.html" class="tsd-signature-type">HistoricalElement</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4> <p>The <a href="real_time_data.historicalelement.html">HistoricalElement</a> at the given path, or null if no such element exists</p> </li> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#elementat">elementAt</a></p> </aside> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5><span class="tsd-signature-symbol">...</span>elements: <a href="../modules/real_time_data.html#pathelement" class="tsd-signature-type">PathElement</a><span class="tsd-signature-symbol">[]</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <a href="real_time_data.historicalelement.html" class="tsd-signature-type">HistoricalElement</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <a name="events-1" class="tsd-anchor"></a> <h3>events</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <li class="tsd-signature tsd-kind-icon">events<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Observable</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#events">events</a></p> <p>Inherited from <a href="convergenceeventemitter.html">ConvergenceEventEmitter</a>.<a href="convergenceeventemitter.html#events">events</a></p> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Provides the events emitted by this object as an Observable stream.</p> </div> <dl class="tsd-comment-tags"> <dt>example</dt> <dd><pre><code class="language-typescript"> eventEmitter.events() .filter(<span class="hljs-function"><span class="hljs-params">e</span> =&gt;</span> e.name === <span class="hljs-string">&quot;myevent&quot;</span>) .subscribe(<span class="hljs-function"><span class="hljs-params">e</span> =&gt;</span> <span class="hljs-built_in">console</span>.log(e)); </code></pre> </dd> </dl> </div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Observable</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span></h4> <p> An Observable stream of all events emitted by this object.</p> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"> <a name="foreach" class="tsd-anchor"></a> <h3>for<wbr>Each</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"> <li class="tsd-signature tsd-kind-icon">for<wbr>Each<span class="tsd-signature-symbol">(</span>callback<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>model<span class="tsd-signature-symbol">: </span><a href="real_time_data.historicalelement.html" class="tsd-signature-type">HistoricalElement</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span>, key<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Synchronously calls the provided callback function for each key-value pair in this object at the current version.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>callback: <span class="tsd-signature-symbol">(</span>model<span class="tsd-signature-symbol">: </span><a href="real_time_data.historicalelement.html" class="tsd-signature-type">HistoricalElement</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span>, key<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></h5> <div class="tsd-comment tsd-typography"> <p>a function to be called for each key-value pair</p> </div> <ul class="tsd-parameters"> <li class="tsd-parameter-signature"> <ul class="tsd-signatures tsd-kind-type-literal"> <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>model<span class="tsd-signature-symbol">: </span><a href="real_time_data.historicalelement.html" class="tsd-signature-type">HistoricalElement</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span>, key<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>model: <a href="real_time_data.historicalelement.html" class="tsd-signature-type">HistoricalElement</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h5> </li> <li> <h5>key: <span class="tsd-signature-type">string</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </li> </ul> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"> <a name="get" class="tsd-anchor"></a> <h3>get</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"> <li class="tsd-signature tsd-kind-icon">get<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="real_time_data.historicalelement.html" class="tsd-signature-type">HistoricalElement</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#get">get</a></p> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Returns the <a href="real_time_data.historicalelement.html">HistoricalElement</a> at the given key at the current version.</p> </div> <p>Also see <a href="real_time_data.realtimeobject.html#get">RealTimeObject.get</a>.</p> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>key: <span class="tsd-signature-type">string</span></h5> <div class="tsd-comment tsd-typography"> <p>the key whose value is desired</p> </div> </li> </ul> <h4 class="tsd-returns-title">Returns <a href="real_time_data.historicalelement.html" class="tsd-signature-type">HistoricalElement</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"> <a name="haskey" class="tsd-anchor"></a> <h3>has<wbr>Key</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"> <li class="tsd-signature tsd-kind-icon">has<wbr>Key<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#haskey">hasKey</a></p> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Returns true if the provided key existed on this object at the current version.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>key: <span class="tsd-signature-type">string</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <a name="id" class="tsd-anchor"></a> <h3>id</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <li class="tsd-signature tsd-kind-icon">id<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#id">id</a></p> <p>Inherited from <a href="real_time_data.historicalobject.html">HistoricalObject</a>.<a href="real_time_data.historicalobject.html#id">id</a></p> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Each node within a <a href="real_time_data.realtimemodel.html">RealTimeModel</a> has a system-generated ID that is unique within this model&#39;s contents.</p> </div> </div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <a name="isattached" class="tsd-anchor"></a> <h3>is<wbr>Attached</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <li class="tsd-signature tsd-kind-icon">is<wbr>Attached<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#isattached">isAttached</a></p> <p>Inherited from <a href="real_time_data.historicalobject.html">HistoricalObject</a>.<a href="real_time_data.historicalobject.html#isattached">isAttached</a></p> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>This doesn&#39;t have much utility in the context of a <a href="real_time_data.historicalmodel.html">HistoricalModel</a> and is really only provided for API compatibility with a <a href="real_time_data.realtimemodel.html">RealTimeModel</a>.</p> </div> </div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4> <p>true</p> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <a name="isdetached" class="tsd-anchor"></a> <h3>is<wbr>Detached</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <li class="tsd-signature tsd-kind-icon">is<wbr>Detached<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#isdetached">isDetached</a></p> <p>Inherited from <a href="real_time_data.historicalobject.html">HistoricalObject</a>.<a href="real_time_data.historicalobject.html#isdetached">isDetached</a></p> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>This doesn&#39;t have much utility in the context of a <a href="real_time_data.historicalmodel.html">HistoricalModel</a> and is really only provided for API compatibility with a <a href="real_time_data.realtimemodel.html">RealTimeModel</a>.</p> </div> </div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4> <p>false</p> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"> <a name="keys" class="tsd-anchor"></a> <h3>keys</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"> <li class="tsd-signature tsd-kind-icon">keys<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#keys">keys</a></p> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Returns an array of all the current version&#39;s keys</p> </div> </div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4> <p>an array with all the current version&#39;s keys</p> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <a name="model" class="tsd-anchor"></a> <h3>model</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <li class="tsd-signature tsd-kind-icon">model<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="real_time_data.historicalmodel.html" class="tsd-signature-type">HistoricalModel</a></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#model">model</a></p> <p>Inherited from <a href="real_time_data.historicalobject.html">HistoricalObject</a>.<a href="real_time_data.historicalobject.html#model">model</a></p> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Returns the model to which this element belongs.</p> </div> </div> <h4 class="tsd-returns-title">Returns <a href="real_time_data.historicalmodel.html" class="tsd-signature-type">HistoricalModel</a></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <a name="off" class="tsd-anchor"></a> <h3>off</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <li class="tsd-signature tsd-kind-icon">off<span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, listener<span class="tsd-signature-symbol">: </span><a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#off">off</a></p> <p>Inherited from <a href="convergenceeventemitter.html">ConvergenceEventEmitter</a>.<a href="convergenceeventemitter.html#off">off</a></p> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Removes a single event listener for a specific event.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>event: <span class="tsd-signature-type">string</span></h5> <div class="tsd-comment tsd-typography"> <p> The name of the event to remove the listener for.</p> </div> </li> <li> <h5>listener: <a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span></h5> <div class="tsd-comment tsd-typography"> <p> The listener callback to unregister.</p> </div> </li> </ul> <h4 class="tsd-returns-title">Returns <a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span></h4> <p> This object, in support of a fluent API.</p> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <a name="on" class="tsd-anchor"></a> <h3>on</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <li class="tsd-signature tsd-kind-icon">on<span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, listener<span class="tsd-signature-symbol">: </span><a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#on">on</a></p> <p>Inherited from <a href="convergenceeventemitter.html">ConvergenceEventEmitter</a>.<a href="convergenceeventemitter.html#on">on</a></p> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Adds a new event listener for the specified event. The class will ignore duplicate registrations of the same listener to the same event.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>event: <span class="tsd-signature-type">string</span></h5> <div class="tsd-comment tsd-typography"> <p> The name of the event to add the listener for.</p> </div> </li> <li> <h5>listener: <a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span></h5> <div class="tsd-comment tsd-typography"> <p> The listener callback to register.</p> </div> </li> </ul> <h4 class="tsd-returns-title">Returns <a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span></h4> <p> This object, in support of a fluent API.</p> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <a name="once" class="tsd-anchor"></a> <h3>once</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <li class="tsd-signature tsd-kind-icon">once<span class="tsd-signature-symbol">(</span>event<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, listener<span class="tsd-signature-symbol">: </span><a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#once">once</a></p> <p>Inherited from <a href="convergenceeventemitter.html">ConvergenceEventEmitter</a>.<a href="convergenceeventemitter.html#once">once</a></p> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Adds a single shot event listener for the specified event. The listener will be called the first time the specified event is fired after the event registration occurs, after which the registration will be removed and no further events will be passed to the listener.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>event: <span class="tsd-signature-type">string</span></h5> <div class="tsd-comment tsd-typography"> <p> The name of the event to add the listener for.</p> </div> </li> <li> <h5>listener: <a href="../globals.html#convergenceeventlistener" class="tsd-signature-type">ConvergenceEventListener</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span></h5> <div class="tsd-comment tsd-typography"> <p> The listener callback to register.</p> </div> </li> </ul> <h4 class="tsd-returns-title">Returns <a href="convergenceeventemitter.html" class="tsd-signature-type">ConvergenceEventEmitter</a><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/iconvergenceevent.html" class="tsd-signature-type">IConvergenceEvent</a><span class="tsd-signature-symbol">&gt;</span></h4> <p> This object, in support of a fluent API.</p> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <a name="parent" class="tsd-anchor"></a> <h3>parent</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <li class="tsd-signature tsd-kind-icon">parent<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/real_time_data.historicalcontainerelement.html" class="tsd-signature-type">HistoricalContainerElement</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#parent">parent</a></p> <p>Inherited from <a href="real_time_data.historicalobject.html">HistoricalObject</a>.<a href="real_time_data.historicalobject.html#parent">parent</a></p> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Returns the parent of this element within the model.</p> </div> </div> <h4 class="tsd-returns-title">Returns <a href="../interfaces/real_time_data.historicalcontainerelement.html" class="tsd-signature-type">HistoricalContainerElement</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4> <p>the parent of this element, or <code>this</code> if this is the root element</p> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <a name="path" class="tsd-anchor"></a> <h3>path</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <li class="tsd-signature tsd-kind-icon">path<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../modules/real_time_data.html#path" class="tsd-signature-type">Path</a></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#path">path</a></p> <p>Inherited from <a href="real_time_data.historicalobject.html">HistoricalObject</a>.<a href="real_time_data.historicalobject.html#path">path</a></p> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>The <a href="../modules/real_time_data.html#path">Path</a> representing this element&#39;s location in the containing model&#39;s data.</p> </div> </div> <h4 class="tsd-returns-title">Returns <a href="../modules/real_time_data.html#path" class="tsd-signature-type">Path</a></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <a name="relativepath" class="tsd-anchor"></a> <h3>relative<wbr>Path</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <li class="tsd-signature tsd-kind-icon">relative<wbr>Path<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../modules/real_time_data.html#pathelement" class="tsd-signature-type">PathElement</a></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <p>Implementation of <a href="../interfaces/real_time_data.observableobject.html">ObservableObject</a>.<a href="../interfaces/real_time_data.observableobject.html#relativepath">relativePath</a></p> <p>Inherited from <a href="real_time_data.historicalobject.html">HistoricalObject</a>.<a href="real_time_data.historicalobject.html#relativepath">relativePath</a></p> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>This returns the <a href="../modules/real_time_data.html#pathelement">PathElement</a> representing this element&#39;s location relevant to its parent. For example, given a model with contents</p> </div> <pre><code class="language-json">{ obj: { with: 1, stuff: [&#x27;a&#x27;, &#x27;string&#x27;] } } </code></pre> <pre><code class="language-typescript"><span class="hljs-keyword">let</span> rtNumber = rtModel.elementAt([<span class="hljs-string">&#x27;obj&#x27;</span>, <span class="hljs-string">&#x27;with&#x27;</span>]); rtNumber.value() <span class="hljs-comment">// 1</span> rtNumber.relativePath() <span class="hljs-comment">// &#x27;with&#x27;</span> <span class="hljs-keyword">let</span> rtString = rtModel.elementAt([<span class="hljs-string">&#x27;obj&#x27;</span>, <span class="hljs-string">&#x27;stuff&#x27;</span>, <span class="hljs-number">0</span>]); rtString.value() <span class="hljs-comment">// &#x27;a&#x27;</span> rtString.relativePath() <span class="hljs-comment">// 0</span> </code></pre> </div> <h4 class="tsd-returns-title">Returns <a href="../modules/real_time_data.html#pathelement" class="tsd-signature-type">PathElement</a></h4> <p>a PathElement representing this node&#39;s location relative to its parent, or null if it has no parent.</p> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <a name="removealllisteners" class="tsd-anchor"></a> <h3>remove<wbr>All<wbr>Listeners</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited"> <li class="tsd-signature tsd-kind-icon">remove<wbr>All<wbr>Listeners<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="convergenceeventemitter.html" class="tsd-signa