@hurenkam/hue-services 0.6.4 → 0.6.6

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 (121) hide show
  1. package/.nyc_output/ccf277a0-5927-457e-9598-5bb4939612f5.json +1 -0
  2. package/.nyc_output/processinfo/ccf277a0-5927-457e-9598-5bb4939612f5.json +1 -0
  3. package/README.md +16 -5
  4. package/acquire_token_failed.log +14 -0
  5. package/attic-bridge-v2-key.txt +2 -0
  6. package/bridge_v3_grouped_light.log +43 -0
  7. package/cross_room_onoff.log +42 -0
  8. package/package.json +1 -1
  9. package/select_fire_effect.log +59 -0
  10. package/src/RestApi.js +21 -5
  11. package/src/all.html +4 -0
  12. package/src/all.js +4 -0
  13. package/src/clip/ClipApi.js +4 -35
  14. package/src/clip/Resource.js +1 -1
  15. package/src/nodes/BridgeConfigNode.js +1 -1
  16. package/src/nodes/CameraMotionNode.js +39 -0
  17. package/src/nodes/ContactNode.js +52 -0
  18. package/src/nodes/ResourceNode.js +21 -12
  19. package/src/ui/CameraMotionUI.js +27 -0
  20. package/src/ui/ContactUI.js +27 -0
  21. package/.nyc_output/badbd0a1-e95b-4210-b112-988173b5b131.json +0 -1
  22. package/.nyc_output/processinfo/badbd0a1-e95b-4210-b112-988173b5b131.json +0 -1
  23. package/.nyc_output/processinfo/index.json +0 -1
  24. package/.vscode/settings.json +0 -15
  25. package/.vscode/sftp.json +0 -11
  26. package/Todo.txt +0 -18
  27. package/coverage/BaseNode.js.html +0 -379
  28. package/coverage/base.css +0 -224
  29. package/coverage/block-navigation.js +0 -87
  30. package/coverage/favicon.png +0 -0
  31. package/coverage/index.html +0 -146
  32. package/coverage/lcov-report/base.css +0 -224
  33. package/coverage/lcov-report/block-navigation.js +0 -87
  34. package/coverage/lcov-report/favicon.png +0 -0
  35. package/coverage/lcov-report/index.html +0 -161
  36. package/coverage/lcov-report/prettify.css +0 -1
  37. package/coverage/lcov-report/prettify.js +0 -2
  38. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  39. package/coverage/lcov-report/sorter.js +0 -196
  40. package/coverage/lcov-report/src/RestApi.js.html +0 -499
  41. package/coverage/lcov-report/src/all.js.html +0 -208
  42. package/coverage/lcov-report/src/clip/ClipApi.js.html +0 -1096
  43. package/coverage/lcov-report/src/clip/Resource.js.html +0 -481
  44. package/coverage/lcov-report/src/clip/index.html +0 -131
  45. package/coverage/lcov-report/src/debug.js.html +0 -253
  46. package/coverage/lcov-report/src/files.js.html +0 -118
  47. package/coverage/lcov-report/src/index.html +0 -161
  48. package/coverage/lcov-report/src/nodes/BaseNode.js.html +0 -381
  49. package/coverage/lcov-report/src/nodes/BridgeConfigNode.js.html +0 -817
  50. package/coverage/lcov-report/src/nodes/ButtonNode.js.html +0 -241
  51. package/coverage/lcov-report/src/nodes/DevicePowerNode.js.html +0 -199
  52. package/coverage/lcov-report/src/nodes/GroupedLightNode.js.html +0 -226
  53. package/coverage/lcov-report/src/nodes/LightLevelNode.js.html +0 -205
  54. package/coverage/lcov-report/src/nodes/LightNode.js.html +0 -226
  55. package/coverage/lcov-report/src/nodes/MotionNode.js.html +0 -205
  56. package/coverage/lcov-report/src/nodes/RelativeRotaryNode.js.html +0 -253
  57. package/coverage/lcov-report/src/nodes/ResourceNode.js.html +0 -388
  58. package/coverage/lcov-report/src/nodes/SceneNode.js.html +0 -124
  59. package/coverage/lcov-report/src/nodes/ServiceNode.js.html +0 -124
  60. package/coverage/lcov-report/src/nodes/TemperatureNode.js.html +0 -205
  61. package/coverage/lcov-report/src/nodes/ZigbeeConnectivityNode.js.html +0 -199
  62. package/coverage/lcov-report/src/nodes/index.html +0 -311
  63. package/coverage/lcov-report/src/ui/BaseUI.js.html +0 -484
  64. package/coverage/lcov-report/src/ui/BridgeConfigUI.js.html +0 -475
  65. package/coverage/lcov-report/src/ui/ButtonUI.js.html +0 -166
  66. package/coverage/lcov-report/src/ui/DevicePowerUI.js.html +0 -166
  67. package/coverage/lcov-report/src/ui/GroupedLightUI.js.html +0 -178
  68. package/coverage/lcov-report/src/ui/LightLevelUI.js.html +0 -166
  69. package/coverage/lcov-report/src/ui/LightUI.js.html +0 -178
  70. package/coverage/lcov-report/src/ui/MotionUI.js.html +0 -166
  71. package/coverage/lcov-report/src/ui/RelativeRotaryUI.js.html +0 -166
  72. package/coverage/lcov-report/src/ui/ResourceUI.js.html +0 -511
  73. package/coverage/lcov-report/src/ui/SceneUI.js.html +0 -160
  74. package/coverage/lcov-report/src/ui/ServiceUI.js.html +0 -868
  75. package/coverage/lcov-report/src/ui/TemperatureUI.js.html +0 -166
  76. package/coverage/lcov-report/src/ui/ZigbeeConnectivityUI.js.html +0 -166
  77. package/coverage/lcov-report/src/ui/index.html +0 -311
  78. package/coverage/lcov.info +0 -2217
  79. package/coverage/prettify.css +0 -1
  80. package/coverage/prettify.js +0 -2
  81. package/coverage/sort-arrow-sprite.png +0 -0
  82. package/coverage/sorter.js +0 -196
  83. package/coverage/src/RestApi.js.html +0 -499
  84. package/coverage/src/all.js.html +0 -208
  85. package/coverage/src/clip/ClipApi.js.html +0 -1183
  86. package/coverage/src/clip/Resource.js.html +0 -481
  87. package/coverage/src/clip/index.html +0 -131
  88. package/coverage/src/debug.js.html +0 -253
  89. package/coverage/src/files.js.html +0 -118
  90. package/coverage/src/index.html +0 -116
  91. package/coverage/src/nodes/BaseNode.js.html +0 -379
  92. package/coverage/src/nodes/BridgeConfigNode.js.html +0 -517
  93. package/coverage/src/nodes/ButtonNode.js.html +0 -238
  94. package/coverage/src/nodes/DevicePowerNode.js.html +0 -196
  95. package/coverage/src/nodes/GroupedLightNode.js.html +0 -223
  96. package/coverage/src/nodes/LightLevelNode.js.html +0 -202
  97. package/coverage/src/nodes/LightNode.js.html +0 -223
  98. package/coverage/src/nodes/MotionNode.js.html +0 -202
  99. package/coverage/src/nodes/RelativeRotaryNode.js.html +0 -250
  100. package/coverage/src/nodes/ResourceNode.js.html +0 -409
  101. package/coverage/src/nodes/SceneNode.js.html +0 -124
  102. package/coverage/src/nodes/ServiceNode.js.html +0 -124
  103. package/coverage/src/nodes/TemperatureNode.js.html +0 -202
  104. package/coverage/src/nodes/ZigbeeConnectivityNode.js.html +0 -199
  105. package/coverage/src/nodes/index.html +0 -311
  106. package/coverage/src/ui/BaseUI.js.html +0 -484
  107. package/coverage/src/ui/BridgeConfigUI.js.html +0 -475
  108. package/coverage/src/ui/ButtonUI.js.html +0 -166
  109. package/coverage/src/ui/DevicePowerUI.js.html +0 -166
  110. package/coverage/src/ui/GroupedLightUI.js.html +0 -178
  111. package/coverage/src/ui/LightLevelUI.js.html +0 -166
  112. package/coverage/src/ui/LightUI.js.html +0 -178
  113. package/coverage/src/ui/MotionUI.js.html +0 -166
  114. package/coverage/src/ui/RelativeRotaryUI.js.html +0 -166
  115. package/coverage/src/ui/ResourceUI.js.html +0 -511
  116. package/coverage/src/ui/SceneUI.js.html +0 -160
  117. package/coverage/src/ui/ServiceUI.js.html +0 -868
  118. package/coverage/src/ui/TemperatureUI.js.html +0 -166
  119. package/coverage/src/ui/ZigbeeConnectivityUI.js.html +0 -166
  120. package/coverage/src/ui/index.html +0 -311
  121. 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-03T22:21:29.454Z
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-03T22:21:29.454Z
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
-