@convergence/convergence
Version:
Convergence JavaScript Client
247 lines (244 loc) • 12.7 kB
HTML
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>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>
</ul>
<h1>Convergence JavaScript Client API Documentation</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<div class="tsd-panel tsd-typography">
<p>This is the API Documentation for the Convergence JavaScript client. The main entry point is the <a href="classes/convergence.html">Convergence</a> class which has several methods for connecting to the Convergence Server. From there the <a href="classes/convergencedomain.html">ConvergenceDomain</a> class will allow the developer use the various services provided by the Convergence Server.</p>
<p>The API Docs are organized by module which roughly relate to the main services that Convergence provides. There are a few odds and ends that don't fit neatly into a service. They documentation modules are as follows:</p>
<ul>
<li><a href="modules/connection_and_authentication.html">Connection and Authentication</a></li>
<li><a href="modules/activities.html">Activities</a></li>
<li><a href="modules/chat.html">Chat</a></li>
<li><a href="modules/users_and_identity.html">Identity</a></li>
<li><a href="modules/presence.html">Presence</a></li>
<li><a href="modules/real_time_data.html">Real Time Data</a></li>
<li><a href="modules/offline.html">Offline</a></li>
</ul>
<a href="#getting-started" id="getting-started" style="color: inherit; text-decoration: none;">
<h2>Getting Started</h2>
</a>
<p>The example below shows a simple use case: Connecting to a <a href="https://docs.convergence.io/guide/domain/overview.html" class="tsd-external-link">domain</a>, opening a [[RealTimeModel]] from the domain's <a href="classes/real_time_data.modelservice.html">ModelService</a>, and finally writing out the contents of that model to the console. </p>
<pre><code class="language-Typescript"><span class="hljs-keyword">import</span> {Convergence} <span class="hljs-keyword">from</span> <span class="hljs-string">"@convergence/convergence"</span>;
<span class="hljs-keyword">const</span> url = <span class="hljs-string">"ws://localhost:8000/api/realtime/convergence/default"</span>;
<span class="hljs-keyword">const</span> credentials = { <span class="hljs-attr">username</span>: <span class="hljs-string">"testuser"</span>, <span class="hljs-attr">password</span>: <span class="hljs-string">"changeme"</span> };
Convergence
.connectWithPassword(url, credentials)
.then(<span class="hljs-function"><span class="hljs-params">domain</span> =></span> {
<span class="hljs-keyword">return</span> domain.models().open(<span class="hljs-string">"someModelId"</span>);
})
.then(<span class="hljs-function"><span class="hljs-params">model</span> =></span> {
<span class="hljs-built_in">console</span>.log(model.root().value());
})
.catch(<span class="hljs-function"><span class="hljs-params">error</span> =></span> <span class="hljs-built_in">console</span>.error(error));
</code></pre>
</div>
</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>Index</em></a>
</li>
<li class="modules-label">Modules</li>
<li class=" tsd-kind-module">
<span class="tsd-kind-icon"><a href="modules/activities.html">Activities</a></span>
</li>
<li class=" tsd-kind-module">
<span class="tsd-kind-icon"><a href="modules/chat.html">Chat</a></span>
</li>
<li class=" tsd-kind-module">
<span class="tsd-kind-icon"><a href="modules/connection_and_authentication.html">Connection and <wbr>Authentication</a></span>
</li>
<li class=" tsd-kind-module">
<span class="tsd-kind-icon"><a href="modules/offline.html">Offline</a></span>
</li>
<li class=" tsd-kind-module">
<span class="tsd-kind-icon"><a href="modules/presence.html">Presence</a></span>
</li>
<li class=" tsd-kind-module">
<span class="tsd-kind-icon"><a href="modules/real_time_data.html">Real <wbr>Time <wbr>Data</a></span>
</li>
<li class=" tsd-kind-module">
<span class="tsd-kind-icon"><a href="modules/users_and_identity.html">Users and <wbr>Identity</a></span>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-enum">
<a href="enums/loglevel.html" class="tsd-kind-icon">Log<wbr>Level</a>
</li>
<li class=" tsd-kind-class tsd-has-type-parameter">
<a href="classes/abstractpermissionmanager.html" class="tsd-kind-icon">Abstract<wbr>Permission<wbr>Manager</a>
</li>
<li class=" tsd-kind-class">
<a href="classes/convergence.html" class="tsd-kind-icon">Convergence</a>
</li>
<li class=" tsd-kind-class">
<a href="classes/convergencedomain.html" class="tsd-kind-icon">Convergence<wbr>Domain</a>
</li>
<li class=" tsd-kind-class">
<a href="classes/convergenceerror.html" class="tsd-kind-icon">Convergence<wbr>Error</a>
</li>
<li class=" tsd-kind-class tsd-has-type-parameter">
<a href="classes/convergenceeventemitter.html" class="tsd-kind-icon">Convergence<wbr>Event<wbr>Emitter</a>
</li>
<li class=" tsd-kind-class">
<a href="classes/convergenceservererror.html" class="tsd-kind-icon">Convergence<wbr>Server<wbr>Error</a>
</li>
<li class=" tsd-kind-class">
<a href="classes/errorevent.html" class="tsd-kind-icon">Error<wbr>Event</a>
</li>
<li class=" tsd-kind-class tsd-has-type-parameter">
<a href="classes/pageddata.html" class="tsd-kind-icon">Paged<wbr>Data</a>
</li>
<li class=" tsd-kind-interface tsd-has-type-parameter">
<a href="interfaces/iallpermissions.html" class="tsd-kind-icon">IAll<wbr>Permissions</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/iconvergenceevent.html" class="tsd-kind-icon">IConvergence<wbr>Event</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/iloggerconfig.html" class="tsd-kind-icon">ILogger<wbr>Config</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/iloggingconfigdata.html" class="tsd-kind-icon">ILogging<wbr>Config<wbr>Data</a>
</li>
<li class=" tsd-kind-interface">
<a href="interfaces/orderby.html" class="tsd-kind-icon">Order<wbr>By</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="globals.html#convergenceeventlistener" class="tsd-kind-icon">Convergence<wbr>Event<wbr>Listener</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="globals.html#stringmaplike" class="tsd-kind-icon">String<wbr>Map<wbr>Like</a>
</li>
<li class=" tsd-kind-object-literal">
<a href="globals.html#convergenceerrorcodes" class="tsd-kind-icon">Convergence<wbr>Error<wbr>Codes</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer>
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<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>
</ul>
<ul class="tsd-legend">
<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-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
<li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</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-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
<ul class="tsd-legend">
<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>
</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-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="assets/js/main.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-84372428-3', 'auto');
ga('send', 'pageview');
</script>
</body>
</html>