Deployed e3be2c0 to 5.4 with MkDocs 1.1.2 and mike 0.5.5
[GitHub/WoltLab/woltlab.github.io.git] / 5.4 / javascript / new-api_data-structures / index.html
1
2 <!doctype html>
3 <html lang="en" class="no-js">
4 <head>
5
6 <meta charset="utf-8">
7 <meta name="viewport" content="width=device-width,initial-scale=1">
8
9
10
11
12 <link rel="icon" href="../../assets/default.favicon.ico">
13 <meta name="generator" content="mkdocs-1.1.2, mkdocs-material-7.1.0">
14
15
16
17 <title>Data Structures - WoltLab Suite Documentation</title>
18
19
20
21 <link rel="stylesheet" href="../../assets/stylesheets/main.33e2939f.min.css">
22
23
24 <link rel="stylesheet" href="../../assets/stylesheets/palette.ef6f36e2.min.css">
25
26
27
28 <meta name="theme-color" content="#009485">
29
30
31
32
33
34
35
36
37
38 <link rel="stylesheet" href="../../stylesheets/extra.css">
39
40
41
42
43
44 </head>
45
46
47
48
49
50
51
52 <body dir="ltr" data-md-color-scheme="" data-md-color-primary="teal" data-md-color-accent="">
53
54
55 <script>function __prefix(e){return new URL("../..",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
56
57 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
58 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
59 <label class="md-overlay" for="__drawer"></label>
60 <div data-md-component="skip">
61
62
63 <a href="#data-structures-javascript-api" class="md-skip">
64 Skip to content
65 </a>
66
67 </div>
68 <div data-md-component="announce">
69
70 <aside class="md-announce">
71 <div class="md-announce__inner md-grid md-typeset">
72
73 <a href="https://www.woltlab.com">Back to <strong>woltlab.com</strong></a>
74
75 </div>
76 </aside>
77
78 </div>
79
80 <header class="md-header" data-md-component="header">
81 <nav class="md-header__inner md-grid" aria-label="Header">
82 <a href="../.." title="WoltLab Suite Documentation" class="md-header__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
83
84 <img src="../../assets/logo.png" alt="logo">
85
86 </a>
87 <label class="md-header__button md-icon" for="__drawer">
88 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
89 </label>
90 <div class="md-header__title" data-md-component="header-title">
91 <div class="md-header__ellipsis">
92 <div class="md-header__topic">
93 <span class="md-ellipsis">
94 WoltLab Suite Documentation
95 </span>
96 </div>
97 <div class="md-header__topic" data-md-component="header-topic">
98 <span class="md-ellipsis">
99
100 Data Structures
101
102 </span>
103 </div>
104 </div>
105 </div>
106
107
108
109 <label class="md-header__button md-icon" for="__search">
110 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
111 </label>
112
113 <div class="md-search" data-md-component="search" role="dialog">
114 <label class="md-search__overlay" for="__search"></label>
115 <div class="md-search__inner" role="search">
116 <form class="md-search__form" name="search">
117 <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" data-md-state="active" required>
118 <label class="md-search__icon md-icon" for="__search">
119 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
120 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
121 </label>
122 <button type="reset" class="md-search__icon md-icon" aria-label="Clear" tabindex="-1">
123 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
124 </button>
125 </form>
126 <div class="md-search__output">
127 <div class="md-search__scrollwrap" data-md-scrollfix>
128 <div class="md-search-result" data-md-component="search-result">
129 <div class="md-search-result__meta">
130 Initializing search
131 </div>
132 <ol class="md-search-result__list"></ol>
133 </div>
134 </div>
135 </div>
136 </div>
137 </div>
138
139
140 <div class="md-header__source">
141
142 <a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
143 <div class="md-source__icon md-icon">
144
145 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
146 </div>
147 <div class="md-source__repository">
148 GitHub
149 </div>
150 </a>
151 </div>
152
153 </nav>
154 </header>
155
156 <div class="md-container" data-md-component="container">
157
158
159
160
161 <main class="md-main" data-md-component="main">
162 <div class="md-main__inner md-grid">
163
164
165
166 <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
167 <div class="md-sidebar__scrollwrap">
168 <div class="md-sidebar__inner">
169
170
171
172 <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
173 <label class="md-nav__title" for="__drawer">
174 <a href="../.." title="WoltLab Suite Documentation" class="md-nav__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
175
176 <img src="../../assets/logo.png" alt="logo">
177
178 </a>
179 WoltLab Suite Documentation
180 </label>
181
182 <div class="md-nav__source">
183
184 <a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
185 <div class="md-source__icon md-icon">
186
187 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
188 </div>
189 <div class="md-source__repository">
190 GitHub
191 </div>
192 </a>
193 </div>
194
195 <ul class="md-nav__list" data-md-scrollfix>
196
197
198
199
200
201
202
203
204 <li class="md-nav__item">
205 <a href="../../getting-started/" class="md-nav__link">
206 Getting Started
207 </a>
208 </li>
209
210
211
212
213
214
215
216
217
218
219
220 <li class="md-nav__item md-nav__item--nested">
221
222
223 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2" type="checkbox" id="__nav_2" >
224
225 <label class="md-nav__link" for="__nav_2">
226 PHP API
227 <span class="md-nav__icon md-icon"></span>
228 </label>
229 <nav class="md-nav" aria-label="PHP API" data-md-level="1">
230 <label class="md-nav__title" for="__nav_2">
231 <span class="md-nav__icon md-icon"></span>
232 PHP API
233 </label>
234 <ul class="md-nav__list" data-md-scrollfix>
235
236
237
238
239
240 <li class="md-nav__item">
241 <a href="../../php/pages/" class="md-nav__link">
242 Pages
243 </a>
244 </li>
245
246
247
248
249
250
251
252 <li class="md-nav__item">
253 <a href="../../php/database-objects/" class="md-nav__link">
254 Database Objects
255 </a>
256 </li>
257
258
259
260
261
262
263
264 <li class="md-nav__item">
265 <a href="../../php/database-access/" class="md-nav__link">
266 Database Access
267 </a>
268 </li>
269
270
271
272
273
274
275
276 <li class="md-nav__item">
277 <a href="../../php/exceptions/" class="md-nav__link">
278 Exceptions
279 </a>
280 </li>
281
282
283
284
285
286
287
288
289 <li class="md-nav__item md-nav__item--nested">
290
291
292 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5" type="checkbox" id="__nav_2_5" >
293
294 <label class="md-nav__link" for="__nav_2_5">
295 API
296 <span class="md-nav__icon md-icon"></span>
297 </label>
298 <nav class="md-nav" aria-label="API" data-md-level="2">
299 <label class="md-nav__title" for="__nav_2_5">
300 <span class="md-nav__icon md-icon"></span>
301 API
302 </label>
303 <ul class="md-nav__list" data-md-scrollfix>
304
305
306
307
308
309 <li class="md-nav__item">
310 <a href="../../php/api/caches/" class="md-nav__link">
311 Caches
312 </a>
313 </li>
314
315
316
317
318
319
320
321 <li class="md-nav__item">
322 <a href="../../php/api/comments/" class="md-nav__link">
323 Comments
324 </a>
325 </li>
326
327
328
329
330
331
332
333 <li class="md-nav__item">
334 <a href="../../php/api/cronjobs/" class="md-nav__link">
335 Cronjobs
336 </a>
337 </li>
338
339
340
341
342
343
344
345 <li class="md-nav__item">
346 <a href="../../php/api/events/" class="md-nav__link">
347 Events
348 </a>
349 </li>
350
351
352
353
354
355
356
357
358 <li class="md-nav__item md-nav__item--nested">
359
360
361 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5_5" type="checkbox" id="__nav_2_5_5" >
362
363 <label class="md-nav__link" for="__nav_2_5_5">
364 Form Builder
365 <span class="md-nav__icon md-icon"></span>
366 </label>
367 <nav class="md-nav" aria-label="Form Builder" data-md-level="3">
368 <label class="md-nav__title" for="__nav_2_5_5">
369 <span class="md-nav__icon md-icon"></span>
370 Form Builder
371 </label>
372 <ul class="md-nav__list" data-md-scrollfix>
373
374
375
376
377
378 <li class="md-nav__item">
379 <a href="../../php/api/form_builder/overview/" class="md-nav__link">
380 Overview
381 </a>
382 </li>
383
384
385
386
387
388
389
390 <li class="md-nav__item">
391 <a href="../../php/api/form_builder/structure/" class="md-nav__link">
392 Structure
393 </a>
394 </li>
395
396
397
398
399
400
401
402 <li class="md-nav__item">
403 <a href="../../php/api/form_builder/form_fields/" class="md-nav__link">
404 Fields
405 </a>
406 </li>
407
408
409
410
411
412
413
414 <li class="md-nav__item">
415 <a href="../../php/api/form_builder/validation_data/" class="md-nav__link">
416 Validation and Data
417 </a>
418 </li>
419
420
421
422
423
424
425
426 <li class="md-nav__item">
427 <a href="../../php/api/form_builder/dependencies/" class="md-nav__link">
428 Dependencies
429 </a>
430 </li>
431
432
433
434 </ul>
435 </nav>
436 </li>
437
438
439
440
441
442
443
444 <li class="md-nav__item">
445 <a href="../../php/api/package_installation_plugins/" class="md-nav__link">
446 Package Installation Plugins
447 </a>
448 </li>
449
450
451
452
453
454
455
456 <li class="md-nav__item">
457 <a href="../../php/api/user_activity_points/" class="md-nav__link">
458 User Activity Points
459 </a>
460 </li>
461
462
463
464
465
466
467
468 <li class="md-nav__item">
469 <a href="../../php/api/user_notifications/" class="md-nav__link">
470 User Notifications
471 </a>
472 </li>
473
474
475
476
477
478
479
480 <li class="md-nav__item">
481 <a href="../../php/api/sitemaps/" class="md-nav__link">
482 Sitemaps
483 </a>
484 </li>
485
486
487
488 </ul>
489 </nav>
490 </li>
491
492
493
494
495
496
497
498 <li class="md-nav__item">
499 <a href="../../php/code-style/" class="md-nav__link">
500 Code Style
501 </a>
502 </li>
503
504
505
506
507
508
509
510 <li class="md-nav__item">
511 <a href="../../php/apps/" class="md-nav__link">
512 Apps
513 </a>
514 </li>
515
516
517
518
519
520
521
522 <li class="md-nav__item">
523 <a href="../../php/gdpr/" class="md-nav__link">
524 GDPR
525 </a>
526 </li>
527
528
529
530 </ul>
531 </nav>
532 </li>
533
534
535
536
537
538
539
540
541
542
543
544 <li class="md-nav__item md-nav__item--nested">
545
546
547 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
548
549 <label class="md-nav__link" for="__nav_3">
550 Languages, Templates & CSS
551 <span class="md-nav__icon md-icon"></span>
552 </label>
553 <nav class="md-nav" aria-label="Languages, Templates & CSS" data-md-level="1">
554 <label class="md-nav__title" for="__nav_3">
555 <span class="md-nav__icon md-icon"></span>
556 Languages, Templates & CSS
557 </label>
558 <ul class="md-nav__list" data-md-scrollfix>
559
560
561
562
563
564 <li class="md-nav__item">
565 <a href="../../view/languages/" class="md-nav__link">
566 Languages
567 </a>
568 </li>
569
570
571
572
573
574
575
576 <li class="md-nav__item">
577 <a href="../../view/templates/" class="md-nav__link">
578 Templates
579 </a>
580 </li>
581
582
583
584
585
586
587
588 <li class="md-nav__item">
589 <a href="../../view/css/" class="md-nav__link">
590 CSS
591 </a>
592 </li>
593
594
595
596 </ul>
597 </nav>
598 </li>
599
600
601
602
603
604
605
606
607
608
609
610
611
612 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
613
614
615 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" checked>
616
617 <label class="md-nav__link" for="__nav_4">
618 JavaScript API
619 <span class="md-nav__icon md-icon"></span>
620 </label>
621 <nav class="md-nav" aria-label="JavaScript API" data-md-level="1">
622 <label class="md-nav__title" for="__nav_4">
623 <span class="md-nav__icon md-icon"></span>
624 JavaScript API
625 </label>
626 <ul class="md-nav__list" data-md-scrollfix>
627
628
629
630
631
632 <li class="md-nav__item">
633 <a href="../general-usage/" class="md-nav__link">
634 General Usage
635 </a>
636 </li>
637
638
639
640
641
642
643
644
645
646
647 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
648
649
650 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_2" type="checkbox" id="__nav_4_2" checked>
651
652 <label class="md-nav__link" for="__nav_4_2">
653 New API
654 <span class="md-nav__icon md-icon"></span>
655 </label>
656 <nav class="md-nav" aria-label="New API" data-md-level="2">
657 <label class="md-nav__title" for="__nav_4_2">
658 <span class="md-nav__icon md-icon"></span>
659 New API
660 </label>
661 <ul class="md-nav__list" data-md-scrollfix>
662
663
664
665
666
667 <li class="md-nav__item">
668 <a href="../new-api_writing-a-module/" class="md-nav__link">
669 Writing a module
670 </a>
671 </li>
672
673
674
675
676
677
678
679
680
681 <li class="md-nav__item md-nav__item--active">
682
683 <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
684
685
686
687
688 <label class="md-nav__link md-nav__link--active" for="__toc">
689 Data Structures
690 <span class="md-nav__icon md-icon"></span>
691 </label>
692
693 <a href="./" class="md-nav__link md-nav__link--active">
694 Data Structures
695 </a>
696
697
698 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
699
700
701
702
703
704 <label class="md-nav__title" for="__toc">
705 <span class="md-nav__icon md-icon"></span>
706 Table of contents
707 </label>
708 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
709
710 <li class="md-nav__item">
711 <a href="#introduction" class="md-nav__link">
712 Introduction
713 </a>
714
715 </li>
716
717 <li class="md-nav__item">
718 <a href="#dictionary" class="md-nav__link">
719 Dictionary
720 </a>
721
722 <nav class="md-nav" aria-label="Dictionary">
723 <ul class="md-nav__list">
724
725 <li class="md-nav__item">
726 <a href="#setkey-string-value-any" class="md-nav__link">
727 set(key: string, value: any)
728 </a>
729
730 </li>
731
732 <li class="md-nav__item">
733 <a href="#deletekey-string" class="md-nav__link">
734 delete(key: string)
735 </a>
736
737 </li>
738
739 <li class="md-nav__item">
740 <a href="#haskey-string-boolean" class="md-nav__link">
741 has(key: string): boolean
742 </a>
743
744 </li>
745
746 <li class="md-nav__item">
747 <a href="#getkey-string-any" class="md-nav__link">
748 get(key: string): any
749 </a>
750
751 </li>
752
753 <li class="md-nav__item">
754 <a href="#foreachcallback-value-any-key-string-void" class="md-nav__link">
755 forEach(callback: (value: any, key: string) =&gt; void)
756 </a>
757
758 </li>
759
760 <li class="md-nav__item">
761 <a href="#size-number" class="md-nav__link">
762 size: number
763 </a>
764
765 </li>
766
767 </ul>
768 </nav>
769
770 </li>
771
772 <li class="md-nav__item">
773 <a href="#list" class="md-nav__link">
774 List
775 </a>
776
777 <nav class="md-nav" aria-label="List">
778 <ul class="md-nav__list">
779
780 <li class="md-nav__item">
781 <a href="#addvalue-any" class="md-nav__link">
782 add(value: any)
783 </a>
784
785 </li>
786
787 <li class="md-nav__item">
788 <a href="#clear" class="md-nav__link">
789 clear()
790 </a>
791
792 </li>
793
794 <li class="md-nav__item">
795 <a href="#deletevalue-any-boolean" class="md-nav__link">
796 delete(value: any): boolean
797 </a>
798
799 </li>
800
801 <li class="md-nav__item">
802 <a href="#foreachcallback-value-any-void" class="md-nav__link">
803 forEach(callback: (value: any) =&gt; void)
804 </a>
805
806 </li>
807
808 <li class="md-nav__item">
809 <a href="#hasvalue-any-boolean" class="md-nav__link">
810 has(value: any): boolean
811 </a>
812
813 </li>
814
815 <li class="md-nav__item">
816 <a href="#size-number_1" class="md-nav__link">
817 size: number
818 </a>
819
820 </li>
821
822 </ul>
823 </nav>
824
825 </li>
826
827 <li class="md-nav__item">
828 <a href="#objectmap" class="md-nav__link">
829 ObjectMap
830 </a>
831
832 <nav class="md-nav" aria-label="ObjectMap">
833 <ul class="md-nav__list">
834
835 <li class="md-nav__item">
836 <a href="#setkey-object-value-object" class="md-nav__link">
837 set(key: Object, value: Object)
838 </a>
839
840 </li>
841
842 <li class="md-nav__item">
843 <a href="#deletekey-object" class="md-nav__link">
844 delete(key: Object)
845 </a>
846
847 </li>
848
849 <li class="md-nav__item">
850 <a href="#haskey-object-boolean" class="md-nav__link">
851 has(key: Object): boolean
852 </a>
853
854 </li>
855
856 <li class="md-nav__item">
857 <a href="#getkey-object-object-undefined" class="md-nav__link">
858 get(key: Object): Object | undefined
859 </a>
860
861 </li>
862
863 </ul>
864 </nav>
865
866 </li>
867
868 </ul>
869
870 </nav>
871
872 </li>
873
874
875
876
877
878
879
880 <li class="md-nav__item">
881 <a href="../new-api_core/" class="md-nav__link">
882 Core Functions
883 </a>
884 </li>
885
886
887
888
889
890
891
892 <li class="md-nav__item">
893 <a href="../new-api_dom/" class="md-nav__link">
894 DOM
895 </a>
896 </li>
897
898
899
900
901
902
903
904 <li class="md-nav__item">
905 <a href="../new-api_events/" class="md-nav__link">
906 Event Handling
907 </a>
908 </li>
909
910
911
912
913
914
915
916 <li class="md-nav__item">
917 <a href="../new-api_ajax/" class="md-nav__link">
918 Ajax
919 </a>
920 </li>
921
922
923
924
925
926
927
928 <li class="md-nav__item">
929 <a href="../new-api_dialogs/" class="md-nav__link">
930 Dialogs
931 </a>
932 </li>
933
934
935
936
937
938
939
940 <li class="md-nav__item">
941 <a href="../new-api_browser/" class="md-nav__link">
942 Browser and Screen Sizes
943 </a>
944 </li>
945
946
947
948
949
950
951
952 <li class="md-nav__item">
953 <a href="../new-api_ui/" class="md-nav__link">
954 User Interface
955 </a>
956 </li>
957
958
959
960 </ul>
961 </nav>
962 </li>
963
964
965
966
967
968
969
970 <li class="md-nav__item">
971 <a href="../legacy-api/" class="md-nav__link">
972 Legacy API
973 </a>
974 </li>
975
976
977
978
979
980
981
982 <li class="md-nav__item">
983 <a href="../helper-functions/" class="md-nav__link">
984 Helper Functions
985 </a>
986 </li>
987
988
989
990
991
992
993
994 <li class="md-nav__item">
995 <a href="../code-snippets/" class="md-nav__link">
996 Code Snippets
997 </a>
998 </li>
999
1000
1001
1002 </ul>
1003 </nav>
1004 </li>
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016 <li class="md-nav__item md-nav__item--nested">
1017
1018
1019 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
1020
1021 <label class="md-nav__link" for="__nav_5">
1022 Package Components
1023 <span class="md-nav__icon md-icon"></span>
1024 </label>
1025 <nav class="md-nav" aria-label="Package Components" data-md-level="1">
1026 <label class="md-nav__title" for="__nav_5">
1027 <span class="md-nav__icon md-icon"></span>
1028 Package Components
1029 </label>
1030 <ul class="md-nav__list" data-md-scrollfix>
1031
1032
1033
1034
1035
1036 <li class="md-nav__item">
1037 <a href="../../package/package-xml/" class="md-nav__link">
1038 package.xml
1039 </a>
1040 </li>
1041
1042
1043
1044
1045
1046
1047
1048
1049 <li class="md-nav__item md-nav__item--nested">
1050
1051
1052 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5_2" type="checkbox" id="__nav_5_2" >
1053
1054 <label class="md-nav__link" for="__nav_5_2">
1055 PIPs
1056 <span class="md-nav__icon md-icon"></span>
1057 </label>
1058 <nav class="md-nav" aria-label="PIPs" data-md-level="2">
1059 <label class="md-nav__title" for="__nav_5_2">
1060 <span class="md-nav__icon md-icon"></span>
1061 PIPs
1062 </label>
1063 <ul class="md-nav__list" data-md-scrollfix>
1064
1065
1066
1067
1068
1069 <li class="md-nav__item">
1070 <a href="../../package/pip/" class="md-nav__link">
1071 Overview
1072 </a>
1073 </li>
1074
1075
1076
1077
1078
1079
1080
1081 <li class="md-nav__item">
1082 <a href="../../package/pip/acl-option/" class="md-nav__link">
1083 aclOption
1084 </a>
1085 </li>
1086
1087
1088
1089
1090
1091
1092
1093 <li class="md-nav__item">
1094 <a href="../../package/pip/acp-menu/" class="md-nav__link">
1095 acpMenu
1096 </a>
1097 </li>
1098
1099
1100
1101
1102
1103
1104
1105 <li class="md-nav__item">
1106 <a href="../../package/pip/acp-search-provider/" class="md-nav__link">
1107 acpSearchProvider
1108 </a>
1109 </li>
1110
1111
1112
1113
1114
1115
1116
1117 <li class="md-nav__item">
1118 <a href="../../package/pip/acp-template/" class="md-nav__link">
1119 acpTemplate
1120 </a>
1121 </li>
1122
1123
1124
1125
1126
1127
1128
1129 <li class="md-nav__item">
1130 <a href="../../package/pip/bbcode/" class="md-nav__link">
1131 bbcode
1132 </a>
1133 </li>
1134
1135
1136
1137
1138
1139
1140
1141 <li class="md-nav__item">
1142 <a href="../../package/pip/box/" class="md-nav__link">
1143 box
1144 </a>
1145 </li>
1146
1147
1148
1149
1150
1151
1152
1153 <li class="md-nav__item">
1154 <a href="../../package/pip/clipboard-action/" class="md-nav__link">
1155 clipboardAction
1156 </a>
1157 </li>
1158
1159
1160
1161
1162
1163
1164
1165 <li class="md-nav__item">
1166 <a href="../../package/pip/core-object/" class="md-nav__link">
1167 coreObject
1168 </a>
1169 </li>
1170
1171
1172
1173
1174
1175
1176
1177 <li class="md-nav__item">
1178 <a href="../../package/pip/cronjob/" class="md-nav__link">
1179 cronjob
1180 </a>
1181 </li>
1182
1183
1184
1185
1186
1187
1188
1189 <li class="md-nav__item">
1190 <a href="../../package/pip/event-listener/" class="md-nav__link">
1191 eventListener
1192 </a>
1193 </li>
1194
1195
1196
1197
1198
1199
1200
1201 <li class="md-nav__item">
1202 <a href="../../package/pip/file/" class="md-nav__link">
1203 file
1204 </a>
1205 </li>
1206
1207
1208
1209
1210
1211
1212
1213 <li class="md-nav__item">
1214 <a href="../../package/pip/language/" class="md-nav__link">
1215 language
1216 </a>
1217 </li>
1218
1219
1220
1221
1222
1223
1224
1225 <li class="md-nav__item">
1226 <a href="../../package/pip/media-provider/" class="md-nav__link">
1227 mediaProvider
1228 </a>
1229 </li>
1230
1231
1232
1233
1234
1235
1236
1237 <li class="md-nav__item">
1238 <a href="../../package/pip/menu/" class="md-nav__link">
1239 menu
1240 </a>
1241 </li>
1242
1243
1244
1245
1246
1247
1248
1249 <li class="md-nav__item">
1250 <a href="../../package/pip/menu-item/" class="md-nav__link">
1251 menuItem
1252 </a>
1253 </li>
1254
1255
1256
1257
1258
1259
1260
1261 <li class="md-nav__item">
1262 <a href="../../package/pip/object-type/" class="md-nav__link">
1263 objectType
1264 </a>
1265 </li>
1266
1267
1268
1269
1270
1271
1272
1273 <li class="md-nav__item">
1274 <a href="../../package/pip/object-type-definition/" class="md-nav__link">
1275 objectTypeDefinition
1276 </a>
1277 </li>
1278
1279
1280
1281
1282
1283
1284
1285 <li class="md-nav__item">
1286 <a href="../../package/pip/option/" class="md-nav__link">
1287 option
1288 </a>
1289 </li>
1290
1291
1292
1293
1294
1295
1296
1297 <li class="md-nav__item">
1298 <a href="../../package/pip/page/" class="md-nav__link">
1299 page
1300 </a>
1301 </li>
1302
1303
1304
1305
1306
1307
1308
1309 <li class="md-nav__item">
1310 <a href="../../package/pip/pip/" class="md-nav__link">
1311 pip
1312 </a>
1313 </li>
1314
1315
1316
1317
1318
1319
1320
1321 <li class="md-nav__item">
1322 <a href="../../package/pip/script/" class="md-nav__link">
1323 script
1324 </a>
1325 </li>
1326
1327
1328
1329
1330
1331
1332
1333 <li class="md-nav__item">
1334 <a href="../../package/pip/smiley/" class="md-nav__link">
1335 smiley
1336 </a>
1337 </li>
1338
1339
1340
1341
1342
1343
1344
1345 <li class="md-nav__item">
1346 <a href="../../package/pip/sql/" class="md-nav__link">
1347 sql
1348 </a>
1349 </li>
1350
1351
1352
1353
1354
1355
1356
1357 <li class="md-nav__item">
1358 <a href="../../package/pip/style/" class="md-nav__link">
1359 style
1360 </a>
1361 </li>
1362
1363
1364
1365
1366
1367
1368
1369 <li class="md-nav__item">
1370 <a href="../../package/pip/template/" class="md-nav__link">
1371 template
1372 </a>
1373 </li>
1374
1375
1376
1377
1378
1379
1380
1381 <li class="md-nav__item">
1382 <a href="../../package/pip/template-listener/" class="md-nav__link">
1383 templateListener
1384 </a>
1385 </li>
1386
1387
1388
1389
1390
1391
1392
1393 <li class="md-nav__item">
1394 <a href="../../package/pip/user-group-option/" class="md-nav__link">
1395 userGroupOption
1396 </a>
1397 </li>
1398
1399
1400
1401
1402
1403
1404
1405 <li class="md-nav__item">
1406 <a href="../../package/pip/user-menu/" class="md-nav__link">
1407 userMenu
1408 </a>
1409 </li>
1410
1411
1412
1413
1414
1415
1416
1417 <li class="md-nav__item">
1418 <a href="../../package/pip/user-notification-event/" class="md-nav__link">
1419 userNotificationEvent
1420 </a>
1421 </li>
1422
1423
1424
1425
1426
1427
1428
1429 <li class="md-nav__item">
1430 <a href="../../package/pip/user-option/" class="md-nav__link">
1431 userOption
1432 </a>
1433 </li>
1434
1435
1436
1437
1438
1439
1440
1441 <li class="md-nav__item">
1442 <a href="../../package/pip/user-profile-menu/" class="md-nav__link">
1443 userProfileMenu
1444 </a>
1445 </li>
1446
1447
1448
1449 </ul>
1450 </nav>
1451 </li>
1452
1453
1454
1455
1456
1457
1458
1459 <li class="md-nav__item">
1460 <a href="../../package/database-php-api/" class="md-nav__link">
1461 Database PHP API
1462 </a>
1463 </li>
1464
1465
1466
1467 </ul>
1468 </nav>
1469 </li>
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481 <li class="md-nav__item md-nav__item--nested">
1482
1483
1484 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
1485
1486 <label class="md-nav__link" for="__nav_6">
1487 Migration
1488 <span class="md-nav__icon md-icon"></span>
1489 </label>
1490 <nav class="md-nav" aria-label="Migration" data-md-level="1">
1491 <label class="md-nav__title" for="__nav_6">
1492 <span class="md-nav__icon md-icon"></span>
1493 Migration
1494 </label>
1495 <ul class="md-nav__list" data-md-scrollfix>
1496
1497
1498
1499
1500
1501
1502 <li class="md-nav__item md-nav__item--nested">
1503
1504
1505 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_1" type="checkbox" id="__nav_6_1" >
1506
1507 <label class="md-nav__link" for="__nav_6_1">
1508 Migrating from WSC 5.3
1509 <span class="md-nav__icon md-icon"></span>
1510 </label>
1511 <nav class="md-nav" aria-label="Migrating from WSC 5.3" data-md-level="2">
1512 <label class="md-nav__title" for="__nav_6_1">
1513 <span class="md-nav__icon md-icon"></span>
1514 Migrating from WSC 5.3
1515 </label>
1516 <ul class="md-nav__list" data-md-scrollfix>
1517
1518
1519
1520
1521
1522 <li class="md-nav__item">
1523 <a href="../../migration/wsc53/php/" class="md-nav__link">
1524 PHP API
1525 </a>
1526 </li>
1527
1528
1529
1530
1531
1532
1533
1534 <li class="md-nav__item">
1535 <a href="../../migration/wsc53/session/" class="md-nav__link">
1536 Session Handling and Authentication
1537 </a>
1538 </li>
1539
1540
1541
1542
1543
1544
1545
1546 <li class="md-nav__item">
1547 <a href="../../migration/wsc53/javascript/" class="md-nav__link">
1548 JavaScript
1549 </a>
1550 </li>
1551
1552
1553
1554
1555
1556
1557
1558 <li class="md-nav__item">
1559 <a href="../../migration/wsc53/templates/" class="md-nav__link">
1560 Templates
1561 </a>
1562 </li>
1563
1564
1565
1566
1567
1568
1569
1570 <li class="md-nav__item">
1571 <a href="../../migration/wsc53/libraries/" class="md-nav__link">
1572 Third Party Libraries
1573 </a>
1574 </li>
1575
1576
1577
1578 </ul>
1579 </nav>
1580 </li>
1581
1582
1583
1584
1585
1586
1587
1588
1589 <li class="md-nav__item md-nav__item--nested">
1590
1591
1592 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_2" type="checkbox" id="__nav_6_2" >
1593
1594 <label class="md-nav__link" for="__nav_6_2">
1595 Migrating from WSC 5.2
1596 <span class="md-nav__icon md-icon"></span>
1597 </label>
1598 <nav class="md-nav" aria-label="Migrating from WSC 5.2" data-md-level="2">
1599 <label class="md-nav__title" for="__nav_6_2">
1600 <span class="md-nav__icon md-icon"></span>
1601 Migrating from WSC 5.2
1602 </label>
1603 <ul class="md-nav__list" data-md-scrollfix>
1604
1605
1606
1607
1608
1609 <li class="md-nav__item">
1610 <a href="../../migration/wsc52/php/" class="md-nav__link">
1611 PHP API
1612 </a>
1613 </li>
1614
1615
1616
1617
1618
1619
1620
1621 <li class="md-nav__item">
1622 <a href="../../migration/wsc52/templates/" class="md-nav__link">
1623 Templates and Languages
1624 </a>
1625 </li>
1626
1627
1628
1629
1630
1631
1632
1633 <li class="md-nav__item">
1634 <a href="../../migration/wsc52/libraries/" class="md-nav__link">
1635 Third Party Libraries
1636 </a>
1637 </li>
1638
1639
1640
1641 </ul>
1642 </nav>
1643 </li>
1644
1645
1646
1647
1648
1649
1650
1651
1652 <li class="md-nav__item md-nav__item--nested">
1653
1654
1655 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_3" type="checkbox" id="__nav_6_3" >
1656
1657 <label class="md-nav__link" for="__nav_6_3">
1658 Migrating from WSC 3.1
1659 <span class="md-nav__icon md-icon"></span>
1660 </label>
1661 <nav class="md-nav" aria-label="Migrating from WSC 3.1" data-md-level="2">
1662 <label class="md-nav__title" for="__nav_6_3">
1663 <span class="md-nav__icon md-icon"></span>
1664 Migrating from WSC 3.1
1665 </label>
1666 <ul class="md-nav__list" data-md-scrollfix>
1667
1668
1669
1670
1671
1672 <li class="md-nav__item">
1673 <a href="../../migration/wsc31/php/" class="md-nav__link">
1674 PHP API
1675 </a>
1676 </li>
1677
1678
1679
1680 </ul>
1681 </nav>
1682 </li>
1683
1684
1685
1686
1687
1688
1689
1690
1691 <li class="md-nav__item md-nav__item--nested">
1692
1693
1694 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_4" type="checkbox" id="__nav_6_4" >
1695
1696 <label class="md-nav__link" for="__nav_6_4">
1697 Migrating from WSC 3.0
1698 <span class="md-nav__icon md-icon"></span>
1699 </label>
1700 <nav class="md-nav" aria-label="Migrating from WSC 3.0" data-md-level="2">
1701 <label class="md-nav__title" for="__nav_6_4">
1702 <span class="md-nav__icon md-icon"></span>
1703 Migrating from WSC 3.0
1704 </label>
1705 <ul class="md-nav__list" data-md-scrollfix>
1706
1707
1708
1709
1710
1711 <li class="md-nav__item">
1712 <a href="../../migration/wsc30/php/" class="md-nav__link">
1713 PHP API
1714 </a>
1715 </li>
1716
1717
1718
1719
1720
1721
1722
1723 <li class="md-nav__item">
1724 <a href="../../migration/wsc30/javascript/" class="md-nav__link">
1725 JavaScript API
1726 </a>
1727 </li>
1728
1729
1730
1731
1732
1733
1734
1735 <li class="md-nav__item">
1736 <a href="../../migration/wsc30/templates/" class="md-nav__link">
1737 Templates
1738 </a>
1739 </li>
1740
1741
1742
1743
1744
1745
1746
1747 <li class="md-nav__item">
1748 <a href="../../migration/wsc30/css/" class="md-nav__link">
1749 CSS
1750 </a>
1751 </li>
1752
1753
1754
1755
1756
1757
1758
1759 <li class="md-nav__item">
1760 <a href="../../migration/wsc30/package/" class="md-nav__link">
1761 Package Components
1762 </a>
1763 </li>
1764
1765
1766
1767 </ul>
1768 </nav>
1769 </li>
1770
1771
1772
1773
1774
1775
1776
1777
1778 <li class="md-nav__item md-nav__item--nested">
1779
1780
1781 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_5" type="checkbox" id="__nav_6_5" >
1782
1783 <label class="md-nav__link" for="__nav_6_5">
1784 Migrating from WCF 2.1
1785 <span class="md-nav__icon md-icon"></span>
1786 </label>
1787 <nav class="md-nav" aria-label="Migrating from WCF 2.1" data-md-level="2">
1788 <label class="md-nav__title" for="__nav_6_5">
1789 <span class="md-nav__icon md-icon"></span>
1790 Migrating from WCF 2.1
1791 </label>
1792 <ul class="md-nav__list" data-md-scrollfix>
1793
1794
1795
1796
1797
1798 <li class="md-nav__item">
1799 <a href="../../migration/wcf21/php/" class="md-nav__link">
1800 PHP API
1801 </a>
1802 </li>
1803
1804
1805
1806
1807
1808
1809
1810 <li class="md-nav__item">
1811 <a href="../../migration/wcf21/templates/" class="md-nav__link">
1812 Templates
1813 </a>
1814 </li>
1815
1816
1817
1818
1819
1820
1821
1822 <li class="md-nav__item">
1823 <a href="../../migration/wcf21/css/" class="md-nav__link">
1824 CSS
1825 </a>
1826 </li>
1827
1828
1829
1830
1831
1832
1833
1834 <li class="md-nav__item">
1835 <a href="../../migration/wcf21/package/" class="md-nav__link">
1836 Package Components
1837 </a>
1838 </li>
1839
1840
1841
1842 </ul>
1843 </nav>
1844 </li>
1845
1846
1847
1848 </ul>
1849 </nav>
1850 </li>
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862 <li class="md-nav__item md-nav__item--nested">
1863
1864
1865 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
1866
1867 <label class="md-nav__link" for="__nav_7">
1868 Tutorials
1869 <span class="md-nav__icon md-icon"></span>
1870 </label>
1871 <nav class="md-nav" aria-label="Tutorials" data-md-level="1">
1872 <label class="md-nav__title" for="__nav_7">
1873 <span class="md-nav__icon md-icon"></span>
1874 Tutorials
1875 </label>
1876 <ul class="md-nav__list" data-md-scrollfix>
1877
1878
1879
1880
1881
1882
1883 <li class="md-nav__item md-nav__item--nested">
1884
1885
1886 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7_1" type="checkbox" id="__nav_7_1" >
1887
1888 <label class="md-nav__link" for="__nav_7_1">
1889 Tutorial Series
1890 <span class="md-nav__icon md-icon"></span>
1891 </label>
1892 <nav class="md-nav" aria-label="Tutorial Series" data-md-level="2">
1893 <label class="md-nav__title" for="__nav_7_1">
1894 <span class="md-nav__icon md-icon"></span>
1895 Tutorial Series
1896 </label>
1897 <ul class="md-nav__list" data-md-scrollfix>
1898
1899
1900
1901
1902
1903 <li class="md-nav__item">
1904 <a href="../../tutorial/series/overview/" class="md-nav__link">
1905 Overview
1906 </a>
1907 </li>
1908
1909
1910
1911
1912
1913
1914
1915 <li class="md-nav__item">
1916 <a href="../../tutorial/series/part_1/" class="md-nav__link">
1917 Part 1
1918 </a>
1919 </li>
1920
1921
1922
1923
1924
1925
1926
1927 <li class="md-nav__item">
1928 <a href="../../tutorial/series/part_2/" class="md-nav__link">
1929 Part 2
1930 </a>
1931 </li>
1932
1933
1934
1935
1936
1937
1938
1939 <li class="md-nav__item">
1940 <a href="../../tutorial/series/part_3/" class="md-nav__link">
1941 Part 3
1942 </a>
1943 </li>
1944
1945
1946
1947 </ul>
1948 </nav>
1949 </li>
1950
1951
1952
1953 </ul>
1954 </nav>
1955 </li>
1956
1957
1958
1959 </ul>
1960 </nav>
1961 </div>
1962 </div>
1963 </div>
1964
1965
1966
1967 <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
1968 <div class="md-sidebar__scrollwrap">
1969 <div class="md-sidebar__inner">
1970
1971 <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1972
1973
1974
1975
1976
1977 <label class="md-nav__title" for="__toc">
1978 <span class="md-nav__icon md-icon"></span>
1979 Table of contents
1980 </label>
1981 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1982
1983 <li class="md-nav__item">
1984 <a href="#introduction" class="md-nav__link">
1985 Introduction
1986 </a>
1987
1988 </li>
1989
1990 <li class="md-nav__item">
1991 <a href="#dictionary" class="md-nav__link">
1992 Dictionary
1993 </a>
1994
1995 <nav class="md-nav" aria-label="Dictionary">
1996 <ul class="md-nav__list">
1997
1998 <li class="md-nav__item">
1999 <a href="#setkey-string-value-any" class="md-nav__link">
2000 set(key: string, value: any)
2001 </a>
2002
2003 </li>
2004
2005 <li class="md-nav__item">
2006 <a href="#deletekey-string" class="md-nav__link">
2007 delete(key: string)
2008 </a>
2009
2010 </li>
2011
2012 <li class="md-nav__item">
2013 <a href="#haskey-string-boolean" class="md-nav__link">
2014 has(key: string): boolean
2015 </a>
2016
2017 </li>
2018
2019 <li class="md-nav__item">
2020 <a href="#getkey-string-any" class="md-nav__link">
2021 get(key: string): any
2022 </a>
2023
2024 </li>
2025
2026 <li class="md-nav__item">
2027 <a href="#foreachcallback-value-any-key-string-void" class="md-nav__link">
2028 forEach(callback: (value: any, key: string) =&gt; void)
2029 </a>
2030
2031 </li>
2032
2033 <li class="md-nav__item">
2034 <a href="#size-number" class="md-nav__link">
2035 size: number
2036 </a>
2037
2038 </li>
2039
2040 </ul>
2041 </nav>
2042
2043 </li>
2044
2045 <li class="md-nav__item">
2046 <a href="#list" class="md-nav__link">
2047 List
2048 </a>
2049
2050 <nav class="md-nav" aria-label="List">
2051 <ul class="md-nav__list">
2052
2053 <li class="md-nav__item">
2054 <a href="#addvalue-any" class="md-nav__link">
2055 add(value: any)
2056 </a>
2057
2058 </li>
2059
2060 <li class="md-nav__item">
2061 <a href="#clear" class="md-nav__link">
2062 clear()
2063 </a>
2064
2065 </li>
2066
2067 <li class="md-nav__item">
2068 <a href="#deletevalue-any-boolean" class="md-nav__link">
2069 delete(value: any): boolean
2070 </a>
2071
2072 </li>
2073
2074 <li class="md-nav__item">
2075 <a href="#foreachcallback-value-any-void" class="md-nav__link">
2076 forEach(callback: (value: any) =&gt; void)
2077 </a>
2078
2079 </li>
2080
2081 <li class="md-nav__item">
2082 <a href="#hasvalue-any-boolean" class="md-nav__link">
2083 has(value: any): boolean
2084 </a>
2085
2086 </li>
2087
2088 <li class="md-nav__item">
2089 <a href="#size-number_1" class="md-nav__link">
2090 size: number
2091 </a>
2092
2093 </li>
2094
2095 </ul>
2096 </nav>
2097
2098 </li>
2099
2100 <li class="md-nav__item">
2101 <a href="#objectmap" class="md-nav__link">
2102 ObjectMap
2103 </a>
2104
2105 <nav class="md-nav" aria-label="ObjectMap">
2106 <ul class="md-nav__list">
2107
2108 <li class="md-nav__item">
2109 <a href="#setkey-object-value-object" class="md-nav__link">
2110 set(key: Object, value: Object)
2111 </a>
2112
2113 </li>
2114
2115 <li class="md-nav__item">
2116 <a href="#deletekey-object" class="md-nav__link">
2117 delete(key: Object)
2118 </a>
2119
2120 </li>
2121
2122 <li class="md-nav__item">
2123 <a href="#haskey-object-boolean" class="md-nav__link">
2124 has(key: Object): boolean
2125 </a>
2126
2127 </li>
2128
2129 <li class="md-nav__item">
2130 <a href="#getkey-object-object-undefined" class="md-nav__link">
2131 get(key: Object): Object | undefined
2132 </a>
2133
2134 </li>
2135
2136 </ul>
2137 </nav>
2138
2139 </li>
2140
2141 </ul>
2142
2143 </nav>
2144 </div>
2145 </div>
2146 </div>
2147
2148
2149 <div class="md-content" data-md-component="content">
2150 <article class="md-content__inner md-typeset">
2151
2152
2153 <a href="https://github.com/WoltLab/docs.woltlab.com/edit/5.4/docs/javascript/new-api_data-structures.md" title="Edit this page" class="md-content__button md-icon">
2154 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>
2155 </a>
2156
2157
2158 <h1 id="data-structures-javascript-api">Data Structures - JavaScript API<a class="headerlink" href="#data-structures-javascript-api" title="Permanent link">#</a></h1>
2159 <h2 id="introduction">Introduction<a class="headerlink" href="#introduction" title="Permanent link">#</a></h2>
2160 <p>JavaScript offers only limited types of collections to hold and iterate over
2161 data. Despite the ongoing efforts in ES6 and newer, these new data structures
2162 and access methods, such as <code>for … of</code>, are not available in the still supported
2163 Internet Explorer 11.</p>
2164 <h2 id="dictionary"><code>Dictionary</code><a class="headerlink" href="#dictionary" title="Permanent link">#</a></h2>
2165 <p>Represents a simple key-value map, but unlike the use of plain objects, will
2166 always to guarantee to iterate over directly set values only.</p>
2167 <p><em>In supported browsers this will use a native <code>Map</code> internally, otherwise a plain object.</em></p>
2168 <h3 id="setkey-string-value-any"><code>set(key: string, value: any)</code><a class="headerlink" href="#setkey-string-value-any" title="Permanent link">#</a></h3>
2169 <p>Adds or updates an item using the provided key. Numeric keys will be converted
2170 into strings.</p>
2171 <h3 id="deletekey-string"><code>delete(key: string)</code><a class="headerlink" href="#deletekey-string" title="Permanent link">#</a></h3>
2172 <p>Removes an item from the collection.</p>
2173 <h3 id="haskey-string-boolean"><code>has(key: string): boolean</code><a class="headerlink" href="#haskey-string-boolean" title="Permanent link">#</a></h3>
2174 <p>Returns true if the key is contained in the collection.</p>
2175 <h3 id="getkey-string-any"><code>get(key: string): any</code><a class="headerlink" href="#getkey-string-any" title="Permanent link">#</a></h3>
2176 <p>Returns the value for the provided key, or <code>undefined</code> if the key was not found.
2177 Use <code>.has()</code> to check for key existence.</p>
2178 <h3 id="foreachcallback-value-any-key-string-void"><code>forEach(callback: (value: any, key: string) =&gt; void)</code><a class="headerlink" href="#foreachcallback-value-any-key-string-void" title="Permanent link">#</a></h3>
2179 <p>Iterates over all items in the collection in an arbitrary order and invokes the
2180 supplied callback with the value and the key.</p>
2181 <h3 id="size-number"><code>size: number</code><a class="headerlink" href="#size-number" title="Permanent link">#</a></h3>
2182 <p>This read-only property counts the number of items in the collection.</p>
2183 <h2 id="list"><code>List</code><a class="headerlink" href="#list" title="Permanent link">#</a></h2>
2184 <p>Represents a list of unique values.</p>
2185 <p><em>In supported browsers this will use a native <code>Set</code> internally, otherwise an array.</em></p>
2186 <h3 id="addvalue-any"><code>add(value: any)</code><a class="headerlink" href="#addvalue-any" title="Permanent link">#</a></h3>
2187 <p>Adds a value to the list. If the value is already part of the list, this method
2188 will silently abort.</p>
2189 <h3 id="clear"><code>clear()</code><a class="headerlink" href="#clear" title="Permanent link">#</a></h3>
2190 <p>Resets the collection.</p>
2191 <h3 id="deletevalue-any-boolean"><code>delete(value: any): boolean</code><a class="headerlink" href="#deletevalue-any-boolean" title="Permanent link">#</a></h3>
2192 <p>Attempts to remove a value from the list, it returns true if the value has been
2193 part of the list.</p>
2194 <h3 id="foreachcallback-value-any-void"><code>forEach(callback: (value: any) =&gt; void)</code><a class="headerlink" href="#foreachcallback-value-any-void" title="Permanent link">#</a></h3>
2195 <p>Iterates over all values in the list in an arbitrary order and invokes the
2196 supplied callback for each value.</p>
2197 <h3 id="hasvalue-any-boolean"><code>has(value: any): boolean</code><a class="headerlink" href="#hasvalue-any-boolean" title="Permanent link">#</a></h3>
2198 <p>Returns true if the provided value is part of this list.</p>
2199 <h3 id="size-number_1"><code>size: number</code><a class="headerlink" href="#size-number_1" title="Permanent link">#</a></h3>
2200 <p>This read-only property counts the number of items in the list.</p>
2201 <h2 id="objectmap"><code>ObjectMap</code><a class="headerlink" href="#objectmap" title="Permanent link">#</a></h2>
2202 <div class="admonition info">
2203 <p class="admonition-title">This class uses a <code>WeakMap</code> internally, the keys are only weakly referenced and do not prevent garbage collection.</p>
2204 </div>
2205 <p>Represents a collection where any kind of objects, such as class instances or
2206 DOM elements, can be used as key. These keys are weakly referenced and will not
2207 prevent garbage collection from happening, but this also means that it is not
2208 possible to enumerate or iterate over the stored keys and values.</p>
2209 <p>This class is especially useful when you want to store additional data for
2210 objects that may get disposed on runtime, such as DOM elements. Using any regular
2211 data collections will cause the object to be referenced indefinitely, preventing
2212 the garbage collection from removing orphaned objects.</p>
2213 <h3 id="setkey-object-value-object"><code>set(key: Object, value: Object)</code><a class="headerlink" href="#setkey-object-value-object" title="Permanent link">#</a></h3>
2214 <p>Adds the key with the provided value to the map, if the key was already part
2215 of the collection, its value is overwritten.</p>
2216 <h3 id="deletekey-object"><code>delete(key: Object)</code><a class="headerlink" href="#deletekey-object" title="Permanent link">#</a></h3>
2217 <p>Attempts to remove a key from the collection. The method will abort silently if
2218 the key is not part of the collection.</p>
2219 <h3 id="haskey-object-boolean"><code>has(key: Object): boolean</code><a class="headerlink" href="#haskey-object-boolean" title="Permanent link">#</a></h3>
2220 <p>Returns true if there is a value for the provided key in this collection.</p>
2221 <h3 id="getkey-object-object-undefined"><code>get(key: Object): Object | undefined</code><a class="headerlink" href="#getkey-object-object-undefined" title="Permanent link">#</a></h3>
2222 <p>Retrieves the value of the provided key, or <code>undefined</code> if the key was not found.</p>
2223
2224
2225
2226
2227 <hr>
2228 <div class="md-source-date">
2229 <small>
2230
2231 Last update: 2021-01-08
2232
2233 </small>
2234 </div>
2235
2236
2237
2238
2239
2240
2241
2242
2243 </article>
2244 </div>
2245 </div>
2246
2247 </main>
2248
2249
2250 <footer class="md-footer">
2251
2252 <nav class="md-footer__inner md-grid" aria-label="Footer">
2253
2254 <a href="../new-api_writing-a-module/" class="md-footer__link md-footer__link--prev" rel="prev">
2255 <div class="md-footer__button md-icon">
2256 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
2257 </div>
2258 <div class="md-footer__title">
2259 <div class="md-ellipsis">
2260 <span class="md-footer__direction">
2261 Previous
2262 </span>
2263 Writing a module
2264 </div>
2265 </div>
2266 </a>
2267
2268
2269 <a href="../new-api_core/" class="md-footer__link md-footer__link--next" rel="next">
2270 <div class="md-footer__title">
2271 <div class="md-ellipsis">
2272 <span class="md-footer__direction">
2273 Next
2274 </span>
2275 Core Functions
2276 </div>
2277 </div>
2278 <div class="md-footer__button md-icon">
2279 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
2280 </div>
2281 </a>
2282
2283 </nav>
2284
2285 <div class="md-footer-meta md-typeset">
2286 <div class="md-footer-meta__inner md-grid">
2287 <div class="md-footer-copyright">
2288
2289 <div class="md-footer-copyright__highlight">
2290 Copyright © 2020 WoltLab GmbH
2291 </div>
2292
2293 Made with
2294 <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2295 Material for MkDocs
2296 </a>
2297
2298 </div>
2299 <div class="md-footer-copyright">
2300 <a href="https://www.woltlab.com/legal-notice/">Legal Notice</a>
2301 <a href="https://www.woltlab.com/privacy-policy/">Privacy Policy</a>
2302 </div>
2303 </div>
2304 </div>
2305 </footer>
2306
2307 </div>
2308 <div class="md-dialog" data-md-component="dialog">
2309 <div class="md-dialog__inner md-typeset"></div>
2310 </div>
2311 <script id="__config" type="application/json">{"base": "../..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing"}, "search": "../../assets/javascripts/workers/search.fe42c31b.min.js", "version": {"provider": "mike"}}</script>
2312
2313
2314 <script src="../../assets/javascripts/bundle.d892486b.min.js"></script>
2315
2316
2317 </body>
2318 </html>