@qikdev/sdk 1.0.4 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4422 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+
5
+ <meta charset="utf-8">
6
+ <title>utils - Documentation</title>
7
+
8
+
9
+ <script src="scripts/prettify/prettify.js"></script>
10
+ <script src="scripts/prettify/lang-css.js"></script>
11
+ <!--[if lt IE 9]>
12
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
13
+ <![endif]-->
14
+ <link type="text/css" rel="stylesheet" href="styles/prettify.css">
15
+ <link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
16
+ <script src="scripts/nav.js" defer></script>
17
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
18
+ </head>
19
+ <body>
20
+
21
+ <input type="checkbox" id="nav-trigger" class="nav-trigger" />
22
+ <label for="nav-trigger" class="navicon-button x">
23
+ <div class="navicon"></div>
24
+ </label>
25
+
26
+ <label for="nav-trigger" class="overlay"></label>
27
+
28
+ <nav >
29
+
30
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="access.html">access</a><ul class='methods'><li data-type='method'><a href="access.html#.actionableScopes">actionableScopes</a></li><li data-type='method'><a href="access.html#.allPermissions">allPermissions</a></li><li data-type='method'><a href="access.html#.allPermissionTypes">allPermissionTypes</a></li><li data-type='method'><a href="access.html#.allUserScopes">allUserScopes</a></li><li data-type='method'><a href="access.html#.canCreate">canCreate</a></li><li data-type='method'><a href="access.html#.canDeleteItem">canDeleteItem</a></li><li data-type='method'><a href="access.html#.canEditItem">canEditItem</a></li><li data-type='method'><a href="access.html#.canEraseItem">canEraseItem</a></li><li data-type='method'><a href="access.html#.canKnowOf">canKnowOf</a></li><li data-type='method'><a href="access.html#.canListItem">canListItem</a></li><li data-type='method'><a href="access.html#.canRestoreItem">canRestoreItem</a></li><li data-type='method'><a href="access.html#.canViewItem">canViewItem</a></li><li data-type='method'><a href="access.html#.checkActionAccess">checkActionAccess</a></li><li data-type='method'><a href="access.html#.getAllDescendants">getAllDescendants</a></li><li data-type='method'><a href="access.html#.has">has</a></li><li data-type='method'><a href="access.html#.hasFeature">hasFeature</a></li><li data-type='method'><a href="access.html#.hashPermissions">hashPermissions</a></li><li data-type='method'><a href="access.html#.isAdministrator">isAdministrator</a></li><li data-type='method'><a href="access.html#.isAssignee">isAssignee</a></li><li data-type='method'><a href="access.html#.isOwner">isOwner</a></li></ul></li><li><a href="api.html">api</a><ul class='methods'><li data-type='method'><a href="api.html#.generateEndpointURL">generateEndpointURL</a></li></ul></li><li><a href="auth.html">auth</a><ul class='methods'><li data-type='method'><a href="auth.html#.changeOrganisation">changeOrganisation</a></li><li data-type='method'><a href="auth.html#.ensureValidToken">ensureValidToken</a></li><li data-type='method'><a href="auth.html#.getCurrentToken">getCurrentToken</a></li><li data-type='method'><a href="auth.html#.getCurrentUser">getCurrentUser</a></li><li data-type='method'><a href="auth.html#.impersonate">impersonate</a></li><li data-type='method'><a href="auth.html#.login">login</a></li><li data-type='method'><a href="auth.html#.logout">logout</a></li><li data-type='method'><a href="auth.html#.retrieveUserFromResetToken">retrieveUserFromResetToken</a></li><li data-type='method'><a href="auth.html#.sendResetPasswordRequest">sendResetPasswordRequest</a></li><li data-type='method'><a href="auth.html#.set">set</a></li><li data-type='method'><a href="auth.html#.sync">sync</a></li><li data-type='method'><a href="auth.html#.updateUserWithToken">updateUserWithToken</a></li></ul></li><li><a href="cache.html">cache</a><ul class='methods'><li data-type='method'><a href="cache.html#.get">get</a></li><li data-type='method'><a href="cache.html#.reset">reset</a></li></ul></li><li><a href="content.html">content</a><ul class='methods'><li data-type='method'><a href="content.html#.create">create</a></li><li data-type='method'><a href="content.html#.delete">delete</a></li><li data-type='method'><a href="content.html#.get">get</a></li><li data-type='method'><a href="content.html#.getFromSlug">getFromSlug</a></li><li data-type='method'><a href="content.html#.glossary">glossary</a></li><li data-type='method'><a href="content.html#.list">list</a></li><li data-type='method'><a href="content.html#.patch">patch</a></li><li data-type='method'><a href="content.html#.restore">restore</a></li><li data-type='method'><a href="content.html#.scopeGlossary">scopeGlossary</a></li><li data-type='method'><a href="content.html#.update">update</a></li><li data-type='method'><a href="content.html#.validateField">validateField</a></li><li data-type='method'><a href="content.html#.variables">variables</a></li></ul></li><li><a href="files.html">files</a><ul class='methods'><li data-type='method'><a href="files.html#.downloadUrl">downloadUrl</a></li><li data-type='method'><a href="files.html#.duration">duration</a></li><li data-type='method'><a href="files.html#.filesize">filesize</a></li><li data-type='method'><a href="files.html#.getBinaryTypeFromMime">getBinaryTypeFromMime</a></li><li data-type='method'><a href="files.html#.mediaUrl">mediaUrl</a></li></ul></li><li><a href="filter.html">filter</a><ul class='methods'><li data-type='method'><a href="filter.html#.activeFilterComparators">activeFilterComparators</a></li><li data-type='method'><a href="filter.html#.activeFilterKeys">activeFilterKeys</a></li><li data-type='method'><a href="filter.html#.activeFilterOperators">activeFilterOperators</a></li><li data-type='method'><a href="filter.html#.activeFilters">activeFilters</a></li><li data-type='method'><a href="filter.html#.activeFilterValues">activeFilterValues</a></li><li data-type='method'><a href="filter.html#.filterChangeString">filterChangeString</a></li><li data-type='method'><a href="filter.html#.isValidFilter">isValidFilter</a></li></ul></li><li><a href="geo.html">geo</a><ul class='methods'><li data-type='method'><a href="geo.html#.distance">distance</a></li><li data-type='method'><a href="geo.html#.getDefaultCountry">getDefaultCountry</a></li><li data-type='method'><a href="geo.html#.getDefaultTimezone">getDefaultTimezone</a></li><li data-type='method'><a href="geo.html#.getPosition">getPosition</a></li><li data-type='method'><a href="geo.html#.stopWatchPosition">stopWatchPosition</a></li><li data-type='method'><a href="geo.html#.watchPosition">watchPosition</a></li></ul></li><li><a href="module-QikStorage-CookieStorageAdapter.html">CookieStorageAdapter</a><ul class='methods'><li data-type='method'><a href="module-QikStorage-CookieStorageAdapter.html#getCookieOptions">getCookieOptions</a></li><li data-type='method'><a href="module-QikStorage-CookieStorageAdapter.html#isCookieMode">isCookieMode</a></li></ul></li><li><a href="module-QikStorage-LocalStorageAdapter.html">LocalStorageAdapter</a></li><li><a href="module-QikStorage-StorageAdapter.html">StorageAdapter</a><ul class='methods'><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#clearUser">clearUser</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#getAccessToken">getAccessToken</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#getRefreshToken">getRefreshToken</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#getTokenExpiry">getTokenExpiry</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#getUser">getUser</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#isAvailable">isAvailable</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#setUser">setUser</a></li></ul></li><li><a href="socket.html">socket</a><ul class='methods'><li data-type='method'><a href="socket.html#.channel">channel</a></li><li data-type='method'><a href="socket.html#.close">close</a></li><li data-type='method'><a href="socket.html#.connect">connect</a></li><li data-type='method'><a href="socket.html#.reconnect">reconnect</a></li><li data-type='method'><a href="socket.html#.subscribe">subscribe</a></li><li data-type='method'><a href="socket.html#.unsubscribe">unsubscribe</a></li></ul></li><li><a href="system.html">system</a><ul class='methods'><li data-type='method'><a href="system.html#.countries">countries</a></li></ul></li><li><a href="utils.html">utils</a><ul class='methods'><li data-type='method'><a href="utils.html#.cleanValue">cleanValue</a></li><li data-type='method'><a href="utils.html#.comma">comma</a></li><li data-type='method'><a href="utils.html#.errorMessage">errorMessage</a></li><li data-type='method'><a href="utils.html#.exists">exists</a></li><li data-type='method'><a href="utils.html#.extractFromArray">extractFromArray</a></li><li data-type='method'><a href="utils.html#.formatCurrency">formatCurrency</a></li><li data-type='method'><a href="utils.html#.getTypeFromID">getTypeFromID</a></li><li data-type='method'><a href="utils.html#.guid">guid</a></li><li data-type='method'><a href="utils.html#.hash">hash</a></li><li data-type='method'><a href="utils.html#.id">id</a></li><li data-type='method'><a href="utils.html#.ids">ids</a></li><li data-type='method'><a href="utils.html#.isValidEmailAddress">isValidEmailAddress</a></li><li data-type='method'><a href="utils.html#.loadExternalScript">loadExternalScript</a></li><li data-type='method'><a href="utils.html#.loadExternalStyle">loadExternalStyle</a></li><li data-type='method'><a href="utils.html#.machineName">machineName</a></li><li data-type='method'><a href="utils.html#.mapParameters">mapParameters</a></li><li data-type='method'><a href="utils.html#.matchInArray">matchInArray</a></li><li data-type='method'><a href="utils.html#.parseBoolean">parseBoolean</a></li><li data-type='method'><a href="utils.html#.parseDate">parseDate</a></li><li data-type='method'><a href="utils.html#.parseEmail">parseEmail</a></li><li data-type='method'><a href="utils.html#.parseInt">parseInt</a></li><li data-type='method'><a href="utils.html#.parseNumber">parseNumber</a></li><li data-type='method'><a href="utils.html#.parseURL">parseURL</a></li></ul></li></ul><h3>Modules</h3><ul><li><a href="module-QikStorage.html">QikStorage</a><ul class='methods'><li data-type='method'><a href="module-QikStorage.html#.createStorageAdapter">createStorageAdapter</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#EventDispatcher">EventDispatcher</a></li></ul>
31
+ </nav>
32
+
33
+ <div id="main">
34
+
35
+ <h1 class="page-title">utils</h1>
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+ <section>
44
+
45
+ <header>
46
+
47
+ <h2>
48
+ utils
49
+ </h2>
50
+
51
+ <div class="class-description usertext">Utility helper functions — id, ids, hashing, parsing, cleaning, and other general-purpose helpers</div>
52
+
53
+
54
+ </header>
55
+
56
+ <article>
57
+
58
+ <div class="container-overview">
59
+
60
+
61
+
62
+
63
+ <h2>Constructor</h2>
64
+
65
+
66
+ <h4 class="name" id="utils"><span class="type-signature"></span>new utils<span class="signature">()</span><span class="type-signature"></span></h4>
67
+
68
+
69
+
70
+
71
+
72
+
73
+ <dl class="details">
74
+
75
+
76
+ <dt class="tag-source">Source:</dt>
77
+ <dd class="tag-source"><ul class="dummy"><li>
78
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line7">line 7</a>
79
+ </li></ul></dd>
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+ </dl>
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+ </div>
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+ <h3 class="subsection-title">Members</h3>
162
+
163
+
164
+
165
+ <h4 class="name" id=".currencySymbol"><span class="type-signature">(static, constant) </span>currencySymbol<span class="type-signature"></span></h4>
166
+
167
+
168
+
169
+
170
+
171
+ <dl class="details">
172
+
173
+
174
+ <dt class="tag-source">Source:</dt>
175
+ <dd class="tag-source"><ul class="dummy"><li>
176
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line1020">line 1020</a>
177
+ </li></ul></dd>
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+
209
+ </dl>
210
+
211
+
212
+
213
+
214
+
215
+ <div class="description usertext">
216
+ A function that will take a currency string and return the symbol
217
+ </div>
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+ <h5>Example</h5>
226
+
227
+ <pre class="prettyprint"><code>//Returns £
228
+ sdk.utils.currencySymbol('gbp');
229
+
230
+ //Returns $
231
+ sdk.utils.currencySymbol('usd');</code></pre>
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+ <h3 class="subsection-title">Methods</h3>
240
+
241
+
242
+
243
+
244
+
245
+
246
+ <h4 class="name" id=".cleanValue"><span class="type-signature">(static) </span>cleanValue<span class="signature">(data, type, options)</span><span class="type-signature"> &rarr; {*}</span></h4>
247
+
248
+
249
+
250
+
251
+
252
+
253
+ <dl class="details">
254
+
255
+
256
+ <dt class="tag-source">Source:</dt>
257
+ <dd class="tag-source"><ul class="dummy"><li>
258
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line400">line 400</a>
259
+ </li></ul></dd>
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+ </dl>
292
+
293
+
294
+
295
+
296
+
297
+ <div class="description usertext">
298
+ A helper function for cleaning an input value to match
299
+ a required type
300
+ </div>
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+ <h5>Example</h5>
311
+
312
+ <pre class="prettyprint"><code>sdk.utils.cleanValue({_id:'1234', title:'Item'...}, 'reference'); // returns '1234'
313
+ sdk.utils.cleanValue('true', 'boolean'); // returns true
314
+ sdk.utils.cleanValue('Mr Rogers House', 'key'); // returns 'mrRogersHouse';
315
+ sdk.utils.cleanValue('Hello.World@email.COM', 'email'); // returns 'hello.world@email.com';</code></pre>
316
+
317
+
318
+
319
+
320
+ <h5>Parameters:</h5>
321
+
322
+
323
+ <table class="params">
324
+ <thead>
325
+ <tr>
326
+
327
+ <th>Name</th>
328
+
329
+
330
+ <th>Type</th>
331
+
332
+
333
+
334
+
335
+
336
+ <th class="last">Description</th>
337
+ </tr>
338
+ </thead>
339
+
340
+ <tbody>
341
+
342
+
343
+ <tr>
344
+
345
+ <td class="name"><code>data</code></td>
346
+
347
+
348
+ <td class="type">
349
+
350
+
351
+ <span class="param-type">*</span>
352
+
353
+
354
+
355
+ </td>
356
+
357
+
358
+
359
+
360
+
361
+ <td class="description last">The input to clean</td>
362
+ </tr>
363
+
364
+
365
+
366
+ <tr>
367
+
368
+ <td class="name"><code>type</code></td>
369
+
370
+
371
+ <td class="type">
372
+
373
+
374
+ <span class="param-type">String</span>
375
+
376
+
377
+
378
+ </td>
379
+
380
+
381
+
382
+
383
+
384
+ <td class="description last">The data type to parse</td>
385
+ </tr>
386
+
387
+
388
+
389
+ <tr>
390
+
391
+ <td class="name"><code>options</code></td>
392
+
393
+
394
+ <td class="type">
395
+
396
+
397
+ <span class="param-type">Object</span>
398
+
399
+
400
+
401
+ </td>
402
+
403
+
404
+
405
+
406
+
407
+ <td class="description last">Additional options for parsing</td>
408
+ </tr>
409
+
410
+
411
+ </tbody>
412
+ </table>
413
+
414
+
415
+
416
+
417
+
418
+
419
+
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+ <h5>Returns:</h5>
430
+
431
+
432
+ <div class="param-desc">
433
+ the resulting cleaned value
434
+ </div>
435
+
436
+
437
+
438
+ <dl class="param-type">
439
+ <dt>
440
+ Type
441
+ </dt>
442
+ <dd>
443
+
444
+ <span class="param-type">*</span>
445
+
446
+
447
+ </dd>
448
+ </dl>
449
+
450
+
451
+
452
+
453
+
454
+
455
+
456
+
457
+
458
+
459
+ <h4 class="name" id=".comma"><span class="type-signature">(static) </span>comma<span class="signature">(array, path)</span><span class="type-signature"> &rarr; {String}</span></h4>
460
+
461
+
462
+
463
+
464
+
465
+
466
+ <dl class="details">
467
+
468
+
469
+ <dt class="tag-source">Source:</dt>
470
+ <dd class="tag-source"><ul class="dummy"><li>
471
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line1228">line 1228</a>
472
+ </li></ul></dd>
473
+
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+
484
+
485
+
486
+
487
+
488
+
489
+
490
+
491
+
492
+
493
+
494
+
495
+
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+ </dl>
505
+
506
+
507
+
508
+
509
+
510
+ <div class="description usertext">
511
+ A helpful class that can take an array of values and return them as a comma seperated
512
+ string, If the values are objects, then a property to use as the string representation can be specified
513
+ </div>
514
+
515
+
516
+
517
+
518
+
519
+
520
+
521
+
522
+
523
+ <h5>Example</h5>
524
+
525
+ <pre class="prettyprint"><code>//Returns 'cat, dog, bird'
526
+ sdk.utils.comma(['cat', 'dog', 'bird']);
527
+
528
+ //Returns 'cat, dog, bird'
529
+ sdk.utils.comma([{title:'cat'}, {title:'dog'}, {title:'bird'}], 'title');</code></pre>
530
+
531
+
532
+
533
+
534
+ <h5>Parameters:</h5>
535
+
536
+
537
+ <table class="params">
538
+ <thead>
539
+ <tr>
540
+
541
+ <th>Name</th>
542
+
543
+
544
+ <th>Type</th>
545
+
546
+
547
+
548
+
549
+
550
+ <th class="last">Description</th>
551
+ </tr>
552
+ </thead>
553
+
554
+ <tbody>
555
+
556
+
557
+ <tr>
558
+
559
+ <td class="name"><code>array</code></td>
560
+
561
+
562
+ <td class="type">
563
+
564
+
565
+ <span class="param-type">Array</span>
566
+
567
+
568
+
569
+ </td>
570
+
571
+
572
+
573
+
574
+
575
+ <td class="description last">The array of values to translate</td>
576
+ </tr>
577
+
578
+
579
+
580
+ <tr>
581
+
582
+ <td class="name"><code>path</code></td>
583
+
584
+
585
+ <td class="type">
586
+
587
+
588
+ <span class="param-type">String</span>
589
+
590
+
591
+
592
+ </td>
593
+
594
+
595
+
596
+
597
+
598
+ <td class="description last">An optional property key to use for each value</td>
599
+ </tr>
600
+
601
+
602
+ </tbody>
603
+ </table>
604
+
605
+
606
+
607
+
608
+
609
+
610
+
611
+
612
+
613
+
614
+
615
+
616
+
617
+
618
+
619
+
620
+ <h5>Returns:</h5>
621
+
622
+
623
+ <div class="param-desc">
624
+ The resulting comma seperated string
625
+ </div>
626
+
627
+
628
+
629
+ <dl class="param-type">
630
+ <dt>
631
+ Type
632
+ </dt>
633
+ <dd>
634
+
635
+ <span class="param-type">String</span>
636
+
637
+
638
+ </dd>
639
+ </dl>
640
+
641
+
642
+
643
+
644
+
645
+
646
+
647
+
648
+
649
+
650
+ <h4 class="name" id=".errorMessage"><span class="type-signature">(static) </span>errorMessage<span class="signature">(error)</span><span class="type-signature"> &rarr; {String}</span></h4>
651
+
652
+
653
+
654
+
655
+
656
+
657
+ <dl class="details">
658
+
659
+
660
+ <dt class="tag-source">Source:</dt>
661
+ <dd class="tag-source"><ul class="dummy"><li>
662
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line1349">line 1349</a>
663
+ </li></ul></dd>
664
+
665
+
666
+
667
+
668
+
669
+
670
+
671
+
672
+
673
+
674
+
675
+
676
+
677
+
678
+
679
+
680
+
681
+
682
+
683
+
684
+
685
+
686
+
687
+
688
+
689
+
690
+
691
+
692
+
693
+
694
+
695
+ </dl>
696
+
697
+
698
+
699
+
700
+
701
+ <div class="description usertext">
702
+ Helper function for retrieving a human readable error message from server error response objects
703
+ </div>
704
+
705
+
706
+
707
+
708
+
709
+
710
+
711
+
712
+
713
+
714
+
715
+ <h5>Parameters:</h5>
716
+
717
+
718
+ <table class="params">
719
+ <thead>
720
+ <tr>
721
+
722
+ <th>Name</th>
723
+
724
+
725
+ <th>Type</th>
726
+
727
+
728
+
729
+
730
+
731
+ <th class="last">Description</th>
732
+ </tr>
733
+ </thead>
734
+
735
+ <tbody>
736
+
737
+
738
+ <tr>
739
+
740
+ <td class="name"><code>error</code></td>
741
+
742
+
743
+ <td class="type">
744
+
745
+
746
+ <span class="param-type">Object</span>
747
+
748
+
749
+
750
+ </td>
751
+
752
+
753
+
754
+
755
+
756
+ <td class="description last">The error object to translate</td>
757
+ </tr>
758
+
759
+
760
+ </tbody>
761
+ </table>
762
+
763
+
764
+
765
+
766
+
767
+
768
+
769
+
770
+
771
+
772
+
773
+
774
+
775
+
776
+
777
+
778
+ <h5>Returns:</h5>
779
+
780
+
781
+ <div class="param-desc">
782
+ The resulting human readable error message
783
+ </div>
784
+
785
+
786
+
787
+ <dl class="param-type">
788
+ <dt>
789
+ Type
790
+ </dt>
791
+ <dd>
792
+
793
+ <span class="param-type">String</span>
794
+
795
+
796
+ </dd>
797
+ </dl>
798
+
799
+
800
+
801
+
802
+
803
+
804
+
805
+
806
+
807
+
808
+ <h4 class="name" id=".exists"><span class="type-signature">(static) </span>exists<span class="signature">(value)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
809
+
810
+
811
+
812
+
813
+
814
+
815
+ <dl class="details">
816
+
817
+
818
+ <dt class="tag-source">Source:</dt>
819
+ <dd class="tag-source"><ul class="dummy"><li>
820
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line123">line 123</a>
821
+ </li></ul></dd>
822
+
823
+
824
+
825
+
826
+
827
+
828
+
829
+
830
+
831
+
832
+
833
+
834
+
835
+
836
+
837
+
838
+
839
+
840
+
841
+
842
+
843
+
844
+
845
+
846
+
847
+
848
+
849
+
850
+
851
+
852
+
853
+ </dl>
854
+
855
+
856
+
857
+
858
+
859
+ <div class="description usertext">
860
+ A helper function for checking whether a value is truthy/falsy
861
+ </div>
862
+
863
+
864
+
865
+
866
+
867
+
868
+
869
+
870
+
871
+ <h5>Example</h5>
872
+
873
+ <pre class="prettyprint"><code>sdk.utils.exists('undefined'); // false
874
+ sdk.utils.exists([]); // true
875
+ sdk.utils.exists(''); // false
876
+ sdk.utils.exists(undefined); // false</code></pre>
877
+
878
+
879
+
880
+
881
+ <h5>Parameters:</h5>
882
+
883
+
884
+ <table class="params">
885
+ <thead>
886
+ <tr>
887
+
888
+ <th>Name</th>
889
+
890
+
891
+ <th>Type</th>
892
+
893
+
894
+
895
+
896
+
897
+ <th class="last">Description</th>
898
+ </tr>
899
+ </thead>
900
+
901
+ <tbody>
902
+
903
+
904
+ <tr>
905
+
906
+ <td class="name"><code>value</code></td>
907
+
908
+
909
+ <td class="type">
910
+
911
+
912
+ <span class="param-type">Anything</span>
913
+
914
+
915
+
916
+ </td>
917
+
918
+
919
+
920
+
921
+
922
+ <td class="description last">The value to check</td>
923
+ </tr>
924
+
925
+
926
+ </tbody>
927
+ </table>
928
+
929
+
930
+
931
+
932
+
933
+
934
+
935
+
936
+
937
+
938
+
939
+
940
+
941
+
942
+
943
+
944
+ <h5>Returns:</h5>
945
+
946
+
947
+ <div class="param-desc">
948
+ whether the value is truthy
949
+ </div>
950
+
951
+
952
+
953
+ <dl class="param-type">
954
+ <dt>
955
+ Type
956
+ </dt>
957
+ <dd>
958
+
959
+ <span class="param-type">Boolean</span>
960
+
961
+
962
+ </dd>
963
+ </dl>
964
+
965
+
966
+
967
+
968
+
969
+
970
+
971
+
972
+
973
+
974
+ <h4 class="name" id=".extractFromArray"><span class="type-signature">(static) </span>extractFromArray<span class="signature">(array, key, sum, flatten, unique, exclude, options)</span><span class="type-signature"> &rarr; {Array}</span></h4>
975
+
976
+
977
+
978
+
979
+
980
+
981
+ <dl class="details">
982
+
983
+
984
+ <dt class="tag-source">Source:</dt>
985
+ <dd class="tag-source"><ul class="dummy"><li>
986
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line1096">line 1096</a>
987
+ </li></ul></dd>
988
+
989
+
990
+
991
+
992
+
993
+
994
+
995
+
996
+
997
+
998
+
999
+
1000
+
1001
+
1002
+
1003
+
1004
+
1005
+
1006
+
1007
+
1008
+
1009
+
1010
+
1011
+
1012
+
1013
+
1014
+
1015
+
1016
+
1017
+
1018
+
1019
+ </dl>
1020
+
1021
+
1022
+
1023
+
1024
+
1025
+ <div class="description usertext">
1026
+ Returns a subset of values in an array that match a provided rule
1027
+ </div>
1028
+
1029
+
1030
+
1031
+
1032
+
1033
+
1034
+
1035
+
1036
+
1037
+ <h5>Example</h5>
1038
+
1039
+ <pre class="prettyprint"><code>//Returns [12, 45] as all the values
1040
+ sdk.utils.extractFromArray([{name:'Wendy', age:12}, {name:'Roger', age:45}], 'age');
1041
+
1042
+ //Returns 32
1043
+ sdk.utils.extractFromArray([{name:'Wendy', age:12}, {name:'Roger', age:20}], 'age', {sum:true});</code></pre>
1044
+
1045
+
1046
+
1047
+
1048
+ <h5>Parameters:</h5>
1049
+
1050
+
1051
+ <table class="params">
1052
+ <thead>
1053
+ <tr>
1054
+
1055
+ <th>Name</th>
1056
+
1057
+
1058
+ <th>Type</th>
1059
+
1060
+
1061
+
1062
+
1063
+
1064
+ <th class="last">Description</th>
1065
+ </tr>
1066
+ </thead>
1067
+
1068
+ <tbody>
1069
+
1070
+
1071
+ <tr>
1072
+
1073
+ <td class="name"><code>array</code></td>
1074
+
1075
+
1076
+ <td class="type">
1077
+
1078
+
1079
+ <span class="param-type">Array</span>
1080
+
1081
+
1082
+
1083
+ </td>
1084
+
1085
+
1086
+
1087
+
1088
+
1089
+ <td class="description last">The array you want to extract values from</td>
1090
+ </tr>
1091
+
1092
+
1093
+
1094
+ <tr>
1095
+
1096
+ <td class="name"><code>key</code></td>
1097
+
1098
+
1099
+ <td class="type">
1100
+
1101
+
1102
+ <span class="param-type">String</span>
1103
+
1104
+
1105
+
1106
+ </td>
1107
+
1108
+
1109
+
1110
+
1111
+
1112
+ <td class="description last">The path to the child property you want to extract</td>
1113
+ </tr>
1114
+
1115
+
1116
+
1117
+ <tr>
1118
+
1119
+ <td class="name"><code>sum</code></td>
1120
+
1121
+
1122
+ <td class="type">
1123
+
1124
+
1125
+ <span class="param-type">Boolean</span>
1126
+
1127
+
1128
+
1129
+ </td>
1130
+
1131
+
1132
+
1133
+
1134
+
1135
+ <td class="description last">Whether to sum the extracted values together in total</td>
1136
+ </tr>
1137
+
1138
+
1139
+
1140
+ <tr>
1141
+
1142
+ <td class="name"><code>flatten</code></td>
1143
+
1144
+
1145
+ <td class="type">
1146
+
1147
+
1148
+ <span class="param-type">Boolean</span>
1149
+
1150
+
1151
+
1152
+ </td>
1153
+
1154
+
1155
+
1156
+
1157
+
1158
+ <td class="description last">Whether to flatten nested child arrays</td>
1159
+ </tr>
1160
+
1161
+
1162
+
1163
+ <tr>
1164
+
1165
+ <td class="name"><code>unique</code></td>
1166
+
1167
+
1168
+ <td class="type">
1169
+
1170
+
1171
+ <span class="param-type">Boolean</span>
1172
+
1173
+
1174
+
1175
+ </td>
1176
+
1177
+
1178
+
1179
+
1180
+
1181
+ <td class="description last">Whether to only return unique values</td>
1182
+ </tr>
1183
+
1184
+
1185
+
1186
+ <tr>
1187
+
1188
+ <td class="name"><code>exclude</code></td>
1189
+
1190
+
1191
+ <td class="type">
1192
+
1193
+
1194
+ <span class="param-type">Boolean</span>
1195
+
1196
+
1197
+
1198
+ </td>
1199
+
1200
+
1201
+
1202
+
1203
+
1204
+ <td class="description last">Whether to exclude null or undefined values</td>
1205
+ </tr>
1206
+
1207
+
1208
+
1209
+ <tr>
1210
+
1211
+ <td class="name"><code>options</code></td>
1212
+
1213
+
1214
+ <td class="type">
1215
+
1216
+
1217
+ <span class="param-type">Object</span>
1218
+
1219
+
1220
+
1221
+ </td>
1222
+
1223
+
1224
+
1225
+
1226
+
1227
+ <td class="description last">Pass through extra options for how to extract the values</td>
1228
+ </tr>
1229
+
1230
+
1231
+ </tbody>
1232
+ </table>
1233
+
1234
+
1235
+
1236
+
1237
+
1238
+
1239
+
1240
+
1241
+
1242
+
1243
+
1244
+
1245
+
1246
+
1247
+
1248
+
1249
+ <h5>Returns:</h5>
1250
+
1251
+
1252
+ <div class="param-desc">
1253
+ An array of all values retrieved from the array, unless provided arguments require otherwise
1254
+ </div>
1255
+
1256
+
1257
+
1258
+ <dl class="param-type">
1259
+ <dt>
1260
+ Type
1261
+ </dt>
1262
+ <dd>
1263
+
1264
+ <span class="param-type">Array</span>
1265
+
1266
+
1267
+ </dd>
1268
+ </dl>
1269
+
1270
+
1271
+
1272
+
1273
+
1274
+
1275
+
1276
+
1277
+
1278
+
1279
+ <h4 class="name" id=".formatCurrency"><span class="type-signature">(static) </span>formatCurrency<span class="signature">(value, currency)</span><span class="type-signature"> &rarr; {String}</span></h4>
1280
+
1281
+
1282
+
1283
+
1284
+
1285
+
1286
+ <dl class="details">
1287
+
1288
+
1289
+ <dt class="tag-source">Source:</dt>
1290
+ <dd class="tag-source"><ul class="dummy"><li>
1291
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line912">line 912</a>
1292
+ </li></ul></dd>
1293
+
1294
+
1295
+
1296
+
1297
+
1298
+
1299
+
1300
+
1301
+
1302
+
1303
+
1304
+
1305
+
1306
+
1307
+
1308
+
1309
+
1310
+
1311
+
1312
+
1313
+
1314
+
1315
+
1316
+
1317
+
1318
+
1319
+
1320
+
1321
+
1322
+
1323
+
1324
+ </dl>
1325
+
1326
+
1327
+
1328
+
1329
+
1330
+ <div class="description usertext">
1331
+ A function that will take an integer and a currency string and return a formatted numeric amount rounded to 2 decimal places
1332
+ </div>
1333
+
1334
+
1335
+
1336
+
1337
+
1338
+
1339
+
1340
+
1341
+
1342
+ <h5>Example</h5>
1343
+
1344
+ <pre class="prettyprint"><code>//Returns £10.00
1345
+ sdk.utils.formatCurrency(1000, 'gbp');
1346
+
1347
+ //Returns $10.00
1348
+ sdk.utils.formatCurrency(1000, 'usd');</code></pre>
1349
+
1350
+
1351
+
1352
+
1353
+ <h5>Parameters:</h5>
1354
+
1355
+
1356
+ <table class="params">
1357
+ <thead>
1358
+ <tr>
1359
+
1360
+ <th>Name</th>
1361
+
1362
+
1363
+ <th>Type</th>
1364
+
1365
+
1366
+
1367
+
1368
+
1369
+ <th class="last">Description</th>
1370
+ </tr>
1371
+ </thead>
1372
+
1373
+ <tbody>
1374
+
1375
+
1376
+ <tr>
1377
+
1378
+ <td class="name"><code>value</code></td>
1379
+
1380
+
1381
+ <td class="type">
1382
+
1383
+
1384
+ <span class="param-type">Integer</span>
1385
+
1386
+
1387
+
1388
+ </td>
1389
+
1390
+
1391
+
1392
+
1393
+
1394
+ <td class="description last">The amount in cents</td>
1395
+ </tr>
1396
+
1397
+
1398
+
1399
+ <tr>
1400
+
1401
+ <td class="name"><code>currency</code></td>
1402
+
1403
+
1404
+ <td class="type">
1405
+
1406
+
1407
+ <span class="param-type">String</span>
1408
+
1409
+
1410
+
1411
+ </td>
1412
+
1413
+
1414
+
1415
+
1416
+
1417
+ <td class="description last">The currency to format</td>
1418
+ </tr>
1419
+
1420
+
1421
+ </tbody>
1422
+ </table>
1423
+
1424
+
1425
+
1426
+
1427
+
1428
+
1429
+
1430
+
1431
+
1432
+
1433
+
1434
+
1435
+
1436
+
1437
+
1438
+
1439
+ <h5>Returns:</h5>
1440
+
1441
+
1442
+ <div class="param-desc">
1443
+ The formatted value
1444
+ </div>
1445
+
1446
+
1447
+
1448
+ <dl class="param-type">
1449
+ <dt>
1450
+ Type
1451
+ </dt>
1452
+ <dd>
1453
+
1454
+ <span class="param-type">String</span>
1455
+
1456
+
1457
+ </dd>
1458
+ </dl>
1459
+
1460
+
1461
+
1462
+
1463
+
1464
+
1465
+
1466
+
1467
+
1468
+
1469
+ <h4 class="name" id=".getTypeFromID"><span class="type-signature">(static) </span>getTypeFromID<span class="signature">(id)</span><span class="type-signature"> &rarr; {String}</span></h4>
1470
+
1471
+
1472
+
1473
+
1474
+
1475
+
1476
+ <dl class="details">
1477
+
1478
+
1479
+ <dt class="tag-source">Source:</dt>
1480
+ <dd class="tag-source"><ul class="dummy"><li>
1481
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line937">line 937</a>
1482
+ </li></ul></dd>
1483
+
1484
+
1485
+
1486
+
1487
+
1488
+
1489
+
1490
+
1491
+
1492
+
1493
+
1494
+
1495
+
1496
+
1497
+
1498
+
1499
+
1500
+
1501
+
1502
+
1503
+
1504
+
1505
+
1506
+
1507
+
1508
+
1509
+
1510
+
1511
+
1512
+
1513
+
1514
+ </dl>
1515
+
1516
+
1517
+
1518
+
1519
+
1520
+ <div class="description usertext">
1521
+ A function that will take an id and return the type key
1522
+ </div>
1523
+
1524
+
1525
+
1526
+
1527
+
1528
+
1529
+
1530
+
1531
+
1532
+ <h5>Example</h5>
1533
+
1534
+ <pre class="prettyprint"><code>// Returns 'user'
1535
+ sdk.utils.getTypeFromID('52b523f775beea960013f6cd');
1536
+
1537
+ // Returns 'role'
1538
+ sdk.utils.getTypeFromID('62b59cb572fb4772e7b5fa93');</code></pre>
1539
+
1540
+
1541
+
1542
+
1543
+ <h5>Parameters:</h5>
1544
+
1545
+
1546
+ <table class="params">
1547
+ <thead>
1548
+ <tr>
1549
+
1550
+ <th>Name</th>
1551
+
1552
+
1553
+ <th>Type</th>
1554
+
1555
+
1556
+
1557
+
1558
+
1559
+ <th class="last">Description</th>
1560
+ </tr>
1561
+ </thead>
1562
+
1563
+ <tbody>
1564
+
1565
+
1566
+ <tr>
1567
+
1568
+ <td class="name"><code>id</code></td>
1569
+
1570
+
1571
+ <td class="type">
1572
+
1573
+
1574
+ <span class="param-type">String</span>
1575
+
1576
+
1577
+
1578
+ </td>
1579
+
1580
+
1581
+
1582
+
1583
+
1584
+ <td class="description last">The id of an object</td>
1585
+ </tr>
1586
+
1587
+
1588
+ </tbody>
1589
+ </table>
1590
+
1591
+
1592
+
1593
+
1594
+
1595
+
1596
+
1597
+
1598
+
1599
+
1600
+
1601
+
1602
+
1603
+
1604
+
1605
+
1606
+ <h5>Returns:</h5>
1607
+
1608
+
1609
+ <div class="param-desc">
1610
+ The key
1611
+ </div>
1612
+
1613
+
1614
+
1615
+ <dl class="param-type">
1616
+ <dt>
1617
+ Type
1618
+ </dt>
1619
+ <dd>
1620
+
1621
+ <span class="param-type">String</span>
1622
+
1623
+
1624
+ </dd>
1625
+ </dl>
1626
+
1627
+
1628
+
1629
+
1630
+
1631
+
1632
+
1633
+
1634
+
1635
+
1636
+ <h4 class="name" id=".guid"><span class="type-signature">(static) </span>guid<span class="signature">()</span><span class="type-signature"> &rarr; {String}</span></h4>
1637
+
1638
+
1639
+
1640
+
1641
+
1642
+
1643
+ <dl class="details">
1644
+
1645
+
1646
+ <dt class="tag-source">Source:</dt>
1647
+ <dd class="tag-source"><ul class="dummy"><li>
1648
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line1382">line 1382</a>
1649
+ </li></ul></dd>
1650
+
1651
+
1652
+
1653
+
1654
+
1655
+
1656
+
1657
+
1658
+
1659
+
1660
+
1661
+
1662
+
1663
+
1664
+
1665
+
1666
+
1667
+
1668
+
1669
+
1670
+
1671
+
1672
+
1673
+
1674
+
1675
+
1676
+
1677
+
1678
+
1679
+
1680
+
1681
+ </dl>
1682
+
1683
+
1684
+
1685
+
1686
+
1687
+ <div class="description usertext">
1688
+ Generates a globally unique ID, helpful for adding unique keys for iterable loops
1689
+ </div>
1690
+
1691
+
1692
+
1693
+
1694
+
1695
+
1696
+
1697
+
1698
+
1699
+ <h5>Example</h5>
1700
+
1701
+ <pre class="prettyprint"><code>//Returns 4323a78br-z16h-289j-zwl1-938lda334asd
1702
+ sdk.utils.guid()</code></pre>
1703
+
1704
+
1705
+
1706
+
1707
+
1708
+
1709
+
1710
+
1711
+
1712
+
1713
+
1714
+
1715
+
1716
+
1717
+
1718
+
1719
+
1720
+
1721
+ <h5>Returns:</h5>
1722
+
1723
+
1724
+ <div class="param-desc">
1725
+ The new globally unique identifier
1726
+ </div>
1727
+
1728
+
1729
+
1730
+ <dl class="param-type">
1731
+ <dt>
1732
+ Type
1733
+ </dt>
1734
+ <dd>
1735
+
1736
+ <span class="param-type">String</span>
1737
+
1738
+
1739
+ </dd>
1740
+ </dl>
1741
+
1742
+
1743
+
1744
+
1745
+
1746
+
1747
+
1748
+
1749
+
1750
+
1751
+ <h4 class="name" id=".hash"><span class="type-signature">(static) </span>hash<span class="signature">(array, key)</span><span class="type-signature"> &rarr; {Object}</span></h4>
1752
+
1753
+
1754
+
1755
+
1756
+
1757
+
1758
+ <dl class="details">
1759
+
1760
+
1761
+ <dt class="tag-source">Source:</dt>
1762
+ <dd class="tag-source"><ul class="dummy"><li>
1763
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line1066">line 1066</a>
1764
+ </li></ul></dd>
1765
+
1766
+
1767
+
1768
+
1769
+
1770
+
1771
+
1772
+
1773
+
1774
+
1775
+
1776
+
1777
+
1778
+
1779
+
1780
+
1781
+
1782
+
1783
+
1784
+
1785
+
1786
+
1787
+
1788
+
1789
+
1790
+
1791
+
1792
+
1793
+
1794
+
1795
+
1796
+ </dl>
1797
+
1798
+
1799
+
1800
+
1801
+
1802
+ <div class="description usertext">
1803
+ Creates a fast keyed hash object from an array of items
1804
+ </div>
1805
+
1806
+
1807
+
1808
+
1809
+
1810
+
1811
+
1812
+
1813
+
1814
+ <h5>Example</h5>
1815
+
1816
+ <pre class="prettyprint"><code>//Returns { jimbo:{id:'jimbo', title:'Jim Jones'}, {id:'roger', title:'Roger Fellow'} }
1817
+ sdk.utils.hash([{id:'jimbo', title:'Jim Jones'}, {id:'roger', title:'Roger Fellow'}], 'id');</code></pre>
1818
+
1819
+
1820
+
1821
+
1822
+ <h5>Parameters:</h5>
1823
+
1824
+
1825
+ <table class="params">
1826
+ <thead>
1827
+ <tr>
1828
+
1829
+ <th>Name</th>
1830
+
1831
+
1832
+ <th>Type</th>
1833
+
1834
+
1835
+
1836
+
1837
+
1838
+ <th class="last">Description</th>
1839
+ </tr>
1840
+ </thead>
1841
+
1842
+ <tbody>
1843
+
1844
+
1845
+ <tr>
1846
+
1847
+ <td class="name"><code>array</code></td>
1848
+
1849
+
1850
+ <td class="type">
1851
+
1852
+
1853
+ <span class="param-type">Array</span>
1854
+
1855
+
1856
+
1857
+ </td>
1858
+
1859
+
1860
+
1861
+
1862
+
1863
+ <td class="description last">The array of items to convert into a hash</td>
1864
+ </tr>
1865
+
1866
+
1867
+
1868
+ <tr>
1869
+
1870
+ <td class="name"><code>key</code></td>
1871
+
1872
+
1873
+ <td class="type">
1874
+
1875
+
1876
+ <span class="param-type">String</span>
1877
+
1878
+
1879
+
1880
+ </td>
1881
+
1882
+
1883
+
1884
+
1885
+
1886
+ <td class="description last">The key or path to the property on each item to use as the hashed key</td>
1887
+ </tr>
1888
+
1889
+
1890
+ </tbody>
1891
+ </table>
1892
+
1893
+
1894
+
1895
+
1896
+
1897
+
1898
+
1899
+
1900
+
1901
+
1902
+
1903
+
1904
+
1905
+
1906
+
1907
+
1908
+ <h5>Returns:</h5>
1909
+
1910
+
1911
+ <div class="param-desc">
1912
+ A key/value paired object
1913
+ </div>
1914
+
1915
+
1916
+
1917
+ <dl class="param-type">
1918
+ <dt>
1919
+ Type
1920
+ </dt>
1921
+ <dd>
1922
+
1923
+ <span class="param-type">Object</span>
1924
+
1925
+
1926
+ </dd>
1927
+ </dl>
1928
+
1929
+
1930
+
1931
+
1932
+
1933
+
1934
+
1935
+
1936
+
1937
+
1938
+ <h4 class="name" id=".id"><span class="type-signature">(static) </span>id<span class="signature">(input, asObjectID)</span><span class="type-signature"> &rarr; {String}</span></h4>
1939
+
1940
+
1941
+
1942
+
1943
+
1944
+
1945
+ <dl class="details">
1946
+
1947
+
1948
+ <dt class="tag-source">Source:</dt>
1949
+ <dd class="tag-source"><ul class="dummy"><li>
1950
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line1269">line 1269</a>
1951
+ </li></ul></dd>
1952
+
1953
+
1954
+
1955
+
1956
+
1957
+
1958
+
1959
+
1960
+
1961
+
1962
+
1963
+
1964
+
1965
+
1966
+
1967
+
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+
1977
+
1978
+
1979
+
1980
+
1981
+
1982
+
1983
+ </dl>
1984
+
1985
+
1986
+
1987
+
1988
+
1989
+ <div class="description usertext">
1990
+ Returns a specified _id for an object
1991
+ </div>
1992
+
1993
+
1994
+
1995
+
1996
+
1997
+
1998
+
1999
+
2000
+
2001
+ <h5>Example</h5>
2002
+
2003
+ <pre class="prettyprint"><code>//Returns '5cb3d8b3a2219970e6f86927'
2004
+ sdk.utils.id('5cb3d8b3a2219970e6f86927')
2005
+
2006
+ //Returns true
2007
+ typeof service.id({_id:'5cb3d8b3a2219970e6f86927', title, ...}) == 'string';
2008
+ //Returns true
2009
+ typeof service.id({_id:'5cb3d8b3a2219970e6f86927'}, true) == 'object';</code></pre>
2010
+
2011
+
2012
+
2013
+
2014
+ <h5>Parameters:</h5>
2015
+
2016
+
2017
+ <table class="params">
2018
+ <thead>
2019
+ <tr>
2020
+
2021
+ <th>Name</th>
2022
+
2023
+
2024
+ <th>Type</th>
2025
+
2026
+
2027
+
2028
+
2029
+
2030
+ <th class="last">Description</th>
2031
+ </tr>
2032
+ </thead>
2033
+
2034
+ <tbody>
2035
+
2036
+
2037
+ <tr>
2038
+
2039
+ <td class="name"><code>input</code></td>
2040
+
2041
+
2042
+ <td class="type">
2043
+
2044
+
2045
+ <span class="param-type">Object</span>
2046
+
2047
+
2048
+
2049
+ </td>
2050
+
2051
+
2052
+
2053
+
2054
+
2055
+ <td class="description last">An object that is or has an _id property</td>
2056
+ </tr>
2057
+
2058
+
2059
+
2060
+ <tr>
2061
+
2062
+ <td class="name"><code>asObjectID</code></td>
2063
+
2064
+
2065
+ <td class="type">
2066
+
2067
+
2068
+ <span class="param-type">Boolean</span>
2069
+
2070
+
2071
+
2072
+ </td>
2073
+
2074
+
2075
+
2076
+
2077
+
2078
+ <td class="description last">Whether to convert to a Mongo ObjectId</td>
2079
+ </tr>
2080
+
2081
+
2082
+ </tbody>
2083
+ </table>
2084
+
2085
+
2086
+
2087
+
2088
+
2089
+
2090
+
2091
+
2092
+
2093
+
2094
+
2095
+
2096
+
2097
+
2098
+
2099
+
2100
+ <h5>Returns:</h5>
2101
+
2102
+
2103
+ <div class="param-desc">
2104
+ Will return either a string or a Mongo ObjectId
2105
+ </div>
2106
+
2107
+
2108
+
2109
+ <dl class="param-type">
2110
+ <dt>
2111
+ Type
2112
+ </dt>
2113
+ <dd>
2114
+
2115
+ <span class="param-type">String</span>
2116
+
2117
+
2118
+ </dd>
2119
+ </dl>
2120
+
2121
+
2122
+
2123
+
2124
+
2125
+
2126
+
2127
+
2128
+
2129
+
2130
+ <h4 class="name" id=".ids"><span class="type-signature">(static) </span>ids<span class="signature">(array, asObjectID)</span><span class="type-signature"> &rarr; {Array}</span></h4>
2131
+
2132
+
2133
+
2134
+
2135
+
2136
+
2137
+ <dl class="details">
2138
+
2139
+
2140
+ <dt class="tag-source">Source:</dt>
2141
+ <dd class="tag-source"><ul class="dummy"><li>
2142
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line1306">line 1306</a>
2143
+ </li></ul></dd>
2144
+
2145
+
2146
+
2147
+
2148
+
2149
+
2150
+
2151
+
2152
+
2153
+
2154
+
2155
+
2156
+
2157
+
2158
+
2159
+
2160
+
2161
+
2162
+
2163
+
2164
+
2165
+
2166
+
2167
+
2168
+
2169
+
2170
+
2171
+
2172
+
2173
+
2174
+
2175
+ </dl>
2176
+
2177
+
2178
+
2179
+
2180
+
2181
+ <div class="description usertext">
2182
+ Cleans and maps an array of objects to an array of IDs
2183
+ </div>
2184
+
2185
+
2186
+
2187
+
2188
+
2189
+
2190
+
2191
+
2192
+
2193
+ <h5>Example</h5>
2194
+
2195
+ <pre class="prettyprint"><code>//Returns ['5cb3d8b3a2219970e6f86927', '5cb3d8b3a2219970e6f86927', '5cb3d8b3a2219970e6f86927']
2196
+ sdk.utils.ids([{_id:'5cb3d8b3a2219970e6f86927'}, {_id:'5cb3d8b3a2219970e6f86927'}, null, '5cb3d8b3a2219970e6f86927'])</code></pre>
2197
+
2198
+
2199
+
2200
+
2201
+ <h5>Parameters:</h5>
2202
+
2203
+
2204
+ <table class="params">
2205
+ <thead>
2206
+ <tr>
2207
+
2208
+ <th>Name</th>
2209
+
2210
+
2211
+ <th>Type</th>
2212
+
2213
+
2214
+
2215
+
2216
+
2217
+ <th class="last">Description</th>
2218
+ </tr>
2219
+ </thead>
2220
+
2221
+ <tbody>
2222
+
2223
+
2224
+ <tr>
2225
+
2226
+ <td class="name"><code>array</code></td>
2227
+
2228
+
2229
+ <td class="type">
2230
+
2231
+
2232
+ <span class="param-type">Array</span>
2233
+
2234
+
2235
+
2236
+ </td>
2237
+
2238
+
2239
+
2240
+
2241
+
2242
+ <td class="description last">An array of objects or object ids</td>
2243
+ </tr>
2244
+
2245
+
2246
+
2247
+ <tr>
2248
+
2249
+ <td class="name"><code>asObjectID</code></td>
2250
+
2251
+
2252
+ <td class="type">
2253
+
2254
+
2255
+ <span class="param-type">Boolean</span>
2256
+
2257
+
2258
+
2259
+ </td>
2260
+
2261
+
2262
+
2263
+
2264
+
2265
+ <td class="description last">Whether or not to map the ids as Mongo ObjectIds</td>
2266
+ </tr>
2267
+
2268
+
2269
+ </tbody>
2270
+ </table>
2271
+
2272
+
2273
+
2274
+
2275
+
2276
+
2277
+
2278
+
2279
+
2280
+
2281
+
2282
+
2283
+
2284
+
2285
+
2286
+
2287
+ <h5>Returns:</h5>
2288
+
2289
+
2290
+ <div class="param-desc">
2291
+ An array of Ids
2292
+ </div>
2293
+
2294
+
2295
+
2296
+ <dl class="param-type">
2297
+ <dt>
2298
+ Type
2299
+ </dt>
2300
+ <dd>
2301
+
2302
+ <span class="param-type">Array</span>
2303
+
2304
+
2305
+ </dd>
2306
+ </dl>
2307
+
2308
+
2309
+
2310
+
2311
+
2312
+
2313
+
2314
+
2315
+
2316
+
2317
+ <h4 class="name" id=".isValidEmailAddress"><span class="type-signature">(static) </span>isValidEmailAddress<span class="signature">(emailAddress)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
2318
+
2319
+
2320
+
2321
+
2322
+
2323
+
2324
+ <dl class="details">
2325
+
2326
+
2327
+ <dt class="tag-source">Source:</dt>
2328
+ <dd class="tag-source"><ul class="dummy"><li>
2329
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line305">line 305</a>
2330
+ </li></ul></dd>
2331
+
2332
+
2333
+
2334
+
2335
+
2336
+
2337
+
2338
+
2339
+
2340
+
2341
+
2342
+
2343
+
2344
+
2345
+
2346
+
2347
+
2348
+
2349
+
2350
+
2351
+
2352
+
2353
+
2354
+
2355
+
2356
+
2357
+
2358
+
2359
+
2360
+
2361
+
2362
+ </dl>
2363
+
2364
+
2365
+
2366
+
2367
+
2368
+ <div class="description usertext">
2369
+ A helper function for getting a number from some input
2370
+ </div>
2371
+
2372
+
2373
+
2374
+
2375
+
2376
+
2377
+
2378
+
2379
+
2380
+ <h5>Example</h5>
2381
+
2382
+ <pre class="prettyprint"><code>sdk.utils.isValidEmailAddress('123.com'); // Returns false
2383
+ sdk.utils.isValidEmailAddress('hello@world.com'); // Returns true
2384
+ sdk.utils.isValidEmailAddress('something@special.io'); // Returns true</code></pre>
2385
+
2386
+
2387
+
2388
+
2389
+ <h5>Parameters:</h5>
2390
+
2391
+
2392
+ <table class="params">
2393
+ <thead>
2394
+ <tr>
2395
+
2396
+ <th>Name</th>
2397
+
2398
+
2399
+ <th>Type</th>
2400
+
2401
+
2402
+
2403
+
2404
+
2405
+ <th class="last">Description</th>
2406
+ </tr>
2407
+ </thead>
2408
+
2409
+ <tbody>
2410
+
2411
+
2412
+ <tr>
2413
+
2414
+ <td class="name"><code>emailAddress</code></td>
2415
+
2416
+
2417
+ <td class="type">
2418
+
2419
+
2420
+ <span class="param-type">String</span>
2421
+
2422
+
2423
+
2424
+ </td>
2425
+
2426
+
2427
+
2428
+
2429
+
2430
+ <td class="description last">The email to validate</td>
2431
+ </tr>
2432
+
2433
+
2434
+ </tbody>
2435
+ </table>
2436
+
2437
+
2438
+
2439
+
2440
+
2441
+
2442
+
2443
+
2444
+
2445
+
2446
+
2447
+
2448
+
2449
+
2450
+
2451
+
2452
+ <h5>Returns:</h5>
2453
+
2454
+
2455
+ <div class="param-desc">
2456
+ whether or not the input is a valid email address
2457
+ </div>
2458
+
2459
+
2460
+
2461
+ <dl class="param-type">
2462
+ <dt>
2463
+ Type
2464
+ </dt>
2465
+ <dd>
2466
+
2467
+ <span class="param-type">Boolean</span>
2468
+
2469
+
2470
+ </dd>
2471
+ </dl>
2472
+
2473
+
2474
+
2475
+
2476
+
2477
+
2478
+
2479
+
2480
+
2481
+
2482
+ <h4 class="name" id=".loadExternalScript"><span class="type-signature">(static) </span>loadExternalScript<span class="signature">(url)</span><span class="type-signature"> &rarr; {Promise}</span></h4>
2483
+
2484
+
2485
+
2486
+
2487
+
2488
+
2489
+ <dl class="details">
2490
+
2491
+
2492
+ <dt class="tag-source">Source:</dt>
2493
+ <dd class="tag-source"><ul class="dummy"><li>
2494
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line30">line 30</a>
2495
+ </li></ul></dd>
2496
+
2497
+
2498
+
2499
+
2500
+
2501
+
2502
+
2503
+
2504
+
2505
+
2506
+
2507
+
2508
+
2509
+
2510
+
2511
+
2512
+
2513
+
2514
+
2515
+
2516
+
2517
+
2518
+
2519
+
2520
+
2521
+
2522
+
2523
+
2524
+
2525
+
2526
+
2527
+ </dl>
2528
+
2529
+
2530
+
2531
+
2532
+
2533
+ <div class="description usertext">
2534
+ A function that dynamically include an external javascript resource
2535
+ ensuring that it will only be included once
2536
+ </div>
2537
+
2538
+
2539
+
2540
+
2541
+
2542
+
2543
+
2544
+
2545
+
2546
+ <h5>Example</h5>
2547
+
2548
+ <pre class="prettyprint"><code>await sdk.utils.loadExternalScript('https://cdn.javascript.com/external/script.js');</code></pre>
2549
+
2550
+
2551
+
2552
+
2553
+ <h5>Parameters:</h5>
2554
+
2555
+
2556
+ <table class="params">
2557
+ <thead>
2558
+ <tr>
2559
+
2560
+ <th>Name</th>
2561
+
2562
+
2563
+ <th>Type</th>
2564
+
2565
+
2566
+
2567
+
2568
+
2569
+ <th class="last">Description</th>
2570
+ </tr>
2571
+ </thead>
2572
+
2573
+ <tbody>
2574
+
2575
+
2576
+ <tr>
2577
+
2578
+ <td class="name"><code>url</code></td>
2579
+
2580
+
2581
+ <td class="type">
2582
+
2583
+
2584
+ <span class="param-type">String</span>
2585
+
2586
+
2587
+
2588
+ </td>
2589
+
2590
+
2591
+
2592
+
2593
+
2594
+ <td class="description last">The url of the external script</td>
2595
+ </tr>
2596
+
2597
+
2598
+ </tbody>
2599
+ </table>
2600
+
2601
+
2602
+
2603
+
2604
+
2605
+
2606
+
2607
+
2608
+
2609
+
2610
+
2611
+
2612
+
2613
+
2614
+
2615
+
2616
+ <h5>Returns:</h5>
2617
+
2618
+
2619
+ <div class="param-desc">
2620
+ A promise that will be resolved once the script has been loaded
2621
+ </div>
2622
+
2623
+
2624
+
2625
+ <dl class="param-type">
2626
+ <dt>
2627
+ Type
2628
+ </dt>
2629
+ <dd>
2630
+
2631
+ <span class="param-type">Promise</span>
2632
+
2633
+
2634
+ </dd>
2635
+ </dl>
2636
+
2637
+
2638
+
2639
+
2640
+
2641
+
2642
+
2643
+
2644
+
2645
+
2646
+ <h4 class="name" id=".loadExternalStyle"><span class="type-signature">(static) </span>loadExternalStyle<span class="signature">(url)</span><span class="type-signature"> &rarr; {Promise}</span></h4>
2647
+
2648
+
2649
+
2650
+
2651
+
2652
+
2653
+ <dl class="details">
2654
+
2655
+
2656
+ <dt class="tag-source">Source:</dt>
2657
+ <dd class="tag-source"><ul class="dummy"><li>
2658
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line76">line 76</a>
2659
+ </li></ul></dd>
2660
+
2661
+
2662
+
2663
+
2664
+
2665
+
2666
+
2667
+
2668
+
2669
+
2670
+
2671
+
2672
+
2673
+
2674
+
2675
+
2676
+
2677
+
2678
+
2679
+
2680
+
2681
+
2682
+
2683
+
2684
+
2685
+
2686
+
2687
+
2688
+
2689
+
2690
+
2691
+ </dl>
2692
+
2693
+
2694
+
2695
+
2696
+
2697
+ <div class="description usertext">
2698
+ A function that dynamically include an external css resource
2699
+ ensuring that it will only be included once
2700
+ </div>
2701
+
2702
+
2703
+
2704
+
2705
+
2706
+
2707
+
2708
+
2709
+
2710
+ <h5>Example</h5>
2711
+
2712
+ <pre class="prettyprint"><code>await sdk.utils.loadExternalStyle('https://cdn.css.com/external/style.css');</code></pre>
2713
+
2714
+
2715
+
2716
+
2717
+ <h5>Parameters:</h5>
2718
+
2719
+
2720
+ <table class="params">
2721
+ <thead>
2722
+ <tr>
2723
+
2724
+ <th>Name</th>
2725
+
2726
+
2727
+ <th>Type</th>
2728
+
2729
+
2730
+
2731
+
2732
+
2733
+ <th class="last">Description</th>
2734
+ </tr>
2735
+ </thead>
2736
+
2737
+ <tbody>
2738
+
2739
+
2740
+ <tr>
2741
+
2742
+ <td class="name"><code>url</code></td>
2743
+
2744
+
2745
+ <td class="type">
2746
+
2747
+
2748
+ <span class="param-type">String</span>
2749
+
2750
+
2751
+
2752
+ </td>
2753
+
2754
+
2755
+
2756
+
2757
+
2758
+ <td class="description last">The url of the external css</td>
2759
+ </tr>
2760
+
2761
+
2762
+ </tbody>
2763
+ </table>
2764
+
2765
+
2766
+
2767
+
2768
+
2769
+
2770
+
2771
+
2772
+
2773
+
2774
+
2775
+
2776
+
2777
+
2778
+
2779
+
2780
+ <h5>Returns:</h5>
2781
+
2782
+
2783
+ <div class="param-desc">
2784
+ A promise that will be resolved once the css has been loaded
2785
+ </div>
2786
+
2787
+
2788
+
2789
+ <dl class="param-type">
2790
+ <dt>
2791
+ Type
2792
+ </dt>
2793
+ <dd>
2794
+
2795
+ <span class="param-type">Promise</span>
2796
+
2797
+
2798
+ </dd>
2799
+ </dl>
2800
+
2801
+
2802
+
2803
+
2804
+
2805
+
2806
+
2807
+
2808
+
2809
+
2810
+ <h4 class="name" id=".machineName"><span class="type-signature">(static) </span>machineName<span class="signature">(string)</span><span class="type-signature"> &rarr; {String}</span></h4>
2811
+
2812
+
2813
+
2814
+
2815
+
2816
+
2817
+ <dl class="details">
2818
+
2819
+
2820
+ <dt class="tag-source">Source:</dt>
2821
+ <dd class="tag-source"><ul class="dummy"><li>
2822
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line1403">line 1403</a>
2823
+ </li></ul></dd>
2824
+
2825
+
2826
+
2827
+
2828
+
2829
+
2830
+
2831
+
2832
+
2833
+
2834
+
2835
+
2836
+
2837
+
2838
+
2839
+
2840
+
2841
+
2842
+
2843
+
2844
+
2845
+
2846
+
2847
+
2848
+
2849
+
2850
+
2851
+
2852
+
2853
+
2854
+
2855
+ </dl>
2856
+
2857
+
2858
+
2859
+
2860
+
2861
+ <div class="description usertext">
2862
+ Helper function for cleaning strings to use as database ids
2863
+ </div>
2864
+
2865
+
2866
+
2867
+
2868
+
2869
+
2870
+
2871
+
2872
+
2873
+
2874
+
2875
+ <h5>Parameters:</h5>
2876
+
2877
+
2878
+ <table class="params">
2879
+ <thead>
2880
+ <tr>
2881
+
2882
+ <th>Name</th>
2883
+
2884
+
2885
+ <th>Type</th>
2886
+
2887
+
2888
+
2889
+
2890
+
2891
+ <th class="last">Description</th>
2892
+ </tr>
2893
+ </thead>
2894
+
2895
+ <tbody>
2896
+
2897
+
2898
+ <tr>
2899
+
2900
+ <td class="name"><code>string</code></td>
2901
+
2902
+
2903
+ <td class="type">
2904
+
2905
+
2906
+ <span class="param-type">String</span>
2907
+
2908
+
2909
+
2910
+ </td>
2911
+
2912
+
2913
+
2914
+
2915
+
2916
+ <td class="description last">The string to clean eg. (Awesome Event!)</td>
2917
+ </tr>
2918
+
2919
+
2920
+ </tbody>
2921
+ </table>
2922
+
2923
+
2924
+
2925
+
2926
+
2927
+
2928
+
2929
+
2930
+
2931
+
2932
+
2933
+
2934
+
2935
+
2936
+
2937
+
2938
+ <h5>Returns:</h5>
2939
+
2940
+
2941
+ <div class="param-desc">
2942
+ A cleaned and formatted string eg. (awesomeEvent)
2943
+ </div>
2944
+
2945
+
2946
+
2947
+ <dl class="param-type">
2948
+ <dt>
2949
+ Type
2950
+ </dt>
2951
+ <dd>
2952
+
2953
+ <span class="param-type">String</span>
2954
+
2955
+
2956
+ </dd>
2957
+ </dl>
2958
+
2959
+
2960
+
2961
+
2962
+
2963
+
2964
+
2965
+
2966
+
2967
+
2968
+ <h4 class="name" id=".mapParameters"><span class="type-signature">(static) </span>mapParameters<span class="signature">(parameters)</span><span class="type-signature"> &rarr; {String}</span></h4>
2969
+
2970
+
2971
+
2972
+
2973
+
2974
+
2975
+ <dl class="details">
2976
+
2977
+
2978
+ <dt class="tag-source">Source:</dt>
2979
+ <dd class="tag-source"><ul class="dummy"><li>
2980
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line873">line 873</a>
2981
+ </li></ul></dd>
2982
+
2983
+
2984
+
2985
+
2986
+
2987
+
2988
+
2989
+
2990
+
2991
+
2992
+
2993
+
2994
+
2995
+
2996
+
2997
+
2998
+
2999
+
3000
+
3001
+
3002
+
3003
+
3004
+
3005
+
3006
+
3007
+
3008
+
3009
+
3010
+
3011
+
3012
+
3013
+ </dl>
3014
+
3015
+
3016
+
3017
+
3018
+
3019
+ <div class="description usertext">
3020
+ A helpful function that can take a keyed object literal and map it to url query string parameters
3021
+ </div>
3022
+
3023
+
3024
+
3025
+
3026
+
3027
+
3028
+
3029
+
3030
+
3031
+ <h5>Example</h5>
3032
+
3033
+ <pre class="prettyprint"><code>//Returns &amp;this=that&amp;hello=world
3034
+ sdk.utils.mapParameters({"this":"that", "hello":"world"})</code></pre>
3035
+
3036
+
3037
+
3038
+
3039
+ <h5>Parameters:</h5>
3040
+
3041
+
3042
+ <table class="params">
3043
+ <thead>
3044
+ <tr>
3045
+
3046
+ <th>Name</th>
3047
+
3048
+
3049
+ <th>Type</th>
3050
+
3051
+
3052
+
3053
+
3054
+
3055
+ <th class="last">Description</th>
3056
+ </tr>
3057
+ </thead>
3058
+
3059
+ <tbody>
3060
+
3061
+
3062
+ <tr>
3063
+
3064
+ <td class="name"><code>parameters</code></td>
3065
+
3066
+
3067
+ <td class="type">
3068
+
3069
+
3070
+ <span class="param-type">Object</span>
3071
+
3072
+
3073
+
3074
+ </td>
3075
+
3076
+
3077
+
3078
+
3079
+
3080
+ <td class="description last">The object you want to transalte</td>
3081
+ </tr>
3082
+
3083
+
3084
+ </tbody>
3085
+ </table>
3086
+
3087
+
3088
+
3089
+
3090
+
3091
+
3092
+
3093
+
3094
+
3095
+
3096
+
3097
+
3098
+
3099
+
3100
+
3101
+
3102
+ <h5>Returns:</h5>
3103
+
3104
+
3105
+ <div class="param-desc">
3106
+ The query string
3107
+ </div>
3108
+
3109
+
3110
+
3111
+ <dl class="param-type">
3112
+ <dt>
3113
+ Type
3114
+ </dt>
3115
+ <dd>
3116
+
3117
+ <span class="param-type">String</span>
3118
+
3119
+
3120
+ </dd>
3121
+ </dl>
3122
+
3123
+
3124
+
3125
+
3126
+
3127
+
3128
+
3129
+
3130
+
3131
+
3132
+ <h4 class="name" id=".matchInArray"><span class="type-signature">(static) </span>matchInArray<span class="signature">(array, key, value, comparator)</span><span class="type-signature"> &rarr; {Array}</span></h4>
3133
+
3134
+
3135
+
3136
+
3137
+
3138
+
3139
+ <dl class="details">
3140
+
3141
+
3142
+ <dt class="tag-source">Source:</dt>
3143
+ <dd class="tag-source"><ul class="dummy"><li>
3144
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line1173">line 1173</a>
3145
+ </li></ul></dd>
3146
+
3147
+
3148
+
3149
+
3150
+
3151
+
3152
+
3153
+
3154
+
3155
+
3156
+
3157
+
3158
+
3159
+
3160
+
3161
+
3162
+
3163
+
3164
+
3165
+
3166
+
3167
+
3168
+
3169
+
3170
+
3171
+
3172
+
3173
+
3174
+
3175
+
3176
+
3177
+ </dl>
3178
+
3179
+
3180
+
3181
+
3182
+
3183
+ <div class="description usertext">
3184
+ A function that can return a selection of values that were found in an array that match a specific rule,
3185
+ This is often used to evaluate expressions within form fields
3186
+ </div>
3187
+
3188
+
3189
+
3190
+
3191
+
3192
+
3193
+
3194
+
3195
+
3196
+ <h5>Example</h5>
3197
+
3198
+ <pre class="prettyprint"><code>//Returns [{name:'Michael', age:45}] as that is only item in the array that matches the criteria
3199
+ sdk.utils.matchInArray([{name:'Wendy', age:12}, {name:'Michael', age:45}], 'age', 45, '>=');</code></pre>
3200
+
3201
+
3202
+
3203
+
3204
+ <h5>Parameters:</h5>
3205
+
3206
+
3207
+ <table class="params">
3208
+ <thead>
3209
+ <tr>
3210
+
3211
+ <th>Name</th>
3212
+
3213
+
3214
+ <th>Type</th>
3215
+
3216
+
3217
+
3218
+
3219
+
3220
+ <th class="last">Description</th>
3221
+ </tr>
3222
+ </thead>
3223
+
3224
+ <tbody>
3225
+
3226
+
3227
+ <tr>
3228
+
3229
+ <td class="name"><code>array</code></td>
3230
+
3231
+
3232
+ <td class="type">
3233
+
3234
+
3235
+ <span class="param-type">Array</span>
3236
+
3237
+
3238
+
3239
+ </td>
3240
+
3241
+
3242
+
3243
+
3244
+
3245
+ <td class="description last">The array to check</td>
3246
+ </tr>
3247
+
3248
+
3249
+
3250
+ <tr>
3251
+
3252
+ <td class="name"><code>key</code></td>
3253
+
3254
+
3255
+ <td class="type">
3256
+
3257
+
3258
+ <span class="param-type">String</span>
3259
+
3260
+
3261
+
3262
+ </td>
3263
+
3264
+
3265
+
3266
+
3267
+
3268
+ <td class="description last">The javascript dot notation path to extract</td>
3269
+ </tr>
3270
+
3271
+
3272
+
3273
+ <tr>
3274
+
3275
+ <td class="name"><code>value</code></td>
3276
+
3277
+
3278
+ <td class="type">
3279
+
3280
+
3281
+ <span class="param-type">String</span>
3282
+
3283
+
3284
+
3285
+ </td>
3286
+
3287
+
3288
+
3289
+
3290
+
3291
+ <td class="description last">The value to compare against</td>
3292
+ </tr>
3293
+
3294
+
3295
+
3296
+ <tr>
3297
+
3298
+ <td class="name"><code>comparator</code></td>
3299
+
3300
+
3301
+ <td class="type">
3302
+
3303
+
3304
+ <span class="param-type">String</span>
3305
+
3306
+
3307
+
3308
+ </td>
3309
+
3310
+
3311
+
3312
+
3313
+
3314
+ <td class="description last">The logical operator to use to compare the extracted value with the provided value ('>', '<', '>=', '<=', 'in', '==') Defaults to '==' (Is equal to)</td>
3315
+ </tr>
3316
+
3317
+
3318
+ </tbody>
3319
+ </table>
3320
+
3321
+
3322
+
3323
+
3324
+
3325
+
3326
+
3327
+
3328
+
3329
+
3330
+
3331
+
3332
+
3333
+
3334
+
3335
+
3336
+ <h5>Returns:</h5>
3337
+
3338
+
3339
+ <div class="param-desc">
3340
+ Returns an array of matching values
3341
+ </div>
3342
+
3343
+
3344
+
3345
+ <dl class="param-type">
3346
+ <dt>
3347
+ Type
3348
+ </dt>
3349
+ <dd>
3350
+
3351
+ <span class="param-type">Array</span>
3352
+
3353
+
3354
+ </dd>
3355
+ </dl>
3356
+
3357
+
3358
+
3359
+
3360
+
3361
+
3362
+
3363
+
3364
+
3365
+
3366
+ <h4 class="name" id=".parseBoolean"><span class="type-signature">(static) </span>parseBoolean<span class="signature">(value)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
3367
+
3368
+
3369
+
3370
+
3371
+
3372
+
3373
+ <dl class="details">
3374
+
3375
+
3376
+ <dt class="tag-source">Source:</dt>
3377
+ <dd class="tag-source"><ul class="dummy"><li>
3378
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line636">line 636</a>
3379
+ </li></ul></dd>
3380
+
3381
+
3382
+
3383
+
3384
+
3385
+
3386
+
3387
+
3388
+
3389
+
3390
+
3391
+
3392
+
3393
+
3394
+
3395
+
3396
+
3397
+
3398
+
3399
+
3400
+
3401
+
3402
+
3403
+
3404
+
3405
+
3406
+
3407
+
3408
+
3409
+
3410
+
3411
+ </dl>
3412
+
3413
+
3414
+
3415
+
3416
+
3417
+ <div class="description usertext">
3418
+ A helper function for parsing input as boolean values
3419
+ </div>
3420
+
3421
+
3422
+
3423
+
3424
+
3425
+
3426
+
3427
+
3428
+
3429
+ <h5>Example</h5>
3430
+
3431
+ <pre class="prettyprint"><code>sdk.utils.parseBoolean('true'); // returns true
3432
+ sdk.utils.parseBoolean('y'); // returns true
3433
+ sdk.utils.parseBoolean('YES'); // returns true
3434
+ sdk.utils.parseBoolean('1'); // returns true
3435
+ sdk.utils.parseBoolean('t'); // returns true
3436
+ sdk.utils.parseBoolean(''); // returns false
3437
+ sdk.utils.parseBoolean('0'); // returns false
3438
+ sdk.utils.parseBoolean('n'); // returns false
3439
+ sdk.utils.parseBoolean('no'); // returns false
3440
+ sdk.utils.parseBoolean('f'); // returns false
3441
+ sdk.utils.parseBoolean('null'); // returns false</code></pre>
3442
+
3443
+
3444
+
3445
+
3446
+ <h5>Parameters:</h5>
3447
+
3448
+
3449
+ <table class="params">
3450
+ <thead>
3451
+ <tr>
3452
+
3453
+ <th>Name</th>
3454
+
3455
+
3456
+ <th>Type</th>
3457
+
3458
+
3459
+
3460
+
3461
+
3462
+ <th class="last">Description</th>
3463
+ </tr>
3464
+ </thead>
3465
+
3466
+ <tbody>
3467
+
3468
+
3469
+ <tr>
3470
+
3471
+ <td class="name"><code>value</code></td>
3472
+
3473
+
3474
+ <td class="type">
3475
+
3476
+
3477
+ <span class="param-type">*</span>
3478
+
3479
+
3480
+
3481
+ </td>
3482
+
3483
+
3484
+
3485
+
3486
+
3487
+ <td class="description last">The input to parse</td>
3488
+ </tr>
3489
+
3490
+
3491
+ </tbody>
3492
+ </table>
3493
+
3494
+
3495
+
3496
+
3497
+
3498
+
3499
+
3500
+
3501
+
3502
+
3503
+
3504
+
3505
+
3506
+
3507
+
3508
+
3509
+ <h5>Returns:</h5>
3510
+
3511
+
3512
+ <div class="param-desc">
3513
+ the resulting true/false value
3514
+ </div>
3515
+
3516
+
3517
+
3518
+ <dl class="param-type">
3519
+ <dt>
3520
+ Type
3521
+ </dt>
3522
+ <dd>
3523
+
3524
+ <span class="param-type">Boolean</span>
3525
+
3526
+
3527
+ </dd>
3528
+ </dl>
3529
+
3530
+
3531
+
3532
+
3533
+
3534
+
3535
+
3536
+
3537
+
3538
+
3539
+ <h4 class="name" id=".parseDate"><span class="type-signature">(static) </span>parseDate<span class="signature">(input)</span><span class="type-signature"> &rarr; {Date}</span></h4>
3540
+
3541
+
3542
+
3543
+
3544
+
3545
+
3546
+ <dl class="details">
3547
+
3548
+
3549
+ <dt class="tag-source">Source:</dt>
3550
+ <dd class="tag-source"><ul class="dummy"><li>
3551
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line172">line 172</a>
3552
+ </li></ul></dd>
3553
+
3554
+
3555
+
3556
+
3557
+
3558
+
3559
+
3560
+
3561
+
3562
+
3563
+
3564
+
3565
+
3566
+
3567
+
3568
+
3569
+
3570
+
3571
+
3572
+
3573
+
3574
+
3575
+
3576
+
3577
+
3578
+
3579
+
3580
+
3581
+
3582
+
3583
+
3584
+ </dl>
3585
+
3586
+
3587
+
3588
+
3589
+
3590
+ <div class="description usertext">
3591
+ A helper function for getting a javascript date object from some input
3592
+ returns undefined if it can not be parsed
3593
+ </div>
3594
+
3595
+
3596
+
3597
+
3598
+
3599
+
3600
+
3601
+
3602
+
3603
+ <h5>Example</h5>
3604
+
3605
+ <pre class="prettyprint"><code>sdk.utils.parseDate(input);</code></pre>
3606
+
3607
+
3608
+
3609
+
3610
+ <h5>Parameters:</h5>
3611
+
3612
+
3613
+ <table class="params">
3614
+ <thead>
3615
+ <tr>
3616
+
3617
+ <th>Name</th>
3618
+
3619
+
3620
+ <th>Type</th>
3621
+
3622
+
3623
+
3624
+
3625
+
3626
+ <th class="last">Description</th>
3627
+ </tr>
3628
+ </thead>
3629
+
3630
+ <tbody>
3631
+
3632
+
3633
+ <tr>
3634
+
3635
+ <td class="name"><code>input</code></td>
3636
+
3637
+
3638
+ <td class="type">
3639
+
3640
+
3641
+ <span class="param-type">String</span>
3642
+ |
3643
+
3644
+ <span class="param-type">Number</span>
3645
+
3646
+
3647
+
3648
+ </td>
3649
+
3650
+
3651
+
3652
+
3653
+
3654
+ <td class="description last">The value to parse as a date</td>
3655
+ </tr>
3656
+
3657
+
3658
+ </tbody>
3659
+ </table>
3660
+
3661
+
3662
+
3663
+
3664
+
3665
+
3666
+
3667
+
3668
+
3669
+
3670
+
3671
+
3672
+
3673
+
3674
+
3675
+
3676
+ <h5>Returns:</h5>
3677
+
3678
+
3679
+ <div class="param-desc">
3680
+ the javascript date object
3681
+ </div>
3682
+
3683
+
3684
+
3685
+ <dl class="param-type">
3686
+ <dt>
3687
+ Type
3688
+ </dt>
3689
+ <dd>
3690
+
3691
+ <span class="param-type">Date</span>
3692
+
3693
+
3694
+ </dd>
3695
+ </dl>
3696
+
3697
+
3698
+
3699
+
3700
+
3701
+
3702
+
3703
+
3704
+
3705
+
3706
+ <h4 class="name" id=".parseEmail"><span class="type-signature">(static) </span>parseEmail<span class="signature">(emailAddress)</span><span class="type-signature"> &rarr; {String|Boolean}</span></h4>
3707
+
3708
+
3709
+
3710
+
3711
+
3712
+
3713
+ <dl class="details">
3714
+
3715
+
3716
+ <dt class="tag-source">Source:</dt>
3717
+ <dd class="tag-source"><ul class="dummy"><li>
3718
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line344">line 344</a>
3719
+ </li></ul></dd>
3720
+
3721
+
3722
+
3723
+
3724
+
3725
+
3726
+
3727
+
3728
+
3729
+
3730
+
3731
+
3732
+
3733
+
3734
+
3735
+
3736
+
3737
+
3738
+
3739
+
3740
+
3741
+
3742
+
3743
+
3744
+
3745
+
3746
+
3747
+
3748
+
3749
+
3750
+
3751
+ </dl>
3752
+
3753
+
3754
+
3755
+
3756
+
3757
+ <div class="description usertext">
3758
+ A helper function for getting a formatted email address
3759
+ </div>
3760
+
3761
+
3762
+
3763
+
3764
+
3765
+
3766
+
3767
+
3768
+
3769
+ <h5>Example</h5>
3770
+
3771
+ <pre class="prettyprint"><code>sdk.utils.parseEmail('ToMack@gmail.com'); // returns 'tomack@gmail.com'
3772
+ sdk.utils.isValidEmailAddress('hello.world.com'); // Returns false</code></pre>
3773
+
3774
+
3775
+
3776
+
3777
+ <h5>Parameters:</h5>
3778
+
3779
+
3780
+ <table class="params">
3781
+ <thead>
3782
+ <tr>
3783
+
3784
+ <th>Name</th>
3785
+
3786
+
3787
+ <th>Type</th>
3788
+
3789
+
3790
+
3791
+
3792
+
3793
+ <th class="last">Description</th>
3794
+ </tr>
3795
+ </thead>
3796
+
3797
+ <tbody>
3798
+
3799
+
3800
+ <tr>
3801
+
3802
+ <td class="name"><code>emailAddress</code></td>
3803
+
3804
+
3805
+ <td class="type">
3806
+
3807
+
3808
+ <span class="param-type">String</span>
3809
+
3810
+
3811
+
3812
+ </td>
3813
+
3814
+
3815
+
3816
+
3817
+
3818
+ <td class="description last">The input to parse as an email</td>
3819
+ </tr>
3820
+
3821
+
3822
+ </tbody>
3823
+ </table>
3824
+
3825
+
3826
+
3827
+
3828
+
3829
+
3830
+
3831
+
3832
+
3833
+
3834
+
3835
+
3836
+
3837
+
3838
+
3839
+
3840
+ <h5>Returns:</h5>
3841
+
3842
+
3843
+ <div class="param-desc">
3844
+ a valid email address in lowercase, or false if parse is not possible
3845
+ </div>
3846
+
3847
+
3848
+
3849
+ <dl class="param-type">
3850
+ <dt>
3851
+ Type
3852
+ </dt>
3853
+ <dd>
3854
+
3855
+ <span class="param-type">String</span>
3856
+ |
3857
+
3858
+ <span class="param-type">Boolean</span>
3859
+
3860
+
3861
+ </dd>
3862
+ </dl>
3863
+
3864
+
3865
+
3866
+
3867
+
3868
+
3869
+
3870
+
3871
+
3872
+
3873
+ <h4 class="name" id=".parseInt"><span class="type-signature">(static) </span>parseInt<span class="signature">(input)</span><span class="type-signature"> &rarr; {Integer}</span></h4>
3874
+
3875
+
3876
+
3877
+
3878
+
3879
+
3880
+ <dl class="details">
3881
+
3882
+
3883
+ <dt class="tag-source">Source:</dt>
3884
+ <dd class="tag-source"><ul class="dummy"><li>
3885
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line372">line 372</a>
3886
+ </li></ul></dd>
3887
+
3888
+
3889
+
3890
+
3891
+
3892
+
3893
+
3894
+
3895
+
3896
+
3897
+
3898
+
3899
+
3900
+
3901
+
3902
+
3903
+
3904
+
3905
+
3906
+
3907
+
3908
+
3909
+
3910
+
3911
+
3912
+
3913
+
3914
+
3915
+
3916
+
3917
+
3918
+ </dl>
3919
+
3920
+
3921
+
3922
+
3923
+
3924
+ <div class="description usertext">
3925
+ A helper function for getting an integer
3926
+ </div>
3927
+
3928
+
3929
+
3930
+
3931
+
3932
+
3933
+
3934
+
3935
+
3936
+ <h5>Example</h5>
3937
+
3938
+ <pre class="prettyprint"><code>sdk.utils.parseInt('134'); // returns 134
3939
+ sdk.utils.parseInt('cows'); // returns 0
3940
+ sdk.utils.parseInt(); // returns 0</code></pre>
3941
+
3942
+
3943
+
3944
+
3945
+ <h5>Parameters:</h5>
3946
+
3947
+
3948
+ <table class="params">
3949
+ <thead>
3950
+ <tr>
3951
+
3952
+ <th>Name</th>
3953
+
3954
+
3955
+ <th>Type</th>
3956
+
3957
+
3958
+
3959
+
3960
+
3961
+ <th class="last">Description</th>
3962
+ </tr>
3963
+ </thead>
3964
+
3965
+ <tbody>
3966
+
3967
+
3968
+ <tr>
3969
+
3970
+ <td class="name"><code>input</code></td>
3971
+
3972
+
3973
+ <td class="type">
3974
+
3975
+
3976
+ <span class="param-type">String</span>
3977
+ |
3978
+
3979
+ <span class="param-type">Number</span>
3980
+
3981
+
3982
+
3983
+ </td>
3984
+
3985
+
3986
+
3987
+
3988
+
3989
+ <td class="description last">The input to parse as an integer</td>
3990
+ </tr>
3991
+
3992
+
3993
+ </tbody>
3994
+ </table>
3995
+
3996
+
3997
+
3998
+
3999
+
4000
+
4001
+
4002
+
4003
+
4004
+
4005
+
4006
+
4007
+
4008
+
4009
+
4010
+
4011
+ <h5>Returns:</h5>
4012
+
4013
+
4014
+ <div class="param-desc">
4015
+ the resulting integer or 0
4016
+ </div>
4017
+
4018
+
4019
+
4020
+ <dl class="param-type">
4021
+ <dt>
4022
+ Type
4023
+ </dt>
4024
+ <dd>
4025
+
4026
+ <span class="param-type">Integer</span>
4027
+
4028
+
4029
+ </dd>
4030
+ </dl>
4031
+
4032
+
4033
+
4034
+
4035
+
4036
+
4037
+
4038
+
4039
+
4040
+
4041
+ <h4 class="name" id=".parseNumber"><span class="type-signature">(static) </span>parseNumber<span class="signature">(value, decimalPoints)</span><span class="type-signature"> &rarr; {Number}</span></h4>
4042
+
4043
+
4044
+
4045
+
4046
+
4047
+
4048
+ <dl class="details">
4049
+
4050
+
4051
+ <dt class="tag-source">Source:</dt>
4052
+ <dd class="tag-source"><ul class="dummy"><li>
4053
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line276">line 276</a>
4054
+ </li></ul></dd>
4055
+
4056
+
4057
+
4058
+
4059
+
4060
+
4061
+
4062
+
4063
+
4064
+
4065
+
4066
+
4067
+
4068
+
4069
+
4070
+
4071
+
4072
+
4073
+
4074
+
4075
+
4076
+
4077
+
4078
+
4079
+
4080
+
4081
+
4082
+
4083
+
4084
+
4085
+
4086
+ </dl>
4087
+
4088
+
4089
+
4090
+
4091
+
4092
+ <div class="description usertext">
4093
+ A helper function for getting a number from some input
4094
+ </div>
4095
+
4096
+
4097
+
4098
+
4099
+
4100
+
4101
+
4102
+
4103
+
4104
+ <h5>Example</h5>
4105
+
4106
+ <pre class="prettyprint"><code>sdk.utils.parseNumber('123'); // Returns 123
4107
+ sdk.utils.parseNumber('75.501', 2); // Returns 75.5
4108
+ sdk.utils.parseNumber(''); // Returns 0
4109
+ sdk.utils.parseNumber(null); // Returns 0
4110
+ sdk.utils.parseNumber(); // Returns 0</code></pre>
4111
+
4112
+
4113
+
4114
+
4115
+ <h5>Parameters:</h5>
4116
+
4117
+
4118
+ <table class="params">
4119
+ <thead>
4120
+ <tr>
4121
+
4122
+ <th>Name</th>
4123
+
4124
+
4125
+ <th>Type</th>
4126
+
4127
+
4128
+
4129
+
4130
+
4131
+ <th class="last">Description</th>
4132
+ </tr>
4133
+ </thead>
4134
+
4135
+ <tbody>
4136
+
4137
+
4138
+ <tr>
4139
+
4140
+ <td class="name"><code>value</code></td>
4141
+
4142
+
4143
+ <td class="type">
4144
+
4145
+
4146
+ <span class="param-type">String</span>
4147
+
4148
+
4149
+
4150
+ </td>
4151
+
4152
+
4153
+
4154
+
4155
+
4156
+ <td class="description last">The input value</td>
4157
+ </tr>
4158
+
4159
+
4160
+
4161
+ <tr>
4162
+
4163
+ <td class="name"><code>decimalPoints</code></td>
4164
+
4165
+
4166
+ <td class="type">
4167
+
4168
+
4169
+ <span class="param-type">Number</span>
4170
+
4171
+
4172
+
4173
+ </td>
4174
+
4175
+
4176
+
4177
+
4178
+
4179
+ <td class="description last">The number of decimal points to round to</td>
4180
+ </tr>
4181
+
4182
+
4183
+ </tbody>
4184
+ </table>
4185
+
4186
+
4187
+
4188
+
4189
+
4190
+
4191
+
4192
+
4193
+
4194
+
4195
+
4196
+
4197
+
4198
+
4199
+
4200
+
4201
+ <h5>Returns:</h5>
4202
+
4203
+
4204
+ <div class="param-desc">
4205
+ the parsed number value
4206
+ </div>
4207
+
4208
+
4209
+
4210
+ <dl class="param-type">
4211
+ <dt>
4212
+ Type
4213
+ </dt>
4214
+ <dd>
4215
+
4216
+ <span class="param-type">Number</span>
4217
+
4218
+
4219
+ </dd>
4220
+ </dl>
4221
+
4222
+
4223
+
4224
+
4225
+
4226
+
4227
+
4228
+
4229
+
4230
+
4231
+ <h4 class="name" id=".parseURL"><span class="type-signature">(static) </span>parseURL<span class="signature">(input)</span><span class="type-signature"> &rarr; {String}</span></h4>
4232
+
4233
+
4234
+
4235
+
4236
+
4237
+
4238
+ <dl class="details">
4239
+
4240
+
4241
+ <dt class="tag-source">Source:</dt>
4242
+ <dd class="tag-source"><ul class="dummy"><li>
4243
+ <a href="qik.utils.js.html">qik.utils.js</a>, <a href="qik.utils.js.html#line204">line 204</a>
4244
+ </li></ul></dd>
4245
+
4246
+
4247
+
4248
+
4249
+
4250
+
4251
+
4252
+
4253
+
4254
+
4255
+
4256
+
4257
+
4258
+
4259
+
4260
+
4261
+
4262
+
4263
+
4264
+
4265
+
4266
+
4267
+
4268
+
4269
+
4270
+
4271
+
4272
+
4273
+
4274
+
4275
+
4276
+ </dl>
4277
+
4278
+
4279
+
4280
+
4281
+
4282
+ <div class="description usertext">
4283
+ A helper function for getting a full url string from some input
4284
+ </div>
4285
+
4286
+
4287
+
4288
+
4289
+
4290
+
4291
+
4292
+
4293
+
4294
+ <h5>Example</h5>
4295
+
4296
+ <pre class="prettyprint"><code>sdk.utils.parseURL('google.com'); // Returns https://google.com
4297
+ sdk.utils.parseURL('mailto:hello@qik.dev'); // Returns 'mailto:hello@qik.dev'
4298
+ sdk.utils.parseURL('://hello.com'); // Returns '://hello.com'
4299
+ sdk.utils.parseURL('hello@email.com'); // Returns 'mailto:hello@email.com'</code></pre>
4300
+
4301
+
4302
+
4303
+
4304
+ <h5>Parameters:</h5>
4305
+
4306
+
4307
+ <table class="params">
4308
+ <thead>
4309
+ <tr>
4310
+
4311
+ <th>Name</th>
4312
+
4313
+
4314
+ <th>Type</th>
4315
+
4316
+
4317
+
4318
+
4319
+
4320
+ <th class="last">Description</th>
4321
+ </tr>
4322
+ </thead>
4323
+
4324
+ <tbody>
4325
+
4326
+
4327
+ <tr>
4328
+
4329
+ <td class="name"><code>input</code></td>
4330
+
4331
+
4332
+ <td class="type">
4333
+
4334
+
4335
+ <span class="param-type">String</span>
4336
+
4337
+
4338
+
4339
+ </td>
4340
+
4341
+
4342
+
4343
+
4344
+
4345
+ <td class="description last">The input value</td>
4346
+ </tr>
4347
+
4348
+
4349
+ </tbody>
4350
+ </table>
4351
+
4352
+
4353
+
4354
+
4355
+
4356
+
4357
+
4358
+
4359
+
4360
+
4361
+
4362
+
4363
+
4364
+
4365
+
4366
+
4367
+ <h5>Returns:</h5>
4368
+
4369
+
4370
+ <div class="param-desc">
4371
+ the fully parsed URL
4372
+ </div>
4373
+
4374
+
4375
+
4376
+ <dl class="param-type">
4377
+ <dt>
4378
+ Type
4379
+ </dt>
4380
+ <dd>
4381
+
4382
+ <span class="param-type">String</span>
4383
+
4384
+
4385
+ </dd>
4386
+ </dl>
4387
+
4388
+
4389
+
4390
+
4391
+
4392
+
4393
+
4394
+
4395
+
4396
+
4397
+
4398
+ </article>
4399
+
4400
+ </section>
4401
+
4402
+
4403
+
4404
+
4405
+
4406
+
4407
+ </div>
4408
+
4409
+ <br class="clear">
4410
+
4411
+ <footer>
4412
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.11</a> on Mon Jul 13 2026 18:47:22 GMT+1000 (Australian Eastern Standard Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
4413
+ </footer>
4414
+
4415
+ <script>prettyPrint();</script>
4416
+ <script src="scripts/polyfill.js"></script>
4417
+ <script src="scripts/linenumber.js"></script>
4418
+
4419
+
4420
+
4421
+ </body>
4422
+ </html>