@hurenkam/hue-services 0.6.4 → 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 (111) hide show
  1. package/README.md +14 -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/CameraMotionUI.js +27 -0
  10. package/src/ui/ContactUI.js +27 -0
  11. package/.nyc_output/badbd0a1-e95b-4210-b112-988173b5b131.json +0 -1
  12. package/.nyc_output/processinfo/badbd0a1-e95b-4210-b112-988173b5b131.json +0 -1
  13. package/.nyc_output/processinfo/index.json +0 -1
  14. package/.vscode/settings.json +0 -15
  15. package/.vscode/sftp.json +0 -11
  16. package/Todo.txt +0 -18
  17. package/coverage/BaseNode.js.html +0 -379
  18. package/coverage/base.css +0 -224
  19. package/coverage/block-navigation.js +0 -87
  20. package/coverage/favicon.png +0 -0
  21. package/coverage/index.html +0 -146
  22. package/coverage/lcov-report/base.css +0 -224
  23. package/coverage/lcov-report/block-navigation.js +0 -87
  24. package/coverage/lcov-report/favicon.png +0 -0
  25. package/coverage/lcov-report/index.html +0 -161
  26. package/coverage/lcov-report/prettify.css +0 -1
  27. package/coverage/lcov-report/prettify.js +0 -2
  28. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  29. package/coverage/lcov-report/sorter.js +0 -196
  30. package/coverage/lcov-report/src/RestApi.js.html +0 -499
  31. package/coverage/lcov-report/src/all.js.html +0 -208
  32. package/coverage/lcov-report/src/clip/ClipApi.js.html +0 -1096
  33. package/coverage/lcov-report/src/clip/Resource.js.html +0 -481
  34. package/coverage/lcov-report/src/clip/index.html +0 -131
  35. package/coverage/lcov-report/src/debug.js.html +0 -253
  36. package/coverage/lcov-report/src/files.js.html +0 -118
  37. package/coverage/lcov-report/src/index.html +0 -161
  38. package/coverage/lcov-report/src/nodes/BaseNode.js.html +0 -381
  39. package/coverage/lcov-report/src/nodes/BridgeConfigNode.js.html +0 -817
  40. package/coverage/lcov-report/src/nodes/ButtonNode.js.html +0 -241
  41. package/coverage/lcov-report/src/nodes/DevicePowerNode.js.html +0 -199
  42. package/coverage/lcov-report/src/nodes/GroupedLightNode.js.html +0 -226
  43. package/coverage/lcov-report/src/nodes/LightLevelNode.js.html +0 -205
  44. package/coverage/lcov-report/src/nodes/LightNode.js.html +0 -226
  45. package/coverage/lcov-report/src/nodes/MotionNode.js.html +0 -205
  46. package/coverage/lcov-report/src/nodes/RelativeRotaryNode.js.html +0 -253
  47. package/coverage/lcov-report/src/nodes/ResourceNode.js.html +0 -388
  48. package/coverage/lcov-report/src/nodes/SceneNode.js.html +0 -124
  49. package/coverage/lcov-report/src/nodes/ServiceNode.js.html +0 -124
  50. package/coverage/lcov-report/src/nodes/TemperatureNode.js.html +0 -205
  51. package/coverage/lcov-report/src/nodes/ZigbeeConnectivityNode.js.html +0 -199
  52. package/coverage/lcov-report/src/nodes/index.html +0 -311
  53. package/coverage/lcov-report/src/ui/BaseUI.js.html +0 -484
  54. package/coverage/lcov-report/src/ui/BridgeConfigUI.js.html +0 -475
  55. package/coverage/lcov-report/src/ui/ButtonUI.js.html +0 -166
  56. package/coverage/lcov-report/src/ui/DevicePowerUI.js.html +0 -166
  57. package/coverage/lcov-report/src/ui/GroupedLightUI.js.html +0 -178
  58. package/coverage/lcov-report/src/ui/LightLevelUI.js.html +0 -166
  59. package/coverage/lcov-report/src/ui/LightUI.js.html +0 -178
  60. package/coverage/lcov-report/src/ui/MotionUI.js.html +0 -166
  61. package/coverage/lcov-report/src/ui/RelativeRotaryUI.js.html +0 -166
  62. package/coverage/lcov-report/src/ui/ResourceUI.js.html +0 -511
  63. package/coverage/lcov-report/src/ui/SceneUI.js.html +0 -160
  64. package/coverage/lcov-report/src/ui/ServiceUI.js.html +0 -868
  65. package/coverage/lcov-report/src/ui/TemperatureUI.js.html +0 -166
  66. package/coverage/lcov-report/src/ui/ZigbeeConnectivityUI.js.html +0 -166
  67. package/coverage/lcov-report/src/ui/index.html +0 -311
  68. package/coverage/lcov.info +0 -2217
  69. package/coverage/prettify.css +0 -1
  70. package/coverage/prettify.js +0 -2
  71. package/coverage/sort-arrow-sprite.png +0 -0
  72. package/coverage/sorter.js +0 -196
  73. package/coverage/src/RestApi.js.html +0 -499
  74. package/coverage/src/all.js.html +0 -208
  75. package/coverage/src/clip/ClipApi.js.html +0 -1183
  76. package/coverage/src/clip/Resource.js.html +0 -481
  77. package/coverage/src/clip/index.html +0 -131
  78. package/coverage/src/debug.js.html +0 -253
  79. package/coverage/src/files.js.html +0 -118
  80. package/coverage/src/index.html +0 -116
  81. package/coverage/src/nodes/BaseNode.js.html +0 -379
  82. package/coverage/src/nodes/BridgeConfigNode.js.html +0 -517
  83. package/coverage/src/nodes/ButtonNode.js.html +0 -238
  84. package/coverage/src/nodes/DevicePowerNode.js.html +0 -196
  85. package/coverage/src/nodes/GroupedLightNode.js.html +0 -223
  86. package/coverage/src/nodes/LightLevelNode.js.html +0 -202
  87. package/coverage/src/nodes/LightNode.js.html +0 -223
  88. package/coverage/src/nodes/MotionNode.js.html +0 -202
  89. package/coverage/src/nodes/RelativeRotaryNode.js.html +0 -250
  90. package/coverage/src/nodes/ResourceNode.js.html +0 -409
  91. package/coverage/src/nodes/SceneNode.js.html +0 -124
  92. package/coverage/src/nodes/ServiceNode.js.html +0 -124
  93. package/coverage/src/nodes/TemperatureNode.js.html +0 -202
  94. package/coverage/src/nodes/ZigbeeConnectivityNode.js.html +0 -199
  95. package/coverage/src/nodes/index.html +0 -311
  96. package/coverage/src/ui/BaseUI.js.html +0 -484
  97. package/coverage/src/ui/BridgeConfigUI.js.html +0 -475
  98. package/coverage/src/ui/ButtonUI.js.html +0 -166
  99. package/coverage/src/ui/DevicePowerUI.js.html +0 -166
  100. package/coverage/src/ui/GroupedLightUI.js.html +0 -178
  101. package/coverage/src/ui/LightLevelUI.js.html +0 -166
  102. package/coverage/src/ui/LightUI.js.html +0 -178
  103. package/coverage/src/ui/MotionUI.js.html +0 -166
  104. package/coverage/src/ui/RelativeRotaryUI.js.html +0 -166
  105. package/coverage/src/ui/ResourceUI.js.html +0 -511
  106. package/coverage/src/ui/SceneUI.js.html +0 -160
  107. package/coverage/src/ui/ServiceUI.js.html +0 -868
  108. package/coverage/src/ui/TemperatureUI.js.html +0 -166
  109. package/coverage/src/ui/ZigbeeConnectivityUI.js.html +0 -166
  110. package/coverage/src/ui/index.html +0 -311
  111. package/test/BaseUI_spec.js +0 -17
@@ -1,499 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/RestApi.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</a> RestApi.js</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>0/66</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/12</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>0/15</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>0/66</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 low'></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>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
205
- <span class="cline-any cline-no">&nbsp;</span>
206
- <span class="cline-any cline-no">&nbsp;</span>
207
- <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-no">&nbsp;</span>
209
- <span class="cline-any cline-no">&nbsp;</span>
210
- <span class="cline-any cline-no">&nbsp;</span>
211
- <span class="cline-any cline-no">&nbsp;</span>
212
- <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
217
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
221
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
226
- <span class="cline-any cline-no">&nbsp;</span>
227
- <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-no">&nbsp;</span>
229
- <span class="cline-any cline-no">&nbsp;</span>
230
- <span class="cline-any cline-no">&nbsp;</span>
231
- <span class="cline-any cline-no">&nbsp;</span>
232
- <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-no">&nbsp;</span>
234
- <span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-no">&nbsp;</span>
236
- <span class="cline-any cline-no">&nbsp;</span>
237
- <span class="cline-any cline-no">&nbsp;</span>
238
- <span class="cline-any cline-no">&nbsp;</span>
239
- <span class="cline-any cline-no">&nbsp;</span>
240
- <span class="cline-any cline-neutral">&nbsp;</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-no">&nbsp;</span>
244
- <span class="cline-any cline-no">&nbsp;</span>
245
- <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
249
- <span class="cline-any cline-no">&nbsp;</span>
250
- <span class="cline-any cline-no">&nbsp;</span>
251
- <span class="cline-any cline-no">&nbsp;</span>
252
- <span class="cline-any cline-no">&nbsp;</span>
253
- <span class="cline-any cline-neutral">&nbsp;</span>
254
- <span class="cline-any cline-neutral">&nbsp;</span>
255
- <span class="cline-any cline-no">&nbsp;</span>
256
- <span class="cline-any cline-no">&nbsp;</span>
257
- <span class="cline-any cline-no">&nbsp;</span>
258
- <span class="cline-any cline-no">&nbsp;</span>
259
- <span class="cline-any cline-neutral">&nbsp;</span>
260
- <span class="cline-any cline-neutral">&nbsp;</span>
261
- <span class="cline-any cline-no">&nbsp;</span>
262
- <span class="cline-any cline-neutral">&nbsp;</span>
263
- <span class="cline-any cline-neutral">&nbsp;</span>
264
- <span class="cline-any cline-neutral">&nbsp;</span>
265
- <span class="cline-any cline-no">&nbsp;</span>
266
- <span class="cline-any cline-no">&nbsp;</span>
267
- <span class="cline-any cline-neutral">&nbsp;</span>
268
- <span class="cline-any cline-no">&nbsp;</span>
269
- <span class="cline-any cline-neutral">&nbsp;</span>
270
- <span class="cline-any cline-neutral">&nbsp;</span>
271
- <span class="cline-any cline-neutral">&nbsp;</span>
272
- <span class="cline-any cline-neutral">&nbsp;</span>
273
- <span class="cline-any cline-neutral">&nbsp;</span>
274
- <span class="cline-any cline-no">&nbsp;</span>
275
- <span class="cline-any cline-no">&nbsp;</span>
276
- <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
282
- <span class="cline-any cline-no">&nbsp;</span>
283
- <span class="cline-any cline-no">&nbsp;</span>
284
- <span class="cline-any cline-no">&nbsp;</span>
285
- <span class="cline-any cline-neutral">&nbsp;</span>
286
- <span class="cline-any cline-no">&nbsp;</span>
287
- <span class="cline-any cline-no">&nbsp;</span>
288
- <span class="cline-any cline-neutral">&nbsp;</span>
289
- <span class="cline-any cline-no">&nbsp;</span>
290
- <span class="cline-any cline-no">&nbsp;</span>
291
- <span class="cline-any cline-no">&nbsp;</span>
292
- <span class="cline-any cline-neutral">&nbsp;</span>
293
- <span class="cline-any cline-neutral">&nbsp;</span>
294
- <span class="cline-any cline-no">&nbsp;</span>
295
- <span class="cline-any cline-no">&nbsp;</span>
296
- <span class="cline-any cline-no">&nbsp;</span>
297
- <span class="cline-any cline-neutral">&nbsp;</span>
298
- <span class="cline-any cline-neutral">&nbsp;</span>
299
- <span class="cline-any cline-no">&nbsp;</span>
300
- <span class="cline-any cline-neutral">&nbsp;</span>
301
- <span class="cline-any cline-neutral">&nbsp;</span>
302
- <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-neutral">&nbsp;</span>
304
- <span class="cline-any cline-no">&nbsp;</span>
305
- <span class="cline-any cline-neutral">&nbsp;</span>
306
- <span class="cline-any cline-neutral">&nbsp;</span>
307
- <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-neutral">&nbsp;</span>
309
- <span class="cline-any cline-no">&nbsp;</span>
310
- <span class="cline-any cline-no">&nbsp;</span>
311
- <span class="cline-any cline-no">&nbsp;</span>
312
- <span class="cline-any cline-no">&nbsp;</span>
313
- <span class="cline-any cline-neutral">&nbsp;</span>
314
- <span class="cline-any cline-neutral">&nbsp;</span>
315
- <span class="cline-any cline-neutral">&nbsp;</span>
316
- <span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-no">&nbsp;</span>
318
- <span class="cline-any cline-no">&nbsp;</span>
319
- <span class="cline-any cline-no">&nbsp;</span>
320
- <span class="cline-any cline-no">&nbsp;</span>
321
- <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-neutral">&nbsp;</span>
325
- <span class="cline-any cline-no">&nbsp;</span>
326
- <span class="cline-any cline-no">&nbsp;</span>
327
- <span class="cline-any cline-no">&nbsp;</span>
328
- <span class="cline-any cline-no">&nbsp;</span>
329
- <span class="cline-any cline-neutral">&nbsp;</span>
330
- <span class="cline-any cline-neutral">&nbsp;</span>
331
- <span class="cline-any cline-neutral">&nbsp;</span>
332
- <span class="cline-any cline-neutral">&nbsp;</span>
333
- <span class="cline-any cline-no">&nbsp;</span>
334
- <span class="cline-any cline-no">&nbsp;</span>
335
- <span class="cline-any cline-no">&nbsp;</span>
336
- <span class="cline-any cline-no">&nbsp;</span>
337
- <span class="cline-any cline-neutral">&nbsp;</span>
338
- <span class="cline-any cline-neutral">&nbsp;</span>
339
- <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-neutral">&nbsp;</span>
341
- <span class="cline-any cline-no">&nbsp;</span>
342
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const axios = <span class="cstat-no" title="statement not covered" >require('axios');</span>
343
- const https = <span class="cstat-no" title="statement not covered" >require('https');</span>
344
- const limiter = <span class="cstat-no" title="statement not covered" >require('limiter');</span>
345
- &nbsp;
346
- const _error = <span class="cstat-no" title="statement not covered" >require('debug')('error').extend('RestApi');</span>
347
- const _warn = <span class="cstat-no" title="statement not covered" >require('debug')('warn').extend('RestApi');</span>
348
- const _info = <span class="cstat-no" title="statement not covered" >require('debug')('info').extend('RestApi');</span>
349
- const _trace = <span class="cstat-no" title="statement not covered" >require('debug')('trace').extend('RestApi');</span>
350
- &nbsp;
351
- class RestApi {
352
- #ip;
353
- #headers;
354
- #requestQ;
355
- #timeout;
356
- #limiter;
357
- &nbsp;
358
- #error;
359
- #warn;
360
- #info;
361
- #trace;
362
- &nbsp;
363
- <span class="fstat-no" title="function not covered" > co</span>nstructor(name,ip,throttle,headers) {
364
- <span class="cstat-no" title="statement not covered" > this.#limiter = new limiter.RateLimiter(throttle);</span>
365
- &nbsp;
366
- <span class="cstat-no" title="statement not covered" > this.#error = _error.extend("["+name+"]");</span>
367
- <span class="cstat-no" title="statement not covered" > this.#warn = _warn. extend("["+name+"]");</span>
368
- <span class="cstat-no" title="statement not covered" > this.#info = _info. extend("["+name+"]");</span>
369
- <span class="cstat-no" title="statement not covered" > this.#trace = _trace.extend("["+name+"]");</span>
370
- &nbsp;
371
- <span class="cstat-no" title="statement not covered" > this.#info("constructor()");</span>
372
- &nbsp;
373
- <span class="cstat-no" title="statement not covered" > this.#ip = ip;</span>
374
- <span class="cstat-no" title="statement not covered" > this.#headers = { "Content-Type": "application/json; charset=utf-8" };</span>
375
- <span class="cstat-no" title="statement not covered" > if (headers) {</span>
376
- <span class="cstat-no" title="statement not covered" > Object.keys(headers).forEach(<span class="fstat-no" title="function not covered" >ke</span>y =&gt; {</span>
377
- <span class="cstat-no" title="statement not covered" > this.#headers[key] = headers[key];</span>
378
- });
379
- };
380
- &nbsp;
381
- <span class="cstat-no" title="statement not covered" > this.#requestQ = [];</span>
382
- <span class="cstat-no" title="statement not covered" > this.#handleRequest();</span>
383
- <span class="cstat-no" title="statement not covered" > this.#timeout = null;</span>
384
- }
385
- &nbsp;
386
- <span class="fstat-no" title="function not covered" > de</span>structor() {
387
- <span class="cstat-no" title="statement not covered" > this.#info("destructor()");</span>
388
- <span class="cstat-no" title="statement not covered" > if (this.#timeout) {</span>
389
- <span class="cstat-no" title="statement not covered" > clearTimeout(this.#timeout);</span>
390
- <span class="cstat-no" title="statement not covered" > this.#timeout = null;</span>
391
- }
392
- &nbsp;
393
- <span class="cstat-no" title="statement not covered" > if (this.#requestQ) {</span>
394
- <span class="cstat-no" title="statement not covered" > this.#requestQ.forEach(<span class="fstat-no" title="function not covered" >it</span>em =&gt; {</span>
395
- <span class="cstat-no" title="statement not covered" > item.resolve = null;</span>
396
- <span class="cstat-no" title="statement not covered" > item.reject = null;</span>
397
- });
398
- }
399
- <span class="cstat-no" title="statement not covered" > this.#requestQ = null;</span>
400
- }
401
- &nbsp;
402
- async #request(url, method=<span class="branch-0 cbranch-no" title="branch not covered" >"GET",</span> data=<span class="branch-0 cbranch-no" title="branch not covered" >null)</span> {
403
- var realurl = <span class="cstat-no" title="statement not covered" >"https://" + this.#ip + url;</span>
404
- <span class="cstat-no" title="statement not covered" > this.#info("_request(" + realurl + ", " + method + ",",data,")");</span>
405
- &nbsp;
406
- var request = <span class="cstat-no" title="statement not covered" >{</span>
407
- "method": method,
408
- "url": realurl,
409
- "headers": this.#headers,
410
- "httpsAgent": new https.Agent({ rejectUnauthorized: false })
411
- }
412
- <span class="cstat-no" title="statement not covered" > if (data) {</span>
413
- <span class="cstat-no" title="statement not covered" > request["data"] = data;</span>
414
- }
415
- &nbsp;
416
- <span class="cstat-no" title="statement not covered" > return axios(request);</span>
417
- }
418
- &nbsp;
419
- #handleRequest() {
420
- <span class="cstat-no" title="statement not covered" > if (this.#requestQ.length &gt; 0) {</span>
421
- <span class="cstat-no" title="statement not covered" > this.#info("_handleRequest() pending: " + this.#requestQ.length);</span>
422
- var local = <span class="cstat-no" title="statement not covered" >this;</span>
423
- &nbsp;
424
- var request = <span class="cstat-no" title="statement not covered" >this.#requestQ.shift();</span>
425
- <span class="cstat-no" title="statement not covered" > this.#request(request.url, request.method, request.data)</span>
426
- .then(<span class="fstat-no" title="function not covered" >as</span>ync (result) =&gt; {
427
- <span class="cstat-no" title="statement not covered" > await local.#limiter.removeTokens(1,<span class="fstat-no" title="function not covered" >()</span>=&gt;{});</span>
428
- <span class="cstat-no" title="statement not covered" > request.resolve(result.data);</span>
429
- <span class="cstat-no" title="statement not covered" > this.#timeout = setTimeout(this.#handleRequest.bind(this), 0);</span>
430
- })
431
- .catch(<span class="fstat-no" title="function not covered" >(e</span>rror) =&gt; {
432
- <span class="cstat-no" title="statement not covered" > this.#error("_handleRequest(" + request.url + ") error: ");</span>
433
- <span class="cstat-no" title="statement not covered" > this.#error(error);</span>
434
- <span class="cstat-no" title="statement not covered" > request.reject();</span>
435
- &nbsp;
436
- // back off for a few seconds, just in case we ran into a 429 error.
437
- <span class="cstat-no" title="statement not covered" > local.#timeout = setTimeout(local.#handleRequest.bind(local), 5000);</span>
438
- });
439
- &nbsp;
440
- } else {
441
- // if no request was pending, then check again soon
442
- <span class="cstat-no" title="statement not covered" > this.#timeout = setTimeout(this.#handleRequest.bind(this), 100);</span>
443
- }
444
- }
445
- &nbsp;
446
- <span class="fstat-no" title="function not covered" > ge</span>t(url) {
447
- <span class="cstat-no" title="statement not covered" > this.#trace("get(" + url + ")");</span>
448
- var local = <span class="cstat-no" title="statement not covered" >this;</span>
449
- <span class="cstat-no" title="statement not covered" > return new Promise(<span class="fstat-no" title="function not covered" >fu</span>nction (resolve, reject) {</span>
450
- <span class="cstat-no" title="statement not covered" > local.#requestQ.push({ url: url, method: "GET", data: null, resolve: resolve, reject: reject });</span>
451
- });
452
- }
453
- &nbsp;
454
- <span class="fstat-no" title="function not covered" > pu</span>t(url, data) {
455
- <span class="cstat-no" title="statement not covered" > this.#trace("put(" + url + ")");</span>
456
- var local = <span class="cstat-no" title="statement not covered" >this;</span>
457
- <span class="cstat-no" title="statement not covered" > return new Promise(<span class="fstat-no" title="function not covered" >fu</span>nction (resolve, reject) {</span>
458
- <span class="cstat-no" title="statement not covered" > local.#requestQ.push({ url: url, method: "PUT", data: data, resolve: resolve, reject: reject });</span>
459
- });
460
- }
461
- &nbsp;
462
- <span class="fstat-no" title="function not covered" > po</span>st(url, data) {
463
- <span class="cstat-no" title="statement not covered" > this.#trace(".post(" + url + ")");</span>
464
- var local = <span class="cstat-no" title="statement not covered" >this;</span>
465
- <span class="cstat-no" title="statement not covered" > return new Promise(<span class="fstat-no" title="function not covered" >fu</span>nction (resolve, reject) {</span>
466
- <span class="cstat-no" title="statement not covered" > local.#requestQ.push({ url: url, method: "POST", data: data, resolve: resolve, reject: reject });</span>
467
- });
468
- }
469
- &nbsp;
470
- <span class="fstat-no" title="function not covered" > de</span>lete(url, data) {
471
- <span class="cstat-no" title="statement not covered" > this.#trace(".delete(" + url + ")");</span>
472
- var local = <span class="cstat-no" title="statement not covered" >this;</span>
473
- <span class="cstat-no" title="statement not covered" > return new Promise(<span class="fstat-no" title="function not covered" >fu</span>nction (resolve, reject) {</span>
474
- <span class="cstat-no" title="statement not covered" > local.#requestQ.push({ url: url, method: "DELETE", data: data, resolve: resolve, reject: reject });</span>
475
- });
476
- }
477
- }
478
- &nbsp;
479
- <span class="cstat-no" title="statement not covered" >module.exports = RestApi;</span>
480
- &nbsp;</pre></td></tr></table></pre>
481
-
482
- <div class='push'></div><!-- for sticky footer -->
483
- </div><!-- /wrapper -->
484
- <div class='footer quiet pad2 space-top1 center small'>
485
- Code coverage generated by
486
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
487
- at 2022-12-04T16:46:19.062Z
488
- </div>
489
- <script src="../prettify.js"></script>
490
- <script>
491
- window.onload = function () {
492
- prettyPrint();
493
- };
494
- </script>
495
- <script src="../sorter.js"></script>
496
- <script src="../block-navigation.js"></script>
497
- </body>
498
- </html>
499
-