@hurenkam/hue-services 0.6.3 → 0.6.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.
Files changed (112) hide show
  1. package/README.md +17 -5
  2. package/attic-bridge-v2-key.txt +2 -0
  3. package/package.json +1 -1
  4. package/src/all.html +4 -0
  5. package/src/all.js +4 -0
  6. package/src/clip/ClipApi.js +4 -35
  7. package/src/nodes/CameraMotionNode.js +39 -0
  8. package/src/nodes/ContactNode.js +52 -0
  9. package/src/ui/BaseUI.js +1 -3
  10. package/src/ui/CameraMotionUI.js +27 -0
  11. package/src/ui/ContactUI.js +27 -0
  12. package/.nyc_output/b2f41757-3a3e-4377-8622-cddcc882cf32.json +0 -1
  13. package/.nyc_output/processinfo/b2f41757-3a3e-4377-8622-cddcc882cf32.json +0 -1
  14. package/.nyc_output/processinfo/index.json +0 -1
  15. package/.vscode/settings.json +0 -15
  16. package/.vscode/sftp.json +0 -11
  17. package/Todo.txt +0 -18
  18. package/coverage/BaseNode.js.html +0 -379
  19. package/coverage/base.css +0 -224
  20. package/coverage/block-navigation.js +0 -87
  21. package/coverage/favicon.png +0 -0
  22. package/coverage/index.html +0 -146
  23. package/coverage/lcov-report/base.css +0 -224
  24. package/coverage/lcov-report/block-navigation.js +0 -87
  25. package/coverage/lcov-report/favicon.png +0 -0
  26. package/coverage/lcov-report/index.html +0 -161
  27. package/coverage/lcov-report/prettify.css +0 -1
  28. package/coverage/lcov-report/prettify.js +0 -2
  29. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  30. package/coverage/lcov-report/sorter.js +0 -196
  31. package/coverage/lcov-report/src/RestApi.js.html +0 -499
  32. package/coverage/lcov-report/src/all.js.html +0 -208
  33. package/coverage/lcov-report/src/clip/ClipApi.js.html +0 -1096
  34. package/coverage/lcov-report/src/clip/Resource.js.html +0 -481
  35. package/coverage/lcov-report/src/clip/index.html +0 -131
  36. package/coverage/lcov-report/src/debug.js.html +0 -253
  37. package/coverage/lcov-report/src/files.js.html +0 -118
  38. package/coverage/lcov-report/src/index.html +0 -161
  39. package/coverage/lcov-report/src/nodes/BaseNode.js.html +0 -381
  40. package/coverage/lcov-report/src/nodes/BridgeConfigNode.js.html +0 -817
  41. package/coverage/lcov-report/src/nodes/ButtonNode.js.html +0 -241
  42. package/coverage/lcov-report/src/nodes/DevicePowerNode.js.html +0 -199
  43. package/coverage/lcov-report/src/nodes/GroupedLightNode.js.html +0 -226
  44. package/coverage/lcov-report/src/nodes/LightLevelNode.js.html +0 -205
  45. package/coverage/lcov-report/src/nodes/LightNode.js.html +0 -226
  46. package/coverage/lcov-report/src/nodes/MotionNode.js.html +0 -205
  47. package/coverage/lcov-report/src/nodes/RelativeRotaryNode.js.html +0 -253
  48. package/coverage/lcov-report/src/nodes/ResourceNode.js.html +0 -388
  49. package/coverage/lcov-report/src/nodes/SceneNode.js.html +0 -124
  50. package/coverage/lcov-report/src/nodes/ServiceNode.js.html +0 -124
  51. package/coverage/lcov-report/src/nodes/TemperatureNode.js.html +0 -205
  52. package/coverage/lcov-report/src/nodes/ZigbeeConnectivityNode.js.html +0 -199
  53. package/coverage/lcov-report/src/nodes/index.html +0 -311
  54. package/coverage/lcov-report/src/ui/BaseUI.js.html +0 -484
  55. package/coverage/lcov-report/src/ui/BridgeConfigUI.js.html +0 -475
  56. package/coverage/lcov-report/src/ui/ButtonUI.js.html +0 -166
  57. package/coverage/lcov-report/src/ui/DevicePowerUI.js.html +0 -166
  58. package/coverage/lcov-report/src/ui/GroupedLightUI.js.html +0 -178
  59. package/coverage/lcov-report/src/ui/LightLevelUI.js.html +0 -166
  60. package/coverage/lcov-report/src/ui/LightUI.js.html +0 -178
  61. package/coverage/lcov-report/src/ui/MotionUI.js.html +0 -166
  62. package/coverage/lcov-report/src/ui/RelativeRotaryUI.js.html +0 -166
  63. package/coverage/lcov-report/src/ui/ResourceUI.js.html +0 -511
  64. package/coverage/lcov-report/src/ui/SceneUI.js.html +0 -160
  65. package/coverage/lcov-report/src/ui/ServiceUI.js.html +0 -868
  66. package/coverage/lcov-report/src/ui/TemperatureUI.js.html +0 -166
  67. package/coverage/lcov-report/src/ui/ZigbeeConnectivityUI.js.html +0 -166
  68. package/coverage/lcov-report/src/ui/index.html +0 -311
  69. package/coverage/lcov.info +0 -2217
  70. package/coverage/prettify.css +0 -1
  71. package/coverage/prettify.js +0 -2
  72. package/coverage/sort-arrow-sprite.png +0 -0
  73. package/coverage/sorter.js +0 -196
  74. package/coverage/src/RestApi.js.html +0 -499
  75. package/coverage/src/all.js.html +0 -208
  76. package/coverage/src/clip/ClipApi.js.html +0 -1183
  77. package/coverage/src/clip/Resource.js.html +0 -481
  78. package/coverage/src/clip/index.html +0 -131
  79. package/coverage/src/debug.js.html +0 -253
  80. package/coverage/src/files.js.html +0 -118
  81. package/coverage/src/index.html +0 -116
  82. package/coverage/src/nodes/BaseNode.js.html +0 -379
  83. package/coverage/src/nodes/BridgeConfigNode.js.html +0 -517
  84. package/coverage/src/nodes/ButtonNode.js.html +0 -238
  85. package/coverage/src/nodes/DevicePowerNode.js.html +0 -196
  86. package/coverage/src/nodes/GroupedLightNode.js.html +0 -223
  87. package/coverage/src/nodes/LightLevelNode.js.html +0 -202
  88. package/coverage/src/nodes/LightNode.js.html +0 -223
  89. package/coverage/src/nodes/MotionNode.js.html +0 -202
  90. package/coverage/src/nodes/RelativeRotaryNode.js.html +0 -250
  91. package/coverage/src/nodes/ResourceNode.js.html +0 -409
  92. package/coverage/src/nodes/SceneNode.js.html +0 -124
  93. package/coverage/src/nodes/ServiceNode.js.html +0 -124
  94. package/coverage/src/nodes/TemperatureNode.js.html +0 -202
  95. package/coverage/src/nodes/ZigbeeConnectivityNode.js.html +0 -199
  96. package/coverage/src/nodes/index.html +0 -311
  97. package/coverage/src/ui/BaseUI.js.html +0 -484
  98. package/coverage/src/ui/BridgeConfigUI.js.html +0 -475
  99. package/coverage/src/ui/ButtonUI.js.html +0 -166
  100. package/coverage/src/ui/DevicePowerUI.js.html +0 -166
  101. package/coverage/src/ui/GroupedLightUI.js.html +0 -178
  102. package/coverage/src/ui/LightLevelUI.js.html +0 -166
  103. package/coverage/src/ui/LightUI.js.html +0 -178
  104. package/coverage/src/ui/MotionUI.js.html +0 -166
  105. package/coverage/src/ui/RelativeRotaryUI.js.html +0 -166
  106. package/coverage/src/ui/ResourceUI.js.html +0 -511
  107. package/coverage/src/ui/SceneUI.js.html +0 -160
  108. package/coverage/src/ui/ServiceUI.js.html +0 -868
  109. package/coverage/src/ui/TemperatureUI.js.html +0 -166
  110. package/coverage/src/ui/ZigbeeConnectivityUI.js.html +0 -166
  111. package/coverage/src/ui/index.html +0 -311
  112. package/test/BaseUI_spec.js +0 -17
@@ -1,250 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/nodes/RelativeRotaryNode.js</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">src/nodes</a> RelativeRotaryNode.js</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>28/28</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>11/11</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>4/4</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>28/28</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
122
- <span class="cline-any cline-neutral">&nbsp;</span>
123
- <span class="cline-any cline-neutral">&nbsp;</span>
124
- <span class="cline-any cline-neutral">&nbsp;</span>
125
- <span class="cline-any cline-neutral">&nbsp;</span>
126
- <span class="cline-any cline-neutral">&nbsp;</span>
127
- <span class="cline-any cline-neutral">&nbsp;</span>
128
- <span class="cline-any cline-neutral">&nbsp;</span>
129
- <span class="cline-any cline-neutral">&nbsp;</span>
130
- <span class="cline-any cline-yes">7x</span>
131
- <span class="cline-any cline-yes">7x</span>
132
- <span class="cline-any cline-yes">7x</span>
133
- <span class="cline-any cline-yes">7x</span>
134
- <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-yes">7x</span>
136
- <span class="cline-any cline-neutral">&nbsp;</span>
137
- <span class="cline-any cline-neutral">&nbsp;</span>
138
- <span class="cline-any cline-neutral">&nbsp;</span>
139
- <span class="cline-any cline-yes">6x</span>
140
- <span class="cline-any cline-yes">6x</span>
141
- <span class="cline-any cline-neutral">&nbsp;</span>
142
- <span class="cline-any cline-yes">6x</span>
143
- <span class="cline-any cline-yes">6x</span>
144
- <span class="cline-any cline-yes">6x</span>
145
- <span class="cline-any cline-yes">6x</span>
146
- <span class="cline-any cline-neutral">&nbsp;</span>
147
- <span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-yes">6x</span>
149
- <span class="cline-any cline-yes">6x</span>
150
- <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-neutral">&nbsp;</span>
153
- <span class="cline-any cline-yes">10x</span>
154
- <span class="cline-any cline-neutral">&nbsp;</span>
155
- <span class="cline-any cline-yes">10x</span>
156
- <span class="cline-any cline-yes">10x</span>
157
- <span class="cline-any cline-yes">10x</span>
158
- <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-yes">10x</span>
160
- <span class="cline-any cline-yes">10x</span>
161
- <span class="cline-any cline-yes">8x</span>
162
- <span class="cline-any cline-yes">6x</span>
163
- <span class="cline-any cline-yes">6x</span>
164
- <span class="cline-any cline-yes">6x</span>
165
- <span class="cline-any cline-yes">4x</span>
166
- <span class="cline-any cline-yes">4x</span>
167
- <span class="cline-any cline-neutral">&nbsp;</span>
168
- <span class="cline-any cline-neutral">&nbsp;</span>
169
- <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-yes">10x</span>
172
- <span class="cline-any cline-neutral">&nbsp;</span>
173
- <span class="cline-any cline-neutral">&nbsp;</span>
174
- <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-yes">1x</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">ResourceNode = require("./ResourceNode");
177
- &nbsp;
178
- class RelativeRotaryNode extends ResourceNode {
179
- #fill;
180
- &nbsp;
181
- #info;
182
- #trace;
183
- &nbsp;
184
- constructor(config) {
185
- super(config);
186
- this.#info = require('debug')('info').extend('RelativeRotaryNode').extend("["+this.logid()+"]");
187
- this.#trace = require('debug')('trace').extend('RelativeRotaryNode').extend("["+this.logid()+"]");
188
- this.#info("constructor()");
189
- &nbsp;
190
- this.#fill = "grey";
191
- }
192
- &nbsp;
193
- onUpdate(event) {
194
- this.#trace("onUpdate(",event,")");
195
- this.#fill = "blue";
196
-
197
- var instance = this;
198
- setTimeout(()=&gt;{
199
- instance.#fill = "grey";
200
- instance.updateStatus();
201
- },1000);
202
- &nbsp;
203
- this.updateStatus();
204
- super.onUpdate(event);
205
- }
206
- &nbsp;
207
- updateStatus() {
208
- this.#trace("updateStatus()");
209
- &nbsp;
210
- var fill = this.#fill;
211
- var shape = "dot";
212
- var text = "";
213
- &nbsp;
214
- var resource = this.resource();
215
- if ((resource) &amp;&amp; (resource.data()) &amp;&amp; (resource.data().relative_rotary)) {
216
- if (resource.data().relative_rotary.last_event!=null) {
217
- var event = resource.data().relative_rotary.last_event;
218
- text = event.action;
219
- if (event.rotation) {
220
- text += (event.rotation.direction == "clock_wise")? " &gt;&gt; " : " &lt;&lt; ";
221
- text += event.rotation.duration + " | " + event.rotation.steps;
222
- }
223
- }
224
- }
225
- &nbsp;
226
- this.status({fill: fill, shape: shape, text: text});
227
- }
228
- }
229
- &nbsp;
230
- module.exports = RelativeRotaryNode;
231
- &nbsp;</pre></td></tr></table></pre>
232
-
233
- <div class='push'></div><!-- for sticky footer -->
234
- </div><!-- /wrapper -->
235
- <div class='footer quiet pad2 space-top1 center small'>
236
- Code coverage generated by
237
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
238
- at 2023-02-02T21:52:37.695Z
239
- </div>
240
- <script src="../../prettify.js"></script>
241
- <script>
242
- window.onload = function () {
243
- prettyPrint();
244
- };
245
- </script>
246
- <script src="../../sorter.js"></script>
247
- <script src="../../block-navigation.js"></script>
248
- </body>
249
- </html>
250
-
@@ -1,409 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/nodes/ResourceNode.js</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">src/nodes</a> ResourceNode.js</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">97.95% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>48/49</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>20/20</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">90.9% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>10/11</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">97.95% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>48/49</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
175
- <span class="cline-any cline-neutral">&nbsp;</span>
176
- <span class="cline-any cline-yes">1x</span>
177
- <span class="cline-any cline-yes">1x</span>
178
- <span class="cline-any cline-yes">1x</span>
179
- <span class="cline-any cline-yes">1x</span>
180
- <span class="cline-any cline-neutral">&nbsp;</span>
181
- <span class="cline-any cline-neutral">&nbsp;</span>
182
- <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-neutral">&nbsp;</span>
188
- <span class="cline-any cline-neutral">&nbsp;</span>
189
- <span class="cline-any cline-neutral">&nbsp;</span>
190
- <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-yes">70x</span>
192
- <span class="cline-any cline-neutral">&nbsp;</span>
193
- <span class="cline-any cline-yes">70x</span>
194
- <span class="cline-any cline-yes">70x</span>
195
- <span class="cline-any cline-yes">70x</span>
196
- <span class="cline-any cline-yes">70x</span>
197
- <span class="cline-any cline-neutral">&nbsp;</span>
198
- <span class="cline-any cline-yes">70x</span>
199
- <span class="cline-any cline-yes">70x</span>
200
- <span class="cline-any cline-yes">11x</span>
201
- <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-neutral">&nbsp;</span>
203
- <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-yes">9x</span>
206
- <span class="cline-any cline-yes">1x</span>
207
- <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-yes">8x</span>
209
- <span class="cline-any cline-yes">8x</span>
210
- <span class="cline-any cline-neutral">&nbsp;</span>
211
- <span class="cline-any cline-yes">8x</span>
212
- <span class="cline-any cline-yes">8x</span>
213
- <span class="cline-any cline-no">&nbsp;</span>
214
- <span class="cline-any cline-neutral">&nbsp;</span>
215
- <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-yes">8x</span>
217
- <span class="cline-any cline-yes">1x</span>
218
- <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-yes">8x</span>
221
- <span class="cline-any cline-yes">8x</span>
222
- <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-neutral">&nbsp;</span>
225
- <span class="cline-any cline-yes">70x</span>
226
- <span class="cline-any cline-yes">70x</span>
227
- <span class="cline-any cline-yes">70x</span>
228
- <span class="cline-any cline-yes">70x</span>
229
- <span class="cline-any cline-neutral">&nbsp;</span>
230
- <span class="cline-any cline-neutral">&nbsp;</span>
231
- <span class="cline-any cline-neutral">&nbsp;</span>
232
- <span class="cline-any cline-yes">14x</span>
233
- <span class="cline-any cline-neutral">&nbsp;</span>
234
- <span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-neutral">&nbsp;</span>
236
- <span class="cline-any cline-yes">2x</span>
237
- <span class="cline-any cline-neutral">&nbsp;</span>
238
- <span class="cline-any cline-neutral">&nbsp;</span>
239
- <span class="cline-any cline-neutral">&nbsp;</span>
240
- <span class="cline-any cline-yes">7x</span>
241
- <span class="cline-any cline-neutral">&nbsp;</span>
242
- <span class="cline-any cline-neutral">&nbsp;</span>
243
- <span class="cline-any cline-neutral">&nbsp;</span>
244
- <span class="cline-any cline-yes">59x</span>
245
- <span class="cline-any cline-neutral">&nbsp;</span>
246
- <span class="cline-any cline-neutral">&nbsp;</span>
247
- <span class="cline-any cline-neutral">&nbsp;</span>
248
- <span class="cline-any cline-yes">1x</span>
249
- <span class="cline-any cline-yes">1x</span>
250
- <span class="cline-any cline-neutral">&nbsp;</span>
251
- <span class="cline-any cline-neutral">&nbsp;</span>
252
- <span class="cline-any cline-neutral">&nbsp;</span>
253
- <span class="cline-any cline-yes">46x</span>
254
- <span class="cline-any cline-yes">46x</span>
255
- <span class="cline-any cline-neutral">&nbsp;</span>
256
- <span class="cline-any cline-neutral">&nbsp;</span>
257
- <span class="cline-any cline-neutral">&nbsp;</span>
258
- <span class="cline-any cline-yes">5x</span>
259
- <span class="cline-any cline-yes">5x</span>
260
- <span class="cline-any cline-yes">1x</span>
261
- <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-neutral">&nbsp;</span>
263
- <span class="cline-any cline-yes">5x</span>
264
- <span class="cline-any cline-yes">3x</span>
265
- <span class="cline-any cline-yes">1x</span>
266
- <span class="cline-any cline-yes">1x</span>
267
- <span class="cline-any cline-neutral">&nbsp;</span>
268
- <span class="cline-any cline-neutral">&nbsp;</span>
269
- <span class="cline-any cline-neutral">&nbsp;</span>
270
- <span class="cline-any cline-yes">5x</span>
271
- <span class="cline-any cline-yes">2x</span>
272
- <span class="cline-any cline-yes">1x</span>
273
- <span class="cline-any cline-yes">1x</span>
274
- <span class="cline-any cline-neutral">&nbsp;</span>
275
- <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-yes">5x</span>
278
- <span class="cline-any cline-neutral">&nbsp;</span>
279
- <span class="cline-any cline-neutral">&nbsp;</span>
280
- <span class="cline-any cline-neutral">&nbsp;</span>
281
- <span class="cline-any cline-yes">1x</span>
282
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">BaseNode = require("./BaseNode");
283
- &nbsp;
284
- const _error = require('debug')('error').extend('ResourceNode');
285
- const _warn = require('debug')('warn').extend('ResourceNode');
286
- const _info = require('debug')('info').extend('ResourceNode');
287
- const _trace = require('debug')('trace').extend('ResourceNode');
288
- &nbsp;
289
- class ResourceNode extends BaseNode {
290
- #onUpdate;
291
- #resource;
292
- &nbsp;
293
- #error;
294
- #warn;
295
- #info;
296
- #trace;
297
- &nbsp;
298
- constructor(config) {
299
- super(config);
300
- &nbsp;
301
- this.#error = _error.extend("["+this.logid()+"]");
302
- this.#warn = _warn. extend("["+this.logid()+"]");
303
- this.#info = _info. extend("["+this.logid()+"]");
304
- this.#trace = _trace.extend("["+this.logid()+"]");
305
- &nbsp;
306
- this.#info("constructor()");
307
- if (this.bridge()) {
308
- this.bridge().requestStartup(this);
309
- }
310
- }
311
- &nbsp;
312
- start(resource) {
313
- if (resource==null)
314
- return;
315
- &nbsp;
316
- this.#info("start()");
317
- this.#resource = resource;
318
- &nbsp;
319
- var instance = this;
320
- this.#onUpdate = <span class="fstat-no" title="function not covered" >fu</span>nction(event) {
321
- <span class="cstat-no" title="statement not covered" > instance.onUpdate(event);</span>
322
- }
323
- &nbsp;
324
- if (this.startevent()==true) {
325
- this.onStartup(resource.data())
326
- }
327
- &nbsp;
328
- this.resource().on('update',this.#onUpdate);
329
- this.updateStatus();
330
- }
331
- &nbsp;
332
- destructor() {
333
- this.#info("destructor()");
334
- this.removeAllListeners();
335
- this.#resource = null;
336
- super.destructor();
337
- }
338
- &nbsp;
339
- resource() {
340
- return this.#resource;
341
- }
342
- &nbsp;
343
- rid() {
344
- return this.config.uuid;
345
- }
346
- &nbsp;
347
- startevent() {
348
- return this.config.startevent;
349
- }
350
- &nbsp;
351
- bridge() {
352
- return BaseNode.nodeAPI.nodes.getNode(this.config.bridge);
353
- }
354
- &nbsp;
355
- onStartup(event) {
356
- this.#trace("onStartup()");
357
- this.send({ payload: event });
358
- }
359
- &nbsp;
360
- onUpdate(event) {
361
- this.#trace("onUpdate()");
362
- this.send({ payload: event });
363
- }
364
- &nbsp;
365
- onInput(msg) {
366
- var resource = this.resource();
367
- if (!resource) {
368
- this.#trace("onInput(): Resource not found",this.rid());
369
- }
370
- &nbsp;
371
- if (msg.rtypes) {
372
- if ((resource) &amp;&amp; (msg.rtypes.includes(resource.rtype()))) {
373
- this.#trace("onInput(",msg.payload,")");
374
- resource.put(msg.payload);
375
- }
376
- }
377
- &nbsp;
378
- if (msg.rids) {
379
- if ((resource) &amp;&amp; (msg.rids.includes(resource.rid()))) {
380
- this.#trace("onInput(",msg.payload,")");
381
- resource.put(msg.payload);
382
- }
383
- }
384
- &nbsp;
385
- super.onInput(msg);
386
- }
387
- }
388
- &nbsp;
389
- module.exports = ResourceNode;
390
- &nbsp;</pre></td></tr></table></pre>
391
-
392
- <div class='push'></div><!-- for sticky footer -->
393
- </div><!-- /wrapper -->
394
- <div class='footer quiet pad2 space-top1 center small'>
395
- Code coverage generated by
396
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
397
- at 2023-02-02T21:52:37.695Z
398
- </div>
399
- <script src="../../prettify.js"></script>
400
- <script>
401
- window.onload = function () {
402
- prettyPrint();
403
- };
404
- </script>
405
- <script src="../../sorter.js"></script>
406
- <script src="../../block-navigation.js"></script>
407
- </body>
408
- </html>
409
-