UNPKG

28 kBHTMLView Raw
1<!doctype html>
2<html class="default no-js">
3<head>
4 <meta charset="utf-8">
5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6 <title>node-docker-api</title>
7 <meta name="description" content="">
8 <meta name="viewport" content="width=device-width, initial-scale=1">
9 <link rel="stylesheet" href="assets/css/main.css">
10</head>
11<body>
12<header>
13 <div class="tsd-page-toolbar">
14 <div class="container">
15 <div class="table-wrap">
16 <div class="table-cell" id="tsd-search" data-index="assets/js/search.js" data-base=".">
17 <div class="field">
18 <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
19 <input id="tsd-search-field" type="text" />
20 </div>
21 <ul class="results">
22 <li class="state loading">Preparing search index...</li>
23 <li class="state failure">The search index is not available</li>
24 </ul>
25 <a href="index.html" class="title">node-docker-api</a>
26 </div>
27 <div class="table-cell" id="tsd-widgets">
28 <div id="tsd-filter">
29 <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
30 <div class="tsd-filter-group">
31 <div class="tsd-select" id="tsd-filter-visibility">
32 <span class="tsd-select-label">All</span>
33 <ul class="tsd-select-list">
34 <li data-value="public">Public</li>
35 <li data-value="protected">Public/Protected</li>
36 <li data-value="private" class="selected">All</li>
37 </ul>
38 </div>
39 <input type="checkbox" id="tsd-filter-inherited" checked />
40 <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
41 <input type="checkbox" id="tsd-filter-externals" checked />
42 <label class="tsd-widget" for="tsd-filter-externals">Externals</label>
43 <input type="checkbox" id="tsd-filter-only-exported" />
44 <label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
45 </div>
46 </div>
47 <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
48 </div>
49 </div>
50 </div>
51 </div>
52 <div class="tsd-page-title">
53 <div class="container">
54 <ul class="tsd-breadcrumb">
55 <li>
56 <a href="globals.html">Globals</a>
57 </li>
58 </ul>
59 <h1> node-docker-api</h1>
60 </div>
61 </div>
62</header>
63<div class="container container-main">
64 <div class="row">
65 <div class="col-8 col-content">
66 <div class="tsd-panel tsd-typography">
67 <h1 id="docker-api">docker-api</h1>
68 <p><a href="https://travis-ci.org/AgustinCB/docker-api"><img src="https://travis-ci.org/AgustinCB/docker-api.png?branch=master" alt="travis-ci"></a></p>
69 <p>Docker Remote API driver for node.js. It uses the same modem than <a href="https://github.com/apocas/dockerode">dockerode</a>, but the interface is promisified and with a different syntax.</p>
70 <p>Support for:</p>
71 <ul>
72 <li><strong>streams</strong></li>
73 <li><strong>stream demux</strong></li>
74 <li><strong>entities</strong></li>
75 <li><strong>run</strong></li>
76 <li><strong>tests</strong></li>
77 <li><strong>promises</strong></li>
78 <li><strong>full es6 support</strong></li>
79 </ul>
80 <p>The current status of the package is in beta state. This module covers the full <a href="https://docs.docker.com/engine/api/v1.26">API reference</a>, including experimental stuff such as plugins.</p>
81 <p>Check the <a href="https://github.com/AgustinCB/docker-api/tree/master/docs">reference</a> and the <a href="https://github.com/AgustinCB/docker-api/tree/master/test">tests</a> for full examples.</p>
82 <h2 id="installation">Installation</h2>
83 <p><code>npm install node-docker-api</code></p>
84 <h2 id="usage">Usage</h2>
85 <h3 id="create-start-stop-restart-and-remove-a-container">Create, start, stop, restart and remove a container</h3>
86 <pre><code class="lang-js"><span class="hljs-keyword">const</span> Docker = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-docker-api'</span>).Docker
87
88<span class="hljs-keyword">let</span> docker = <span class="hljs-keyword">new</span> Docker({ <span class="hljs-attr">socketPath</span>: <span class="hljs-string">'/var/run/docker.sock'</span> })
89
90docker.container.create({
91 <span class="hljs-attr">Image</span>: <span class="hljs-string">'ubuntu'</span>,
92 <span class="hljs-attr">name</span>: <span class="hljs-string">'test'</span>
93})
94 .then(<span class="hljs-function">(<span class="hljs-params">container</span>) =&gt;</span> container.start())
95 .then(<span class="hljs-function">(<span class="hljs-params">container</span>) =&gt;</span> container.stop())
96 .then(<span class="hljs-function">(<span class="hljs-params">container</span>) =&gt;</span> container.restart())
97 .then(<span class="hljs-function">(<span class="hljs-params">container</span>) =&gt;</span> container.delete({ <span class="hljs-attr">force</span>: <span class="hljs-literal">true</span> }))
98 .catch(<span class="hljs-function">(<span class="hljs-params">error</span>) =&gt;</span> <span class="hljs-built_in">console</span>.log(error))
99</code></pre>
100 <h3 id="list-inspect-and-top-containers">List, inspect and top containers</h3>
101 <pre><code class="lang-js"><span class="hljs-keyword">const</span> Docker = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-docker-api'</span>).Docker
102
103<span class="hljs-keyword">let</span> docker = <span class="hljs-keyword">new</span> Docker({ <span class="hljs-attr">socketPath</span>: <span class="hljs-string">'/var/run/docker.sock'</span> })
104
105<span class="hljs-comment">// List</span>
106docker.container.list()
107 <span class="hljs-comment">// Inspect</span>
108 .then(<span class="hljs-function">(<span class="hljs-params">containers</span>) =&gt;</span> containers[<span class="hljs-number">0</span>].status())
109 .then(<span class="hljs-function">(<span class="hljs-params">container</span>) =&gt;</span> container.top())
110 .then(<span class="hljs-function">(<span class="hljs-params">processes</span>) =&gt;</span> <span class="hljs-built_in">console</span>.log(processes))
111 .catch(<span class="hljs-function">(<span class="hljs-params">error</span>) =&gt;</span> <span class="hljs-built_in">console</span>.log(error))
112</code></pre>
113 <h3 id="list-inspect-and-stat-containers">List, inspect and stat containers</h3>
114 <pre><code class="lang-js"><span class="hljs-keyword">const</span> Docker = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-docker-api'</span>).Docker
115
116<span class="hljs-keyword">let</span> docker = <span class="hljs-keyword">new</span> Docker({ <span class="hljs-attr">socketPath</span>: <span class="hljs-string">'/var/run/docker.sock'</span> })
117
118<span class="hljs-comment">// List</span>
119docker.container.list()
120 <span class="hljs-comment">// Inspect</span>
121 .then(<span class="hljs-function">(<span class="hljs-params">containers</span>) =&gt;</span> containers[<span class="hljs-number">0</span>].status())
122 .then(<span class="hljs-function">(<span class="hljs-params">container</span>) =&gt;</span> container.stats())
123 .then(<span class="hljs-function">(<span class="hljs-params">stats</span>) =&gt;</span> {
124 stats.on(<span class="hljs-string">'data'</span>, (stat) =&gt; <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'Stats: '</span>,stat))
125 stats.on(<span class="hljs-string">'error'</span>, (err) =&gt; <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'Error: '</span>, err))
126 })
127 .catch(<span class="hljs-function">(<span class="hljs-params">error</span>) =&gt;</span> <span class="hljs-built_in">console</span>.log(error))
128</code></pre>
129 <h3 id="get-logs-of-a-container">Get logs of a container</h3>
130 <pre><code class="lang-js"><span class="hljs-keyword">const</span> Docker = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-docker-api'</span>).Docker
131
132<span class="hljs-keyword">let</span> docker = <span class="hljs-keyword">new</span> Docker({ <span class="hljs-attr">socketPath</span>: <span class="hljs-string">'/var/run/docker.sock'</span> })
133<span class="hljs-keyword">let</span> container
134
135docker.container.create({
136 <span class="hljs-attr">Image</span>: <span class="hljs-string">'ubuntu'</span>,
137 <span class="hljs-attr">name</span>: <span class="hljs-string">'test'</span>
138})
139 .then(<span class="hljs-function">(<span class="hljs-params">container</span>) =&gt;</span> container.logs({
140 <span class="hljs-attr">follow</span>: <span class="hljs-literal">true</span>,
141 <span class="hljs-attr">stdout</span>: <span class="hljs-literal">true</span>,
142 <span class="hljs-attr">stderr</span>: <span class="hljs-literal">true</span>
143 }))
144 .then(<span class="hljs-function">(<span class="hljs-params">stream</span>) =&gt;</span> {
145 stream.on(<span class="hljs-string">'data'</span>, (info) =&gt; <span class="hljs-built_in">console</span>.log(info))
146 stream.on(<span class="hljs-string">'error'</span>, (err) =&gt; <span class="hljs-built_in">console</span>.log(err))
147 })
148 .catch(<span class="hljs-function">(<span class="hljs-params">error</span>) =&gt;</span> <span class="hljs-built_in">console</span>.log(error))
149</code></pre>
150 <h3 id="export-a-container">Export a container</h3>
151 <pre><code class="lang-js"><span class="hljs-keyword">const</span> Docker = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-docker-api'</span>).Docker,
152 fs = <span class="hljs-built_in">require</span>(<span class="hljs-string">'fs'</span>)
153
154<span class="hljs-keyword">let</span> docker = <span class="hljs-keyword">new</span> Docker({ <span class="hljs-attr">socketPath</span>: <span class="hljs-string">'/var/run/docker.sock'</span> })
155<span class="hljs-keyword">let</span> container
156
157docker.container.create({
158 <span class="hljs-attr">Image</span>: <span class="hljs-string">'ubuntu'</span>,
159 <span class="hljs-attr">name</span>: <span class="hljs-string">'test'</span>
160})
161 .then(<span class="hljs-function">(<span class="hljs-params">container</span>) =&gt;</span> container.start())
162 .then(<span class="hljs-function">(<span class="hljs-params">container</span>) =&gt;</span> container.export())
163 .then(<span class="hljs-function">(<span class="hljs-params">content</span>) =&gt;</span> {
164 <span class="hljs-keyword">let</span> file = fs.createWriteStream(<span class="hljs-string">"container.tar"</span>);
165 file.end(content)
166 })
167 .catch(<span class="hljs-function">(<span class="hljs-params">error</span>) =&gt;</span> <span class="hljs-built_in">console</span>.log(error))
168</code></pre>
169 <h3 id="manipulate-file-system-in-a-container">Manipulate file system in a container</h3>
170 <pre><code class="lang-js"><span class="hljs-keyword">const</span> Docker = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-docker-api'</span>).Docker,
171 fs = <span class="hljs-built_in">require</span>(<span class="hljs-string">'fs'</span>)
172
173<span class="hljs-keyword">const</span> promisifyStream = <span class="hljs-function">(<span class="hljs-params">stream</span>) =&gt;</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Promise</span>(<span class="hljs-function">(<span class="hljs-params">resolve, reject</span>) =&gt;</span> {
174 stream.on(<span class="hljs-string">'data'</span>, (d) =&gt; <span class="hljs-built_in">console</span>.log(d.toString()))
175 stream.on(<span class="hljs-string">'end'</span>, resolve)
176 stream.on(<span class="hljs-string">'error'</span>, reject)
177})
178
179<span class="hljs-keyword">let</span> docker = <span class="hljs-keyword">new</span> Docker({ <span class="hljs-attr">socketPath</span>: <span class="hljs-string">'/var/run/docker.sock'</span> })
180<span class="hljs-keyword">let</span> container
181
182docker.container.create({
183 <span class="hljs-attr">Image</span>: <span class="hljs-string">'ubuntu'</span>,
184 <span class="hljs-attr">Cmd</span>: [ <span class="hljs-string">'/bin/bash'</span>, <span class="hljs-string">'-c'</span>, <span class="hljs-string">'tail -f /var/log/dmesg'</span> ],
185 <span class="hljs-attr">name</span>: <span class="hljs-string">'test'</span>
186})
187 .then(<span class="hljs-function">(<span class="hljs-params">container</span>) =&gt;</span> container.start())
188 .then(<span class="hljs-function">(<span class="hljs-params">_container</span>) =&gt;</span> {
189 container = _container
190 <span class="hljs-keyword">return</span> _container.fs.put(<span class="hljs-string">'./file.tar'</span>, {
191 <span class="hljs-attr">path</span>: <span class="hljs-string">'root'</span>
192 })
193 })
194 .then(<span class="hljs-function">(<span class="hljs-params">stream</span>) =&gt;</span> promisifyStream(stream))
195 .then(<span class="hljs-function"><span class="hljs-params">()</span> =&gt;</span> container.fs.get({ <span class="hljs-attr">path</span>: <span class="hljs-string">'/var/log/dmesg'</span> }))
196 .then(<span class="hljs-function">(<span class="hljs-params">stream</span>) =&gt;</span> {
197 <span class="hljs-keyword">let</span> file = fs.createWriteStream(<span class="hljs-string">"file.jpg"</span>);
198 stream.pipe(file)
199 <span class="hljs-keyword">return</span> promisifyStream(stream)
200 })
201 .then(<span class="hljs-function"><span class="hljs-params">()</span> =&gt;</span> container.status())
202 .then(<span class="hljs-function">(<span class="hljs-params">container</span>) =&gt;</span> container.stop())
203 .catch(<span class="hljs-function">(<span class="hljs-params">error</span>) =&gt;</span> <span class="hljs-built_in">console</span>.log(error))
204</code></pre>
205 <h3 id="execute-commands-and-kill-containers">Execute commands and kill containers</h3>
206 <pre><code class="lang-js"><span class="hljs-keyword">const</span> Docker = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-docker-api'</span>).Docker
207
208<span class="hljs-keyword">const</span> promisifyStream = <span class="hljs-function">(<span class="hljs-params">stream</span>) =&gt;</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Promise</span>(<span class="hljs-function">(<span class="hljs-params">resolve, reject</span>) =&gt;</span> {
209 <span class="hljs-built_in">console</span>.log(stream);
210 stream.on(<span class="hljs-string">'data'</span>, (d) =&gt; <span class="hljs-built_in">console</span>.log(d.toString()))
211 stream.on(<span class="hljs-string">'end'</span>, resolve)
212 stream.on(<span class="hljs-string">'error'</span>, reject)
213})
214
215<span class="hljs-keyword">let</span> docker = <span class="hljs-keyword">new</span> Docker({ <span class="hljs-attr">socketPath</span>: <span class="hljs-string">'/var/run/docker.sock'</span> })
216
217docker.container.create({
218 <span class="hljs-attr">Image</span>: <span class="hljs-string">'ubuntu'</span>,
219 <span class="hljs-attr">Cmd</span>: [ <span class="hljs-string">'/bin/bash'</span>, <span class="hljs-string">'-c'</span>, <span class="hljs-string">'tail -f /var/log/dmesg'</span> ],
220 <span class="hljs-attr">name</span>: <span class="hljs-string">'test'</span>
221})
222 .then(<span class="hljs-function">(<span class="hljs-params">container</span>) =&gt;</span> container.start())
223 .then(<span class="hljs-function">(<span class="hljs-params">_container</span>) =&gt;</span> {
224 container = _container
225 <span class="hljs-keyword">return</span> container.exec.create({
226 <span class="hljs-attr">Cmd</span>: [ <span class="hljs-string">"top"</span> ]
227 })
228 })
229 .then(<span class="hljs-function">(<span class="hljs-params">exec</span>) =&gt;</span> {
230 <span class="hljs-keyword">return</span> exec.start()
231 })
232 .then(<span class="hljs-function">(<span class="hljs-params">stream</span>) =&gt;</span> {
233 stream.on(<span class="hljs-string">'data'</span>, (info) =&gt; {
234 <span class="hljs-built_in">console</span>.log(info.toString())
235 _container.kill()
236 })
237 stream.on(<span class="hljs-string">'error'</span>, (err) =&gt; <span class="hljs-built_in">console</span>.log(err))
238 })
239 .catch(<span class="hljs-function">(<span class="hljs-params">error</span>) =&gt;</span> <span class="hljs-built_in">console</span>.log(error))
240</code></pre>
241 <h3 id="build-inspect-and-remove-an-image">Build, inspect and remove an image</h3>
242 <pre><code class="lang-js"><span class="hljs-keyword">const</span> Docker = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-docker-api'</span>).Docker,
243 tar = <span class="hljs-built_in">require</span>(<span class="hljs-string">'tar-fs'</span>)
244
245<span class="hljs-keyword">const</span> promisifyStream = <span class="hljs-function">(<span class="hljs-params">stream</span>) =&gt;</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Promise</span>(<span class="hljs-function">(<span class="hljs-params">resolve, reject</span>) =&gt;</span> {
246 stream.on(<span class="hljs-string">'data'</span>, (d) =&gt; <span class="hljs-built_in">console</span>.log(d.toString()))
247 stream.on(<span class="hljs-string">'end'</span>, resolve)
248 stream.on(<span class="hljs-string">'error'</span>, reject)
249})
250
251<span class="hljs-keyword">let</span> docker = <span class="hljs-keyword">new</span> Docker({ <span class="hljs-attr">socketPath</span>: <span class="hljs-string">'/var/run/docker.sock'</span> })
252
253<span class="hljs-keyword">var</span> tarStream = tar.pack(<span class="hljs-string">'/path/to/Dockerfile'</span>)
254docker.image.build(tarStream, {
255 <span class="hljs-attr">t</span>: <span class="hljs-string">'testimg'</span>
256})
257 .then(<span class="hljs-function">(<span class="hljs-params">stream</span>) =&gt;</span> promisifyStream(stream))
258 .then(<span class="hljs-function"><span class="hljs-params">()</span> =&gt;</span> docker.image.status(<span class="hljs-string">'testimg'</span>))
259 .then(<span class="hljs-function">(<span class="hljs-params">image</span>) =&gt;</span> image.remove())
260 .catch(<span class="hljs-function">(<span class="hljs-params">error</span>) =&gt;</span> <span class="hljs-built_in">console</span>.log(error))
261</code></pre>
262 <h3 id="pull-and-check-history-of-an-image">Pull and check history of an image</h3>
263 <pre><code class="lang-js"><span class="hljs-keyword">const</span> Docker = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-docker-api'</span>).Docker
264
265<span class="hljs-keyword">const</span> promisifyStream = <span class="hljs-function">(<span class="hljs-params">stream</span>) =&gt;</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Promise</span>(<span class="hljs-function">(<span class="hljs-params">resolve, reject</span>) =&gt;</span> {
266 stream.on(<span class="hljs-string">'data'</span>, (d) =&gt; <span class="hljs-built_in">console</span>.log(d.toString()))
267 stream.on(<span class="hljs-string">'end'</span>, resolve)
268 stream.on(<span class="hljs-string">'error'</span>, reject)
269})
270
271<span class="hljs-keyword">let</span> docker = <span class="hljs-keyword">new</span> Docker({ <span class="hljs-attr">socketPath</span>: <span class="hljs-string">'/var/run/docker.sock'</span> })
272
273<span class="hljs-keyword">return</span> docker.image.create({}, { <span class="hljs-attr">fromImage</span>: <span class="hljs-string">'ubuntu'</span>, <span class="hljs-attr">tag</span>: <span class="hljs-string">'latest'</span> })
274 .then(<span class="hljs-function">(<span class="hljs-params">stream</span>) =&gt;</span> promisifyStream(stream))
275 .then(<span class="hljs-function"><span class="hljs-params">()</span> =&gt;</span> docker.image.status(<span class="hljs-string">'ubuntu'</span>))
276 .then(<span class="hljs-function">(<span class="hljs-params">image</span>) =&gt;</span> image.history())
277 .then(<span class="hljs-function">(<span class="hljs-params">events</span>) =&gt;</span> <span class="hljs-built_in">console</span>.log(events))
278 .catch(<span class="hljs-function">(<span class="hljs-params">error</span>) =&gt;</span> <span class="hljs-built_in">console</span>.log(error))
279</code></pre>
280 <h3 id="fetch-events-from-docker">Fetch events from docker</h3>
281 <pre><code class="lang-js"><span class="hljs-keyword">const</span> Docker = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-docker-api'</span>).Docker,
282 fs = <span class="hljs-built_in">require</span>(<span class="hljs-string">'fs'</span>)
283
284<span class="hljs-keyword">const</span> promisifyStream = <span class="hljs-function">(<span class="hljs-params">stream</span>) =&gt;</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Promise</span>(<span class="hljs-function">(<span class="hljs-params">resolve, reject</span>) =&gt;</span> {
285 stream.on(<span class="hljs-string">'data'</span>, (d) =&gt; <span class="hljs-built_in">console</span>.log(data))
286 stream.on(<span class="hljs-string">'end'</span>, resolve)
287 stream.on(<span class="hljs-string">'error'</span>, reject)
288})
289
290<span class="hljs-keyword">let</span> docker = <span class="hljs-keyword">new</span> Docker({ <span class="hljs-attr">socketPath</span>: <span class="hljs-string">'/var/run/docker.sock'</span> })
291
292docker.events({
293 <span class="hljs-attr">since</span>: ((<span class="hljs-keyword">new</span> <span class="hljs-built_in">Date</span>().getTime() / <span class="hljs-number">1000</span>) - <span class="hljs-number">60</span>).toFixed(<span class="hljs-number">0</span>)
294})
295 .then(<span class="hljs-function">(<span class="hljs-params">container</span>) =&gt;</span> container.events())
296 .then(<span class="hljs-function">(<span class="hljs-params">stream</span>) =&gt;</span> promisifyStream(stream))
297 .catch(<span class="hljs-function">(<span class="hljs-params">error</span>) =&gt;</span> <span class="hljs-built_in">console</span>.log(error))
298</code></pre>
299 </div>
300 </div>
301 <div class="col-4 col-menu menu-sticky-wrap menu-highlight">
302 <nav class="tsd-navigation primary">
303 <ul>
304 <li class="globals ">
305 <a href="globals.html"><em>Globals</em></a>
306 </li>
307 <li class=" tsd-kind-external-module">
308 <a href="modules/_container_.html">"container"</a>
309 </li>
310 <li class=" tsd-kind-external-module">
311 <a href="modules/_docker_.html">"docker"</a>
312 </li>
313 <li class=" tsd-kind-external-module">
314 <a href="modules/_image_.html">"image"</a>
315 </li>
316 <li class=" tsd-kind-external-module">
317 <a href="modules/_network_.html">"network"</a>
318 </li>
319 <li class=" tsd-kind-external-module">
320 <a href="modules/_node_.html">"node"</a>
321 </li>
322 <li class=" tsd-kind-external-module">
323 <a href="modules/_plugin_.html">"plugin"</a>
324 </li>
325 <li class=" tsd-kind-external-module">
326 <a href="modules/_secret_.html">"secret"</a>
327 </li>
328 <li class=" tsd-kind-external-module">
329 <a href="modules/_service_.html">"service"</a>
330 </li>
331 <li class=" tsd-kind-external-module">
332 <a href="modules/_swarm_.html">"swarm"</a>
333 </li>
334 <li class=" tsd-kind-external-module">
335 <a href="modules/_task_.html">"task"</a>
336 </li>
337 <li class=" tsd-kind-external-module">
338 <a href="modules/_volume_.html">"volume"</a>
339 </li>
340 </ul>
341 </nav>
342 <nav class="tsd-navigation secondary menu-sticky">
343 <ul class="before-current">
344 </ul>
345 </nav>
346 </div>
347 </div>
348</div>
349<footer class="with-border-bottom">
350 <div class="container">
351 <h2>Legend</h2>
352 <div class="tsd-legend-group">
353 <ul class="tsd-legend">
354 <li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
355 <li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
356 <li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
357 <li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
358 <li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
359 <li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
360 <li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
361 </ul>
362 <ul class="tsd-legend">
363 <li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
364 <li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
365 <li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
366 <li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
367 </ul>
368 <ul class="tsd-legend">
369 <li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
370 <li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
371 <li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
372 <li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
373 <li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
374 <li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
375 </ul>
376 <ul class="tsd-legend">
377 <li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
378 <li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
379 <li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
380 <li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
381 <li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
382 <li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
383 <li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
384 </ul>
385 <ul class="tsd-legend">
386 <li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
387 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
388 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
389 <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
390 </ul>
391 <ul class="tsd-legend">
392 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
393 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
394 <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
395 </ul>
396 <ul class="tsd-legend">
397 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
398 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
399 <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
400 </ul>
401 <ul class="tsd-legend">
402 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
403 <li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
404 </ul>
405 </div>
406 </div>
407</footer>
408<div class="container tsd-generator">
409 <p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
410</div>
411<div class="overlay"></div>
412<script src="assets/js/main.js"></script>
413<script>if (location.protocol == 'file:') document.write('<script src="assets/js/search.js"><' + '/script>');</script>
414</body>
415</html>
\No newline at end of file