@twobirds/microcomponents 0.0.10 → 0.0.12

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.
Files changed (46) hide show
  1. package/README.md +2 -4
  2. package/assets/test.html +11 -0
  3. package/dist/microcomponents.d.ts +15 -231
  4. package/dist/microcomponents.d.ts.map +1 -1
  5. package/dist/microcomponents.es3.d.ts +5 -0
  6. package/dist/microcomponents.es3.d.ts.map +1 -1
  7. package/dist/microcomponents.js +143 -334
  8. package/dist/microcomponents.min.js +32 -29
  9. package/dist/microcomponents.ts +209 -395
  10. package/dist/test.d.ts +36 -0
  11. package/dist/test.d.ts.map +1 -0
  12. package/dist/test.js +214 -0
  13. package/package.json +3 -4
  14. package/public/{docs/assets → assets}/highlight.css +29 -22
  15. package/public/assets/search.js +1 -0
  16. package/public/{docs/classes → classes}/microcomponents.MC.html +78 -241
  17. package/public/{docs/classes → classes}/microcomponents_es3.MC.html +12 -12
  18. package/public/{docs/functions → functions}/microcomponents_es3.__isEmpty.html +1 -1
  19. package/public/index.html +101 -11
  20. package/public/microcomponents.js +176 -0
  21. package/public/{docs/modules → modules}/microcomponents.html +2 -7
  22. package/public/test.html +11 -0
  23. package/public/test.js +214 -0
  24. package/src/microcomponents.ts +209 -395
  25. package/src/test.js +245 -0
  26. package/typedoc.json +1 -1
  27. package/assets/index.html +0 -11
  28. package/jsdoc.conf.json +0 -19
  29. package/public/docs/assets/search.js +0 -1
  30. package/public/docs/index.html +0 -97
  31. package/public/docs/interfaces/microcomponents.HTMLElementMc.html +0 -3605
  32. package/public/jsdoc/es3/files.html +0 -216
  33. package/public/jsdoc/es3/index.html +0 -210
  34. package/public/jsdoc/es3/symbols/_global_.html +0 -368
  35. package/public/jsdoc/es3/symbols/src/build_microcomponents.es3.js.html +0 -104
  36. package/public/jsdoc/es5+/files.html +0 -218
  37. package/public/jsdoc/es5+/index.html +0 -218
  38. package/public/jsdoc/es5+/symbols/MC.html +0 -621
  39. package/public/jsdoc/es5+/symbols/_global_.html +0 -720
  40. package/public/jsdoc/es5+/symbols/microcomponents.MC.html +0 -323
  41. package/public/jsdoc/es5+/symbols/src/build_microcomponents.js.html +0 -375
  42. /package/public/{docs/.nojekyll → .nojekyll} +0 -0
  43. /package/public/{docs/assets → assets}/main.js +0 -0
  44. /package/public/{docs/assets → assets}/style.css +0 -0
  45. /package/public/{docs/modules → modules}/microcomponents_es3.html +0 -0
  46. /package/public/{docs/modules.html → modules.html} +0 -0
package/dist/test.js ADDED
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ function getMicroComponents(elements, search) {
3
+ let mcValues = [];
4
+ elements.forEach((e) => {
5
+ if (e) {
6
+ if (e instanceof HTMLElement) {
7
+ const _mc = e?._mc;
8
+ if (!search && _mc) {
9
+ mcValues = mcValues.concat(Object.values(e._mc));
10
+ }
11
+ else if (search && _mc && _mc[search]) {
12
+ mcValues.push(_mc[search]);
13
+ }
14
+ }
15
+ }
16
+ });
17
+ return mcValues;
18
+ }
19
+ function traverseNodes(node, search, firstonly = true) {
20
+ let mcValues = [];
21
+ while (node) {
22
+ if (node._mc) {
23
+ if (!search) {
24
+ mcValues = mcValues.concat(Object.values(node._mc));
25
+ }
26
+ else if (search && node._mc[search]) {
27
+ mcValues.push(node._mc[search]);
28
+ }
29
+ if (firstonly)
30
+ return mcValues;
31
+ }
32
+ node = node.parentNode;
33
+ }
34
+ return mcValues;
35
+ }
36
+ function isDOM(element) {
37
+ return element && element instanceof HTMLElement;
38
+ }
39
+ class MC {
40
+ #target = {};
41
+ #_mc = {};
42
+ static debug = false;
43
+ constructor(target) {
44
+ this.#target = target;
45
+ this.#_mc = {};
46
+ }
47
+ get _mc() {
48
+ if (!MC.debug)
49
+ return undefined;
50
+ return this.#_mc;
51
+ }
52
+ get target() {
53
+ return this.#target;
54
+ }
55
+ static siblings(target, search = "") {
56
+ const mc = target;
57
+ if (!mc._mc) {
58
+ return [];
59
+ }
60
+ const _mc = mc._mc;
61
+ if (search.length) {
62
+ return _mc?.[search] || [];
63
+ }
64
+ return [...Object.values(_mc)];
65
+ }
66
+ static add(target, key, element = {}) {
67
+ let node = target;
68
+ if (!node._mc) {
69
+ node._mc = new MC(target);
70
+ }
71
+ const _mc = node._mc;
72
+ if (key.length && !_mc[key]) {
73
+ _mc[key] = element;
74
+ if (target instanceof HTMLElement) {
75
+ target.setAttribute("_mc", "");
76
+ }
77
+ }
78
+ return element;
79
+ }
80
+ static remove(target, key) {
81
+ if (!key)
82
+ return;
83
+ const _mc = target?._mc || {};
84
+ if (_mc && _mc[key]) {
85
+ delete _mc[key];
86
+ }
87
+ if (!Object.keys(_mc).length &&
88
+ target instanceof HTMLElement &&
89
+ target.hasAttribute("_mc")) {
90
+ target.removeAttribute("_mc");
91
+ }
92
+ return;
93
+ }
94
+ add(key, element, target) {
95
+ if (this.#_mc[key])
96
+ return;
97
+ if (target) {
98
+ MC.add(target, key, element);
99
+ }
100
+ this.#_mc[key] = element;
101
+ return element;
102
+ }
103
+ remove(key, target) {
104
+ const _mc = this.#_mc;
105
+ const t = target;
106
+ if (target) {
107
+ MC.remove(t, key);
108
+ }
109
+ delete _mc?.[key];
110
+ }
111
+ siblings(search = "") {
112
+ const _mc = this.#_mc;
113
+ if (!_mc)
114
+ return [];
115
+ const result = _mc[search || ""];
116
+ return search && result ? [result] : [...Object.values(_mc)];
117
+ }
118
+ parent(search = "") {
119
+ if (!isDOM(this.#target))
120
+ return [];
121
+ return traverseNodes(this.#target.parentNode, search, true);
122
+ }
123
+ parents(search = "") {
124
+ if (!isDOM(this.#target))
125
+ return [];
126
+ return traverseNodes(this.#target.parentNode, search, false);
127
+ }
128
+ children(search = "") {
129
+ if (!isDOM(this.#target))
130
+ return [];
131
+ const id = Math.random().toString().replace(".", "");
132
+ const selector = '[_mc]:not([temp_id="' + id + '"] [_mc] [_mc])';
133
+ this.#target.setAttribute("temp_id", id);
134
+ const myDomElements = this.#target.querySelectorAll(selector);
135
+ const mcValues = getMicroComponents([...myDomElements], search);
136
+ this.#target.removeAttribute("temp-id");
137
+ return mcValues;
138
+ }
139
+ descendants(search = "") {
140
+ if (!isDOM(this.#target))
141
+ return [];
142
+ const myDomElements = this.#target.querySelectorAll("*[_mc]");
143
+ return getMicroComponents([...myDomElements], search);
144
+ }
145
+ }
146
+ // create test page
147
+ document.body.innerHTML = `<div class="level_1"><span><div class="level_2"><span><div class="level_3"><span><div class="level_4"><span><div class="level_5"></div></span></div></span></div></span></div></span></div>`;
148
+ let elements = [...document.querySelectorAll("div")].reverse();
149
+ elements.forEach((e) => (e.innerHTML = e.innerHTML.repeat(5)));
150
+ document.body.innerHTML = document.body.innerHTML.repeat(5);
151
+ document.body.innerHTML =
152
+ document.body.innerHTML +
153
+ "<span>F12 opens the debugger, console has some manual tests...</span>";
154
+ // create an inner micro component class
155
+ class MyInnerMC extends MC {
156
+ constructor(target) {
157
+ super(target);
158
+ }
159
+ doSomething() {
160
+ console.log(this, " myInnerMC something done");
161
+ console.log(this.siblings());
162
+ }
163
+ }
164
+ // create a custom micro component class
165
+ class MyMC extends MC {
166
+ #myInner;
167
+ constructor(target) {
168
+ super(target);
169
+ //add a micro component
170
+ this.add("myInnerMC", new MyInnerMC(target));
171
+ // add a private MC
172
+ this.#myInner = new MyInnerMC(target);
173
+ }
174
+ doSomething() {
175
+ console.log(this, "myMC something done");
176
+ this.#myInner.doSomething();
177
+ }
178
+ }
179
+ console.time("MC creation time");
180
+ // get some element from the DOM
181
+ const element = document.querySelector("div");
182
+ // Add the custom micro component instance to the target element
183
+ let topLevelMC = MC.add(element, "myFirstMC", new MyMC(element));
184
+ // Add the custom micro component instance to every div
185
+ document.querySelectorAll("div").forEach((e) => {
186
+ MC.add(e, "myPublicMC1", new MyMC(e));
187
+ MC.add(e, "myPublicMC2", new MyMC(e));
188
+ });
189
+ console.timeEnd("MC creation time");
190
+ let c = document.querySelectorAll("[_mc]");
191
+ console.info("number of DOM nodes:", document.querySelectorAll("*").length, "\nnumber of DOM nodes containing micro components:", c.length, "\nnumber of top level micro components:", c.length * 2 + 1, // TODO write reducer
192
+ "\nnumber of top level & inner micro components:", c.length * 3 + 2 // TODO write reducer
193
+ );
194
+ console.log("ROOT element", element);
195
+ console.log("-> ._mc", element._mc);
196
+ console.log("-> _mc.myMC", element._mc.myMC);
197
+ console.log("-> _mc.myFirstMC._mc (MC.debug = false)", element._mc.myFirstMC._mc);
198
+ MC.debug = true;
199
+ console.log("-> _mc.myFirstMC._mc (MC.debug = true)", element._mc.myFirstMC._mc);
200
+ MC.debug = false;
201
+ /*
202
+ test selectors
203
+ */
204
+ let sc = c[2]._mc.myPublicMC1; // 3rd level DIV micro component
205
+ console.info("sc", sc);
206
+ console.log("number of sc parents (expect 5)", sc.parents());
207
+ console.log("number of sc parent (expect 2)", sc.parent());
208
+ console.log("sc PUBLIC siblings (expect 2)", sc.target.className, Object.keys(sc.target._mc), sc.target._mc);
209
+ console.log("sc PRIVATE siblings (MC.debug = false, expect undefined)", sc._mc);
210
+ MC.debug = true;
211
+ console.log("sc PRIVATE siblings (MC.debug = true, expect 1)", Object.keys(sc._mc).length, sc._mc);
212
+ MC.debug = false;
213
+ console.log("number of sc children (expect 10)", sc.children());
214
+ console.log("number of sc descendants (expect 60)", sc.descendants());
package/package.json CHANGED
@@ -1,17 +1,16 @@
1
1
  {
2
2
  "name": "@twobirds/microcomponents",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "description": "Micro Components Organization Class",
5
5
  "main": "microcomponents.js",
6
6
  "sideEffects": false,
7
7
  "scripts": {
8
8
  "typedoc": "typedoc",
9
- "jsdoc": "jsdoc -v -a -p -d=public/jsdoc/es3 ./build/microcomponents.es3.js; jsdoc -v -c=jsdoc.conf.json -d=public/jsdoc/es5+ ./build/microcomponents.js",
10
- "clean": "rm -rf build/*; rm -rf public/docs/*; rm -rf dist/*;",
9
+ "clean": "rm -rf build/*; rm -rf dist/*;",
11
10
  "prep": "cp -R assets/* public || true; cp src/* build || true;",
12
11
  "build": "npm run clean; npm run prep; tsc; npm run minify; npm run copyToDist;",
13
12
  "minify": "jsmin -o build/microcomponents.es3.min.js ./src/microcomponents.es3.js;jsmin -o build/microcomponents.min.js build/microcomponents.js;",
14
- "copyToDist": "cp build/* dist; cp MicroComponents.svg dist; cp MicroComponents.svg public/fiddle;"
13
+ "copyToDist": "cp -R assets/* public || true; cp build/* dist; cp build/microcomponents.js public; cp build/test.js public; cp MicroComponents.svg dist; cp MicroComponents.svg public/fiddle;"
15
14
  },
16
15
  "author": "",
17
16
  "license": "ISC",
@@ -1,26 +1,28 @@
1
1
  :root {
2
- --light-hl-0: #800000;
3
- --dark-hl-0: #808080;
4
- --light-hl-1: #800000;
5
- --dark-hl-1: #569CD6;
6
- --light-hl-2: #008000;
7
- --dark-hl-2: #6A9955;
8
- --light-hl-3: #0000FF;
9
- --dark-hl-3: #569CD6;
10
- --light-hl-4: #000000;
11
- --dark-hl-4: #D4D4D4;
12
- --light-hl-5: #267F99;
13
- --dark-hl-5: #4EC9B0;
14
- --light-hl-6: #001080;
15
- --dark-hl-6: #9CDCFE;
16
- --light-hl-7: #0070C1;
17
- --dark-hl-7: #4FC1FF;
18
- --light-hl-8: #795E26;
19
- --dark-hl-8: #DCDCAA;
20
- --light-hl-9: #A31515;
21
- --dark-hl-9: #CE9178;
22
- --light-hl-10: #E50000;
23
- --dark-hl-10: #9CDCFE;
2
+ --light-hl-0: #AF00DB;
3
+ --dark-hl-0: #C586C0;
4
+ --light-hl-1: #000000;
5
+ --dark-hl-1: #D4D4D4;
6
+ --light-hl-2: #001080;
7
+ --dark-hl-2: #9CDCFE;
8
+ --light-hl-3: #A31515;
9
+ --dark-hl-3: #CE9178;
10
+ --light-hl-4: #800000;
11
+ --dark-hl-4: #808080;
12
+ --light-hl-5: #800000;
13
+ --dark-hl-5: #569CD6;
14
+ --light-hl-6: #008000;
15
+ --dark-hl-6: #6A9955;
16
+ --light-hl-7: #0000FF;
17
+ --dark-hl-7: #569CD6;
18
+ --light-hl-8: #267F99;
19
+ --dark-hl-8: #4EC9B0;
20
+ --light-hl-9: #795E26;
21
+ --dark-hl-9: #DCDCAA;
22
+ --light-hl-10: #0070C1;
23
+ --dark-hl-10: #4FC1FF;
24
+ --light-hl-11: #E50000;
25
+ --dark-hl-11: #9CDCFE;
24
26
  --light-code-background: #FFFFFF;
25
27
  --dark-code-background: #1E1E1E;
26
28
  }
@@ -37,6 +39,7 @@
37
39
  --hl-8: var(--light-hl-8);
38
40
  --hl-9: var(--light-hl-9);
39
41
  --hl-10: var(--light-hl-10);
42
+ --hl-11: var(--light-hl-11);
40
43
  --code-background: var(--light-code-background);
41
44
  } }
42
45
 
@@ -52,6 +55,7 @@
52
55
  --hl-8: var(--dark-hl-8);
53
56
  --hl-9: var(--dark-hl-9);
54
57
  --hl-10: var(--dark-hl-10);
58
+ --hl-11: var(--dark-hl-11);
55
59
  --code-background: var(--dark-code-background);
56
60
  } }
57
61
 
@@ -67,6 +71,7 @@
67
71
  --hl-8: var(--light-hl-8);
68
72
  --hl-9: var(--light-hl-9);
69
73
  --hl-10: var(--light-hl-10);
74
+ --hl-11: var(--light-hl-11);
70
75
  --code-background: var(--light-code-background);
71
76
  }
72
77
 
@@ -82,6 +87,7 @@
82
87
  --hl-8: var(--dark-hl-8);
83
88
  --hl-9: var(--dark-hl-9);
84
89
  --hl-10: var(--dark-hl-10);
90
+ --hl-11: var(--dark-hl-11);
85
91
  --code-background: var(--dark-code-background);
86
92
  }
87
93
 
@@ -96,4 +102,5 @@
96
102
  .hl-8 { color: var(--hl-8); }
97
103
  .hl-9 { color: var(--hl-9); }
98
104
  .hl-10 { color: var(--hl-10); }
105
+ .hl-11 { color: var(--hl-11); }
99
106
  pre, code { background: var(--code-background); }
@@ -0,0 +1 @@
1
+ window.searchData = JSON.parse("{\"kinds\":{\"2\":\"Module\",\"64\":\"Function\",\"128\":\"Class\",\"512\":\"Constructor\",\"1024\":\"Property\",\"2048\":\"Method\",\"65536\":\"Type literal\",\"262144\":\"Accessor\"},\"rows\":[{\"kind\":2,\"name\":\"microcomponents\",\"url\":\"modules/microcomponents.html\",\"classes\":\"tsd-kind-module\"},{\"kind\":128,\"name\":\"MC\",\"url\":\"classes/microcomponents.MC.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"microcomponents\"},{\"kind\":1024,\"name\":\"debug\",\"url\":\"classes/microcomponents.MC.html#debug\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"microcomponents.MC\"},{\"kind\":2048,\"name\":\"siblings\",\"url\":\"classes/microcomponents.MC.html#siblings-2\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.MC\"},{\"kind\":2048,\"name\":\"add\",\"url\":\"classes/microcomponents.MC.html#add-2\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.MC\"},{\"kind\":2048,\"name\":\"remove\",\"url\":\"classes/microcomponents.MC.html#remove-2\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.MC\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/microcomponents.MC.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"microcomponents.MC\"},{\"kind\":1024,\"name\":\"#target\",\"url\":\"classes/microcomponents.MC.html#_target\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"microcomponents.MC\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/microcomponents.MC.html#_target.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"microcomponents.MC.#target\"},{\"kind\":1024,\"name\":\"#_mc\",\"url\":\"classes/microcomponents.MC.html#__mc\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"microcomponents.MC\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/microcomponents.MC.html#__mc.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-property\",\"parent\":\"microcomponents.MC.#_mc\"},{\"kind\":262144,\"name\":\"_mc\",\"url\":\"classes/microcomponents.MC.html#_mc\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"microcomponents.MC\"},{\"kind\":262144,\"name\":\"target\",\"url\":\"classes/microcomponents.MC.html#target\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"microcomponents.MC\"},{\"kind\":2048,\"name\":\"add\",\"url\":\"classes/microcomponents.MC.html#add\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.MC\"},{\"kind\":2048,\"name\":\"remove\",\"url\":\"classes/microcomponents.MC.html#remove\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.MC\"},{\"kind\":2048,\"name\":\"siblings\",\"url\":\"classes/microcomponents.MC.html#siblings\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.MC\"},{\"kind\":2048,\"name\":\"parent\",\"url\":\"classes/microcomponents.MC.html#parent\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.MC\"},{\"kind\":2048,\"name\":\"parents\",\"url\":\"classes/microcomponents.MC.html#parents\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.MC\"},{\"kind\":2048,\"name\":\"children\",\"url\":\"classes/microcomponents.MC.html#children\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.MC\"},{\"kind\":2048,\"name\":\"descendants\",\"url\":\"classes/microcomponents.MC.html#descendants\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.MC\"},{\"kind\":2,\"name\":\"microcomponents.es3\",\"url\":\"modules/microcomponents_es3.html\",\"classes\":\"tsd-kind-module\"},{\"kind\":64,\"name\":\"__isEmpty\",\"url\":\"functions/microcomponents_es3.__isEmpty.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"microcomponents.es3\"},{\"kind\":128,\"name\":\"MC\",\"url\":\"classes/microcomponents_es3.MC.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"microcomponents.es3\"},{\"kind\":2048,\"name\":\"add\",\"url\":\"classes/microcomponents_es3.MC.html#add\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.es3.MC\"},{\"kind\":2048,\"name\":\"remove\",\"url\":\"classes/microcomponents_es3.MC.html#remove\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.es3.MC\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/microcomponents_es3.MC.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"microcomponents.es3.MC\"},{\"kind\":1024,\"name\":\"_target\",\"url\":\"classes/microcomponents_es3.MC.html#_target\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"microcomponents.es3.MC\"},{\"kind\":2048,\"name\":\"siblings\",\"url\":\"classes/microcomponents_es3.MC.html#siblings\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.es3.MC\"},{\"kind\":2048,\"name\":\"parent\",\"url\":\"classes/microcomponents_es3.MC.html#parent\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.es3.MC\"},{\"kind\":2048,\"name\":\"parents\",\"url\":\"classes/microcomponents_es3.MC.html#parents\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.es3.MC\"},{\"kind\":2048,\"name\":\"children\",\"url\":\"classes/microcomponents_es3.MC.html#children\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.es3.MC\"},{\"kind\":2048,\"name\":\"descendants\",\"url\":\"classes/microcomponents_es3.MC.html#descendants\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"microcomponents.es3.MC\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,30.91]],[\"comment/0\",[]],[\"name/1\",[1,25.802]],[\"comment/1\",[]],[\"name/2\",[2,30.91]],[\"comment/2\",[]],[\"name/3\",[3,22.437]],[\"comment/3\",[]],[\"name/4\",[4,22.437]],[\"comment/4\",[]],[\"name/5\",[5,22.437]],[\"comment/5\",[]],[\"name/6\",[6,25.802]],[\"comment/6\",[]],[\"name/7\",[7,25.802]],[\"comment/7\",[]],[\"name/8\",[8,25.802]],[\"comment/8\",[]],[\"name/9\",[9,25.802]],[\"comment/9\",[]],[\"name/10\",[8,25.802]],[\"comment/10\",[]],[\"name/11\",[9,25.802]],[\"comment/11\",[]],[\"name/12\",[7,25.802]],[\"comment/12\",[]],[\"name/13\",[4,22.437]],[\"comment/13\",[]],[\"name/14\",[5,22.437]],[\"comment/14\",[]],[\"name/15\",[3,22.437]],[\"comment/15\",[]],[\"name/16\",[10,25.802]],[\"comment/16\",[]],[\"name/17\",[11,25.802]],[\"comment/17\",[]],[\"name/18\",[12,25.802]],[\"comment/18\",[]],[\"name/19\",[13,25.802]],[\"comment/19\",[]],[\"name/20\",[14,30.91]],[\"comment/20\",[]],[\"name/21\",[15,30.91]],[\"comment/21\",[]],[\"name/22\",[1,25.802]],[\"comment/22\",[]],[\"name/23\",[4,22.437]],[\"comment/23\",[]],[\"name/24\",[5,22.437]],[\"comment/24\",[]],[\"name/25\",[6,25.802]],[\"comment/25\",[]],[\"name/26\",[16,30.91]],[\"comment/26\",[]],[\"name/27\",[3,22.437]],[\"comment/27\",[]],[\"name/28\",[10,25.802]],[\"comment/28\",[]],[\"name/29\",[11,25.802]],[\"comment/29\",[]],[\"name/30\",[12,25.802]],[\"comment/30\",[]],[\"name/31\",[13,25.802]],[\"comment/31\",[]]],\"invertedIndex\":[[\"__isempty\",{\"_index\":15,\"name\":{\"21\":{}},\"comment\":{}}],[\"__type\",{\"_index\":8,\"name\":{\"8\":{},\"10\":{}},\"comment\":{}}],[\"_mc\",{\"_index\":9,\"name\":{\"9\":{},\"11\":{}},\"comment\":{}}],[\"_target\",{\"_index\":16,\"name\":{\"26\":{}},\"comment\":{}}],[\"add\",{\"_index\":4,\"name\":{\"4\":{},\"13\":{},\"23\":{}},\"comment\":{}}],[\"children\",{\"_index\":12,\"name\":{\"18\":{},\"30\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":6,\"name\":{\"6\":{},\"25\":{}},\"comment\":{}}],[\"debug\",{\"_index\":2,\"name\":{\"2\":{}},\"comment\":{}}],[\"descendants\",{\"_index\":13,\"name\":{\"19\":{},\"31\":{}},\"comment\":{}}],[\"mc\",{\"_index\":1,\"name\":{\"1\":{},\"22\":{}},\"comment\":{}}],[\"microcomponents\",{\"_index\":0,\"name\":{\"0\":{}},\"comment\":{}}],[\"microcomponents.es3\",{\"_index\":14,\"name\":{\"20\":{}},\"comment\":{}}],[\"parent\",{\"_index\":10,\"name\":{\"16\":{},\"28\":{}},\"comment\":{}}],[\"parents\",{\"_index\":11,\"name\":{\"17\":{},\"29\":{}},\"comment\":{}}],[\"remove\",{\"_index\":5,\"name\":{\"5\":{},\"14\":{},\"24\":{}},\"comment\":{}}],[\"siblings\",{\"_index\":3,\"name\":{\"3\":{},\"15\":{},\"27\":{}},\"comment\":{}}],[\"target\",{\"_index\":7,\"name\":{\"7\":{},\"12\":{}},\"comment\":{}}]],\"pipeline\":[]}}");