manner.js 1.0.28 → 1.0.29
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.
- package/coverage/clover.xml +122 -72
- package/coverage/coverage-final.json +5 -3
- package/coverage/lcov-report/class/Blocks.js.html +47 -170
- package/coverage/lcov-report/class/MultiFetch.js.html +26 -8
- package/coverage/lcov-report/class/Prevents.js.html +361 -0
- package/coverage/lcov-report/class/Tackles.js.html +199 -0
- package/coverage/lcov-report/class/index.html +58 -28
- package/coverage/lcov-report/index.html +19 -19
- package/coverage/lcov-report/lib/byteArray.js.html +1 -1
- package/coverage/lcov-report/lib/errorHandle.js.html +1 -1
- package/coverage/lcov-report/lib/formatHttpDate.js.html +1 -1
- package/coverage/lcov-report/lib/formatHttpKey.js.html +1 -1
- package/coverage/lcov-report/lib/getOwnIpAddresses.js.html +1 -1
- package/coverage/lcov-report/lib/index.html +1 -1
- package/coverage/lcov-report/lib/isIntranetIpv4Address.js.html +1 -1
- package/coverage/lcov-report/lib/isIpv6Address.js.html +4 -4
- package/coverage/lcov-report/lib/nonZeroByteArray.js.html +1 -1
- package/coverage/lcov-report/lib/parseHttpDate.js.html +1 -1
- package/coverage/lcov-report/lib/wrapIpv6.js.html +1 -1
- package/coverage/lcov.info +230 -128
- package/package.json +1 -1
- package/server/class/Blocks.js +1 -1
- package/server/class/MultiFetch.js +1 -1
- package/server/class/Prevents.js +1 -0
- package/server/class/Tackles.js +1 -0
- package/server/index.js +1 -1
- package/server/class/Prevent.js +0 -1
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">80% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>28/35</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">61.11% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>11/18</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>5/5</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">80% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>28/35</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -128,59 +128,12 @@
|
|
|
128
128
|
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
129
|
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
131
|
+
<a name='L66'></a><a href='#L66'>66</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
173
132
|
<span class="cline-any cline-neutral"> </span>
|
|
174
133
|
<span class="cline-any cline-neutral"> </span>
|
|
175
134
|
<span class="cline-any cline-neutral"> </span>
|
|
176
|
-
<span class="cline-any cline-yes">13x</span>
|
|
177
|
-
<span class="cline-any cline-yes">13x</span>
|
|
178
135
|
<span class="cline-any cline-neutral"> </span>
|
|
179
136
|
<span class="cline-any cline-neutral"> </span>
|
|
180
|
-
<span class="cline-any cline-neutral"> </span>
|
|
181
|
-
<span class="cline-any cline-neutral"> </span>
|
|
182
|
-
<span class="cline-any cline-yes">2x</span>
|
|
183
|
-
<span class="cline-any cline-yes">2x</span>
|
|
184
137
|
<span class="cline-any cline-yes">2x</span>
|
|
185
138
|
<span class="cline-any cline-yes">2x</span>
|
|
186
139
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -199,67 +152,33 @@
|
|
|
199
152
|
<span class="cline-any cline-neutral"> </span>
|
|
200
153
|
<span class="cline-any cline-neutral"> </span>
|
|
201
154
|
<span class="cline-any cline-neutral"> </span>
|
|
155
|
+
<span class="cline-any cline-yes">14x</span>
|
|
202
156
|
<span class="cline-any cline-no"> </span>
|
|
203
157
|
<span class="cline-any cline-neutral"> </span>
|
|
204
|
-
<span class="cline-any cline-
|
|
205
|
-
<span class="cline-any cline-neutral"> </span>
|
|
206
|
-
<span class="cline-any cline-no"> </span>
|
|
207
|
-
<span class="cline-any cline-no"> </span>
|
|
208
|
-
<span class="cline-any cline-neutral"> </span>
|
|
209
|
-
<span class="cline-any cline-no"> </span>
|
|
210
|
-
<span class="cline-any cline-no"> </span>
|
|
211
|
-
<span class="cline-any cline-neutral"> </span>
|
|
212
|
-
<span class="cline-any cline-no"> </span>
|
|
213
|
-
<span class="cline-any cline-neutral"> </span>
|
|
214
|
-
<span class="cline-any cline-neutral"> </span>
|
|
215
|
-
<span class="cline-any cline-neutral"> </span>
|
|
216
|
-
<span class="cline-any cline-neutral"> </span>
|
|
217
|
-
<span class="cline-any cline-yes">3x</span>
|
|
218
|
-
<span class="cline-any cline-yes">2x</span>
|
|
219
|
-
<span class="cline-any cline-yes">1x</span>
|
|
220
|
-
<span class="cline-any cline-yes">1x</span>
|
|
221
|
-
<span class="cline-any cline-neutral"> </span>
|
|
158
|
+
<span class="cline-any cline-yes">14x</span>
|
|
222
159
|
<span class="cline-any cline-no"> </span>
|
|
223
160
|
<span class="cline-any cline-neutral"> </span>
|
|
224
|
-
<span class="cline-any cline-yes">3x</span>
|
|
225
|
-
<span class="cline-any cline-yes">3x</span>
|
|
226
|
-
<span class="cline-any cline-yes">3x</span>
|
|
227
|
-
<span class="cline-any cline-yes">3x</span>
|
|
228
|
-
<span class="cline-any cline-yes">3x</span>
|
|
229
|
-
<span class="cline-any cline-yes">3x</span>
|
|
230
|
-
<span class="cline-any cline-yes">3x</span>
|
|
231
|
-
<span class="cline-any cline-neutral"> </span>
|
|
232
|
-
<span class="cline-any cline-neutral"> </span>
|
|
233
|
-
<span class="cline-any cline-neutral"> </span>
|
|
234
|
-
<span class="cline-any cline-neutral"> </span>
|
|
235
|
-
<span class="cline-any cline-neutral"> </span>
|
|
236
161
|
<span class="cline-any cline-yes">14x</span>
|
|
237
162
|
<span class="cline-any cline-yes">14x</span>
|
|
238
163
|
<span class="cline-any cline-yes">14x</span>
|
|
239
164
|
<span class="cline-any cline-yes">4x</span>
|
|
240
165
|
<span class="cline-any cline-yes">4x</span>
|
|
241
166
|
<span class="cline-any cline-yes">4x</span>
|
|
242
|
-
<span class="cline-any cline-yes">
|
|
243
|
-
<span class="cline-any cline-
|
|
167
|
+
<span class="cline-any cline-yes">3x</span>
|
|
168
|
+
<span class="cline-any cline-neutral"> </span>
|
|
244
169
|
<span class="cline-any cline-neutral"> </span>
|
|
245
|
-
<span class="cline-any cline-yes">10x</span>
|
|
246
|
-
<span class="cline-any cline-yes">10x</span>
|
|
247
|
-
<span class="cline-any cline-yes">10x</span>
|
|
248
|
-
<span class="cline-any cline-yes">10x</span>
|
|
249
170
|
<span class="cline-any cline-yes">10x</span>
|
|
250
171
|
<span class="cline-any cline-yes">10x</span>
|
|
251
172
|
<span class="cline-any cline-yes">10x</span>
|
|
252
173
|
<span class="cline-any cline-yes">10x</span>
|
|
253
174
|
<span class="cline-any cline-neutral"> </span>
|
|
254
|
-
<span class="cline-any cline-no"> </span>
|
|
255
|
-
<span class="cline-any cline-no"> </span>
|
|
256
|
-
<span class="cline-any cline-neutral"> </span>
|
|
257
|
-
<span class="cline-any cline-neutral"> </span>
|
|
258
175
|
<span class="cline-any cline-yes">14x</span>
|
|
259
176
|
<span class="cline-any cline-neutral"> </span>
|
|
260
177
|
<span class="cline-any cline-neutral"> </span>
|
|
261
178
|
<span class="cline-any cline-neutral"> </span>
|
|
262
179
|
<span class="cline-any cline-yes">14x</span>
|
|
180
|
+
<span class="cline-any cline-no"> </span>
|
|
181
|
+
<span class="cline-any cline-neutral"> </span>
|
|
263
182
|
<span class="cline-any cline-yes">14x</span>
|
|
264
183
|
<span class="cline-any cline-yes">14x</span>
|
|
265
184
|
<span class="cline-any cline-yes">7x</span>
|
|
@@ -274,22 +193,15 @@
|
|
|
274
193
|
<span class="cline-any cline-neutral"> </span>
|
|
275
194
|
<span class="cline-any cline-neutral"> </span>
|
|
276
195
|
<span class="cline-any cline-neutral"> </span>
|
|
277
|
-
<span class="cline-any cline-neutral"> </span>
|
|
278
196
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import net from 'net';
|
|
279
|
-
import {
|
|
280
|
-
|
|
281
|
-
function getIntervalFromTime(time) {
|
|
282
|
-
const currentTime = new Date().getTime();
|
|
283
|
-
return Math.floor(currentTime - time);
|
|
284
|
-
}
|
|
197
|
+
import { Router, } from 'advising.js';
|
|
198
|
+
import Tackles from './Tackles';
|
|
285
199
|
|
|
286
|
-
class Blocks {
|
|
200
|
+
class Blocks extends Tackles {
|
|
287
201
|
constructor(interval) {
|
|
202
|
+
super();
|
|
288
203
|
this.dealParams(interval);
|
|
289
204
|
this.interval = interval;
|
|
290
|
-
this.count = 0;
|
|
291
|
-
this.ipv4Blocks = new Ipv4Router({ debug: false, hideError: true, });
|
|
292
|
-
this.ipv6Blocks = new Ipv6Router({ debug: false, hideError: true, });
|
|
293
205
|
}
|
|
294
206
|
|
|
295
207
|
dealParams(interval) {
|
|
@@ -304,78 +216,43 @@ class Blocks {
|
|
|
304
216
|
}
|
|
305
217
|
}
|
|
306
218
|
|
|
307
|
-
|
|
308
|
-
<span class="
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
<span class="fstat-no" title="function not covered" > se</span>tInterval(interval) {
|
|
312
|
-
<span class="cstat-no" title="statement not covered" > if (!Number.isInteger(interval)) {</span>
|
|
313
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('[Error] The interval parameter should be of integer type.');</span>
|
|
314
|
-
}
|
|
315
|
-
<span class="cstat-no" title="statement not covered" > if (interval <= 0) {</span>
|
|
316
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('[Error] The interval should be a positive integer otherwise it has no meaning.');</span>
|
|
317
|
-
}
|
|
318
|
-
<span class="cstat-no" title="statement not covered" > this.interval = interval;</span>
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
cleanIpAddress(ip, formerInterval) {
|
|
322
|
-
let ipBlocks;
|
|
323
|
-
if (net.isIPv4(ip)) {
|
|
324
|
-
ipBlocks = this.ipv4Blocks;
|
|
325
|
-
} else if (net.isIPv6(ip)) {
|
|
326
|
-
ipBlocks = this.ipv6Blocks;
|
|
327
|
-
} else <span class="missing-if-branch" title="else path not taken" >E</span>{
|
|
328
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('[Error] The Ip type is not expected');</span>
|
|
219
|
+
examineIpAddress(ip, ipRouter) {
|
|
220
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof ip !== 'string') {
|
|
221
|
+
<span class="cstat-no" title="statement not covered" > throw new Error('[Error] The parameter ip should be of string type.');</span>
|
|
329
222
|
}
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
const { time, } = block;
|
|
333
|
-
const interval = getIntervalFromTime(time);
|
|
334
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (interval >= formerInterval) {
|
|
335
|
-
ipBlocks.ruin(ip);
|
|
336
|
-
this.count = 0;
|
|
337
|
-
}
|
|
223
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!(ipRouter instanceof Router)) {
|
|
224
|
+
<span class="cstat-no" title="statement not covered" > throw new Error('[Error] The parameter ipRouter should be the router type.');</span>
|
|
338
225
|
}
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
examineIpAddress(ip, ipBlocks) {
|
|
342
226
|
let ans = true;
|
|
343
|
-
const block =
|
|
227
|
+
const block = ipRouter.gain(ip);
|
|
344
228
|
if (block === undefined) {
|
|
345
|
-
|
|
346
|
-
ipBlocks.attach(ip, { time: currentTime, count: 1, });
|
|
347
|
-
this.count = 1;
|
|
229
|
+
ipRouter.attach(ip, 1);
|
|
348
230
|
const { interval, } = this;
|
|
349
|
-
setTimeout(() =>
|
|
231
|
+
setTimeout(() => {
|
|
232
|
+
super.cleanTackle(ip);
|
|
233
|
+
}, interval);
|
|
350
234
|
} else {
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
count += 1;
|
|
356
|
-
ipBlocks.revise(ip, { time, count, });
|
|
357
|
-
this.count = count;
|
|
358
|
-
ans = false;
|
|
359
|
-
} else <span class="missing-if-branch" title="else path not taken" >E</span>{
|
|
360
|
-
<span class="cstat-no" title="statement not covered" > ipBlocks.ruin(ip);</span>
|
|
361
|
-
<span class="cstat-no" title="statement not covered" > this.count = 0;</span>
|
|
362
|
-
}
|
|
235
|
+
let count = block;
|
|
236
|
+
count += 1;
|
|
237
|
+
ipRouter.revise(ip, count);
|
|
238
|
+
ans = false;
|
|
363
239
|
}
|
|
364
240
|
return ans;
|
|
365
241
|
}
|
|
366
242
|
|
|
367
243
|
examine(ip) {
|
|
368
|
-
<span class="missing-if-branch" title="
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
244
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof ip !== 'string') {
|
|
245
|
+
<span class="cstat-no" title="statement not covered" > throw new Error('[Error] The parameter ip should be of string type.');</span>
|
|
246
|
+
}
|
|
247
|
+
const { interval, } = this;
|
|
248
|
+
if (net.isIPv4(ip)) {
|
|
249
|
+
const { ipv4Router, } = this;
|
|
250
|
+
return this.examineIpAddress(ip, ipv4Router);
|
|
251
|
+
} else if (net.isIPv6(ip)) {
|
|
252
|
+
const { ipv6Router, } = this;
|
|
253
|
+
return this.examineIpAddress(ip, ipv6Router);
|
|
254
|
+
} else <span class="missing-if-branch" title="else path not taken" >E</span>{
|
|
255
|
+
<span class="cstat-no" title="statement not covered" > throw new Error('[Error] The Ip type is not expected.');</span>
|
|
379
256
|
}
|
|
380
257
|
}
|
|
381
258
|
}
|
|
@@ -388,7 +265,7 @@ export default Blocks;
|
|
|
388
265
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
389
266
|
Code coverage generated by
|
|
390
267
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
391
|
-
at 2025-07-
|
|
268
|
+
at 2025-07-22T14:47:37.773Z
|
|
392
269
|
</div>
|
|
393
270
|
<script src="../prettify.js"></script>
|
|
394
271
|
<script>
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">55.88% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>19/34</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">40% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>10/25</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">55.88% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>19/34</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -122,7 +122,13 @@
|
|
|
122
122
|
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
123
|
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
124
|
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
-
<a name='L60'></a><a href='#L60'>60</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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
126
132
|
<span class="cline-any cline-neutral"> </span>
|
|
127
133
|
<span class="cline-any cline-neutral"> </span>
|
|
128
134
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -165,6 +171,12 @@
|
|
|
165
171
|
<span class="cline-any cline-neutral"> </span>
|
|
166
172
|
<span class="cline-any cline-yes">20x</span>
|
|
167
173
|
<span class="cline-any cline-yes">20x</span>
|
|
174
|
+
<span class="cline-any cline-no"> </span>
|
|
175
|
+
<span class="cline-any cline-no"> </span>
|
|
176
|
+
<span class="cline-any cline-neutral"> </span>
|
|
177
|
+
<span class="cline-any cline-neutral"> </span>
|
|
178
|
+
<span class="cline-any cline-yes">20x</span>
|
|
179
|
+
<span class="cline-any cline-yes">20x</span>
|
|
168
180
|
<span class="cline-any cline-yes">16x</span>
|
|
169
181
|
<span class="cline-any cline-neutral"> </span>
|
|
170
182
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -222,6 +234,12 @@ class MultiFetch {
|
|
|
222
234
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof options !== 'object') {
|
|
223
235
|
<span class="cstat-no" title="statement not covered" > throw new Error('[Error] The options parameter should be a object type.');</span>
|
|
224
236
|
}
|
|
237
|
+
const { req, } = expandOptions;
|
|
238
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (req !== undefined) {
|
|
239
|
+
<span class="cstat-no" title="statement not covered" > if (!(req instanceof http.ClientRequest)) {</span>
|
|
240
|
+
<span class="cstat-no" title="statement not covered" > throw new Error('[Error] Need to pass http request objec.');</span>
|
|
241
|
+
}
|
|
242
|
+
}
|
|
225
243
|
const { bases, } = this;
|
|
226
244
|
if (this.index < bases.length - 1) {
|
|
227
245
|
this.index += 1;
|
|
@@ -247,7 +265,7 @@ export default MultiFetch;
|
|
|
247
265
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
248
266
|
Code coverage generated by
|
|
249
267
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
250
|
-
at 2025-07-
|
|
268
|
+
at 2025-07-22T14:47:37.773Z
|
|
251
269
|
</div>
|
|
252
270
|
<script src="../prettify.js"></script>
|
|
253
271
|
<script>
|