@leofcoin/peernet 0.10.8 → 0.11.2

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 (78) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +49 -49
  3. package/coverage/lcov-report/block-navigation.js +8 -0
  4. package/coverage/lcov-report/codec-format-interface.js.html +224 -120
  5. package/coverage/lcov-report/dht-response.js.html +44 -39
  6. package/coverage/lcov-report/index.html +39 -64
  7. package/coverage/lcov-report/sorter.js +26 -0
  8. package/coverage/lcov.info +164 -424
  9. package/dist/browser/326.peernet.js +29 -0
  10. package/dist/browser/peernet.js +84258 -95769
  11. package/dist/commonjs/client-1a1f75e6.js +324 -0
  12. package/dist/commonjs/{codec-6367213c.js → codec-8c8c652f.js} +198 -188
  13. package/dist/commonjs/codec-format-interface.js +169 -152
  14. package/dist/commonjs/codec.js +4 -4
  15. package/dist/commonjs/dht-response.js +13 -13
  16. package/dist/commonjs/dht.js +24 -24
  17. package/dist/commonjs/hash.js +151 -141
  18. package/dist/commonjs/{http-a94c5a81.js → http-4bc6caeb.js} +19 -15
  19. package/dist/commonjs/peernet-message.js +15 -15
  20. package/dist/commonjs/peernet.js +1901 -1794
  21. package/dist/commonjs/request.js +13 -13
  22. package/dist/commonjs/response.js +13 -13
  23. package/dist/module/peernet.js +2462 -2348
  24. package/index.html +5 -7
  25. package/package.json +22 -14
  26. package/rollup.config.js +33 -5
  27. package/rollup0.config.js +7 -0
  28. package/src/client.js +75 -75
  29. package/src/codec/codec-format-interface.js +172 -155
  30. package/src/codec/codec.js +124 -114
  31. package/src/codec/codecs.js +79 -79
  32. package/src/dht/dht.js +121 -121
  33. package/src/discovery/peer-discovery.js +75 -75
  34. package/src/handlers/message.js +50 -52
  35. package/src/hash/hash.js +155 -145
  36. package/src/http/client/http-client.js +44 -44
  37. package/src/messages/chat-message.js +14 -14
  38. package/src/messages/data-response.js +14 -14
  39. package/src/messages/data.js +18 -18
  40. package/src/messages/dht-response.js +14 -15
  41. package/src/messages/dht.js +25 -25
  42. package/src/messages/peer-response.js +14 -14
  43. package/src/messages/peer.js +14 -14
  44. package/src/messages/peernet-message.js +14 -14
  45. package/src/messages/ps.js +14 -14
  46. package/src/messages/request.js +14 -14
  47. package/src/messages/response.js +14 -14
  48. package/src/peer.js +67 -67
  49. package/src/peernet.js +614 -697
  50. package/src/proto/chat-message.proto.js +7 -7
  51. package/src/proto/peernet.proto.js +2 -2
  52. package/src/utils/utils.js +78 -78
  53. package/test/codec.js +3 -2
  54. package/test/messages.js +7 -4
  55. package/test.js +11 -4
  56. package/webpack.config.js +41 -0
  57. package/coverage/lcov-report/codec.js.html +0 -677
  58. package/coverage/lcov-report/hash.js.html +0 -551
  59. package/debug.log +0 -3
  60. package/dist/browser/peernet.js.tmp-browserify-14074318104595318069 +0 -0
  61. package/dist/browser/peernet.js.tmp-browserify-45407634493269122267 +0 -0
  62. package/dist/browser/peernet.js.tmp-browserify-53722389064799025427 +0 -0
  63. package/dist/browser/peernet.js.tmp-browserify-96323030449218949300 +0 -0
  64. package/dist/codec/codec-format-interface.js +0 -433
  65. package/dist/codec/codec.js +0 -199
  66. package/dist/commonjs/codec-73adfc0f.js +0 -205
  67. package/dist/commonjs/http-2c603501.js +0 -324
  68. package/dist/commonjs/http-42a6e555.js +0 -324
  69. package/dist/commonjs/http-43f4fafe.js +0 -324
  70. package/dist/commonjs/peernet-message-b6925673.js +0 -32
  71. package/dist/hash/hash.js +0 -340
  72. package/dist/messages/dht-response.js +0 -454
  73. package/dist/messages/dht.js +0 -453
  74. package/dist/messages/peernet.js +0 -456
  75. package/dist/module/http-273664bd.js +0 -317
  76. package/dist/module/http-8fe3c0d7.js +0 -317
  77. package/dist/module/http-c780c991.js +0 -317
  78. package/dist/module/http-f13e0d77.js +0 -317
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">74.24% </span>
26
+ <span class="strong">3.37% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>49/66</span>
28
+ <span class='fraction'>3/89</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">56.25% </span>
33
+ <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>18/32</span>
35
+ <span class='fraction'>0/42</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">64.29% </span>
40
+ <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>9/14</span>
42
+ <span class='fraction'>0/19</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">79.66% </span>
47
+ <span class="strong">4.05% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>47/59</span>
49
+ <span class='fraction'>3/74</span>
50
50
  </div>
51
51
 
52
52
 
@@ -54,8 +54,14 @@
54
54
  <p class="quiet">
55
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
56
  </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
- <div class='status-line medium'></div>
64
+ <div class='status-line low'></div>
59
65
  <pre><table class="coverage">
60
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -208,21 +214,54 @@
208
214
  <a name='L149'></a><a href='#L149'>149</a>
209
215
  <a name='L150'></a><a href='#L150'>150</a>
210
216
  <a name='L151'></a><a href='#L151'>151</a>
211
- <a name='L152'></a><a href='#L152'>152</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
212
251
  <span class="cline-any cline-neutral">&nbsp;</span>
213
252
  <span class="cline-any cline-yes">1x</span>
214
253
  <span class="cline-any cline-yes">1x</span>
215
254
  <span class="cline-any cline-yes">1x</span>
216
- <span class="cline-any cline-yes">1x</span>
217
- <span class="cline-any cline-yes">1x</span>
218
- <span class="cline-any cline-yes">1x</span>
219
- <span class="cline-any cline-yes">1x</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>
220
259
  <span class="cline-any cline-neutral">&nbsp;</span>
221
- <span class="cline-any cline-yes">3x</span>
260
+ <span class="cline-any cline-no">&nbsp;</span>
222
261
  <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-yes">1x</span>
224
- <span class="cline-any cline-yes">1x</span>
225
- <span class="cline-any cline-yes">1x</span>
262
+ <span class="cline-any cline-no">&nbsp;</span>
263
+ <span class="cline-any cline-no">&nbsp;</span>
264
+ <span class="cline-any cline-no">&nbsp;</span>
226
265
  <span class="cline-any cline-neutral">&nbsp;</span>
227
266
  <span class="cline-any cline-neutral">&nbsp;</span>
228
267
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -231,74 +270,93 @@
231
270
  <span class="cline-any cline-neutral">&nbsp;</span>
232
271
  <span class="cline-any cline-neutral">&nbsp;</span>
233
272
  <span class="cline-any cline-neutral">&nbsp;</span>
234
- <span class="cline-any cline-yes">3x</span>
235
- <span class="cline-any cline-yes">3x</span>
236
- <span class="cline-any cline-yes">3x</span>
237
- <span class="cline-any cline-yes">3x</span>
238
- <span class="cline-any cline-yes">3x</span>
239
- <span class="cline-any cline-yes">1x</span>
240
- <span class="cline-any cline-yes">1x</span>
241
- <span class="cline-any cline-yes">1x</span>
273
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
277
+ <span class="cline-any cline-no">&nbsp;</span>
278
+ <span class="cline-any cline-no">&nbsp;</span>
279
+ <span class="cline-any cline-no">&nbsp;</span>
280
+ <span class="cline-any cline-no">&nbsp;</span>
281
+ <span class="cline-any cline-no">&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>
242
285
  <span class="cline-any cline-neutral">&nbsp;</span>
243
286
  <span class="cline-any cline-no">&nbsp;</span>
244
287
  <span class="cline-any cline-neutral">&nbsp;</span>
245
288
  <span class="cline-any cline-neutral">&nbsp;</span>
246
- <span class="cline-any cline-yes">2x</span>
247
- <span class="cline-any cline-yes">1x</span>
248
- <span class="cline-any cline-yes">1x</span>
289
+ <span class="cline-any cline-neutral">&nbsp;</span>
290
+ <span class="cline-any cline-neutral">&nbsp;</span>
291
+ <span class="cline-any cline-neutral">&nbsp;</span>
292
+ <span class="cline-any cline-neutral">&nbsp;</span>
293
+ <span class="cline-any cline-neutral">&nbsp;</span>
249
294
  <span class="cline-any cline-no">&nbsp;</span>
250
- <span class="cline-any cline-yes">1x</span>
251
- <span class="cline-any cline-yes">1x</span>
252
295
  <span class="cline-any cline-neutral">&nbsp;</span>
253
296
  <span class="cline-any cline-neutral">&nbsp;</span>
254
297
  <span class="cline-any cline-neutral">&nbsp;</span>
255
298
  <span class="cline-any cline-neutral">&nbsp;</span>
256
299
  <span class="cline-any cline-neutral">&nbsp;</span>
257
300
  <span class="cline-any cline-neutral">&nbsp;</span>
301
+ <span class="cline-any cline-no">&nbsp;</span>
302
+ <span class="cline-any cline-no">&nbsp;</span>
303
+ <span class="cline-any cline-no">&nbsp;</span>
258
304
  <span class="cline-any cline-neutral">&nbsp;</span>
259
305
  <span class="cline-any cline-neutral">&nbsp;</span>
260
- <span class="cline-any cline-yes">5x</span>
261
306
  <span class="cline-any cline-neutral">&nbsp;</span>
262
307
  <span class="cline-any cline-neutral">&nbsp;</span>
263
308
  <span class="cline-any cline-neutral">&nbsp;</span>
264
309
  <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
314
+ <span class="cline-any cline-no">&nbsp;</span>
315
+ <span class="cline-any cline-no">&nbsp;</span>
265
316
  <span class="cline-any cline-neutral">&nbsp;</span>
266
317
  <span class="cline-any cline-neutral">&nbsp;</span>
267
- <span class="cline-any cline-yes">5x</span>
268
- <span class="cline-any cline-yes">5x</span>
269
- <span class="cline-any cline-yes">5x</span>
270
318
  <span class="cline-any cline-neutral">&nbsp;</span>
271
319
  <span class="cline-any cline-neutral">&nbsp;</span>
272
320
  <span class="cline-any cline-neutral">&nbsp;</span>
273
321
  <span class="cline-any cline-neutral">&nbsp;</span>
322
+ <span class="cline-any cline-no">&nbsp;</span>
323
+ <span class="cline-any cline-no">&nbsp;</span>
324
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
274
330
  <span class="cline-any cline-neutral">&nbsp;</span>
275
331
  <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-yes">2x</span>
277
- <span class="cline-any cline-yes">2x</span>
278
- <span class="cline-any cline-yes">2x</span>
279
- <span class="cline-any cline-yes">2x</span>
280
- <span class="cline-any cline-yes">2x</span>
281
- <span class="cline-any cline-yes">2x</span>
282
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>
283
336
  <span class="cline-any cline-neutral">&nbsp;</span>
284
337
  <span class="cline-any cline-neutral">&nbsp;</span>
285
338
  <span class="cline-any cline-neutral">&nbsp;</span>
339
+ <span class="cline-any cline-no">&nbsp;</span>
340
+ <span class="cline-any cline-no">&nbsp;</span>
286
341
  <span class="cline-any cline-neutral">&nbsp;</span>
287
342
  <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-yes">1x</span>
289
- <span class="cline-any cline-yes">1x</span>
290
- <span class="cline-any cline-yes">1x</span>
291
- <span class="cline-any cline-yes">1x</span>
343
+ <span class="cline-any cline-no">&nbsp;</span>
292
344
  <span class="cline-any cline-neutral">&nbsp;</span>
293
345
  <span class="cline-any cline-neutral">&nbsp;</span>
294
346
  <span class="cline-any cline-neutral">&nbsp;</span>
347
+ <span class="cline-any cline-no">&nbsp;</span>
348
+ <span class="cline-any cline-no">&nbsp;</span>
295
349
  <span class="cline-any cline-neutral">&nbsp;</span>
296
350
  <span class="cline-any cline-neutral">&nbsp;</span>
351
+ <span class="cline-any cline-no">&nbsp;</span>
352
+ <span class="cline-any cline-neutral">&nbsp;</span>
297
353
  <span class="cline-any cline-neutral">&nbsp;</span>
298
- <span class="cline-any cline-yes">1x</span>
299
- <span class="cline-any cline-yes">1x</span>
300
- <span class="cline-any cline-yes">1x</span>
301
- <span class="cline-any cline-yes">1x</span>
354
+ <span class="cline-any cline-neutral">&nbsp;</span>
355
+ <span class="cline-any cline-neutral">&nbsp;</span>
356
+ <span class="cline-any cline-neutral">&nbsp;</span>
357
+ <span class="cline-any cline-neutral">&nbsp;</span>
358
+ <span class="cline-any cline-no">&nbsp;</span>
359
+ <span class="cline-any cline-no">&nbsp;</span>
302
360
  <span class="cline-any cline-neutral">&nbsp;</span>
303
361
  <span class="cline-any cline-neutral">&nbsp;</span>
304
362
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -313,8 +371,8 @@
313
371
  <span class="cline-any cline-neutral">&nbsp;</span>
314
372
  <span class="cline-any cline-neutral">&nbsp;</span>
315
373
  <span class="cline-any cline-neutral">&nbsp;</span>
316
- <span class="cline-any cline-yes">1x</span>
317
- <span class="cline-any cline-yes">1x</span>
374
+ <span class="cline-any cline-no">&nbsp;</span>
375
+ <span class="cline-any cline-no">&nbsp;</span>
318
376
  <span class="cline-any cline-neutral">&nbsp;</span>
319
377
  <span class="cline-any cline-neutral">&nbsp;</span>
320
378
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -353,103 +411,136 @@
353
411
  <span class="cline-any cline-neutral">&nbsp;</span>
354
412
  <span class="cline-any cline-neutral">&nbsp;</span>
355
413
  <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-yes">1x</span>
357
- <span class="cline-any cline-yes">1x</span>
414
+ <span class="cline-any cline-no">&nbsp;</span>
415
+ <span class="cline-any cline-no">&nbsp;</span>
416
+ <span class="cline-any cline-no">&nbsp;</span>
417
+ <span class="cline-any cline-no">&nbsp;</span>
358
418
  <span class="cline-any cline-neutral">&nbsp;</span>
359
419
  <span class="cline-any cline-neutral">&nbsp;</span>
360
420
  <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-yes">1x</span>
421
+ <span class="cline-any cline-no">&nbsp;</span>
422
+ <span class="cline-any cline-no">&nbsp;</span>
423
+ <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-neutral">&nbsp;</span>
427
+ <span class="cline-any cline-no">&nbsp;</span>
428
+ <span class="cline-any cline-no">&nbsp;</span>
429
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</span>
431
+ <span class="cline-any cline-neutral">&nbsp;</span>
432
+ <span class="cline-any cline-neutral">&nbsp;</span>
433
+ <span class="cline-any cline-no">&nbsp;</span>
362
434
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
363
435
  &nbsp;
364
- var bs32 = require('bs32');
365
- var bs58 = require('bs58');
436
+ var bs32 = require('@vandeurenglenn/base32');
437
+ var bs58 = require('@vandeurenglenn/base58');
366
438
  var isHex = require('is-hex');
367
- var codec = require('./codec.js');
368
- var hash = require('./hash.js');
369
- require('varint');
370
- require('keccak');
439
+ var codec = <span class="cstat-no" title="statement not covered" >require('./codec-4a768e5e.js');</span>
440
+ var hash = <span class="cstat-no" title="statement not covered" >require('./hash.js');</span>
441
+ <span class="cstat-no" title="statement not covered" >require('varint');</span>
442
+ <span class="cstat-no" title="statement not covered" >require('keccak');</span>
371
443
  &nbsp;
372
- function _interopDefaultLegacy (e) { return e &amp;&amp; typeof e === 'object' &amp;&amp; 'default' in e ? <span class="branch-0 cbranch-no" title="branch not covered" >e </span>: { 'default': e }; }
444
+ function <span class="fstat-no" title="function not covered" >_interopDefaultLegacy </span>(e) { <span class="cstat-no" title="statement not covered" >return e &amp;&amp; typeof e === 'object' &amp;&amp; 'default' in e ? e : { 'default': e }; </span>}
373
445
  &nbsp;
374
- var bs32__default = /*#__PURE__*/_interopDefaultLegacy(bs32);
375
- var bs58__default = /*#__PURE__*/_interopDefaultLegacy(bs58);
376
- var isHex__default = /*#__PURE__*/_interopDefaultLegacy(isHex);
446
+ var bs32__default = /*#__PURE__*/<span class="cstat-no" title="statement not covered" >_interopDefaultLegacy(bs32);</span>
447
+ var bs58__default = /*#__PURE__*/<span class="cstat-no" title="statement not covered" >_interopDefaultLegacy(bs58);</span>
448
+ var isHex__default = /*#__PURE__*/<span class="cstat-no" title="statement not covered" >_interopDefaultLegacy(isHex);</span>
377
449
  &nbsp;
378
450
  class FormatInterface {
379
451
  /**
380
- * @param {Buffer|String|Object} buffer -
452
+ * @param {Buffer|String|Object} buffer - data - The data needed to create the desired message
381
453
  * @param {Object} proto - {encode, decode}
382
454
  * @param {Object} options - {hashFormat, name}
383
455
  */
384
- constructor(buffer, proto, options = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
385
- this.protoEncode = proto.encode;
386
- this.protoDecode = proto.decode;
387
- <span class="missing-if-branch" title="else path not taken" >E</span>if (options.name) this.name = options.name;
388
- this.hashFormat = options.hashFormat || 'bs32';
389
- if (Buffer.isBuffer(buffer)) {
390
- const codec$1 = new codec(buffer);
391
- <span class="missing-if-branch" title="else path not taken" >E</span>if (codec$1.name) {
392
- this.fromEncoded(buffer);
393
- } else {
394
- <span class="cstat-no" title="statement not covered" > this.create(buffer);</span>
395
- }
456
+ <span class="fstat-no" title="function not covered" > co</span>nstructor(buffer, proto, options = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
457
+ <span class="cstat-no" title="statement not covered" > this.protoEncode = proto.encode;</span>
458
+ <span class="cstat-no" title="statement not covered" > this.protoDecode = proto.decode;</span>
459
+ <span class="cstat-no" title="statement not covered" > this.hashFormat = options.hashFormat || 'bs32';</span>
460
+ <span class="cstat-no" title="statement not covered" > if (options.name) <span class="cstat-no" title="statement not covered" >this.name = options.name;</span></span>
461
+ <span class="cstat-no" title="statement not covered" > if (buffer instanceof Uint8Array) <span class="cstat-no" title="statement not covered" >return this.fromUint8Array(buffer)</span></span>
462
+ else <span class="cstat-no" title="statement not covered" >if (buffer instanceof ArrayBuffer) <span class="cstat-no" title="statement not covered" >return this.fromArrayBuffer(buffer)</span></span>
463
+ else <span class="cstat-no" title="statement not covered" >if (buffer.name === options.name) <span class="cstat-no" title="statement not covered" >return buffer</span></span>
464
+ else <span class="cstat-no" title="statement not covered" >if (typeof buffer === 'string') {</span>
465
+ <span class="cstat-no" title="statement not covered" > if (isHex__default["default"](buffer)) <span class="cstat-no" title="statement not covered" >this.fromHex(buffer);</span></span>
466
+ else <span class="cstat-no" title="statement not covered" >if (bs32__default["default"].isBase32(buffer)) <span class="cstat-no" title="statement not covered" >this.fromBs32(buffer);</span></span>
467
+ else <span class="cstat-no" title="statement not covered" >if (bs58__default["default"].isBase58(buffer)) <span class="cstat-no" title="statement not covered" >this.fromBs58(buffer);</span></span>
468
+ else <span class="cstat-no" title="statement not covered" >throw new Error(`unsupported string ${buffer}`)</span>
396
469
  } else {
397
- if (typeof buffer === 'string') {
398
- <span class="missing-if-branch" title="if path not taken" >I</span>if (isHex__default['default'](buffer)) <span class="cstat-no" title="statement not covered" >this.fromHex(buffer);</span>
399
- else <span class="missing-if-branch" title="else path not taken" >E</span>if (bs32__default['default'].test(buffer)) this.fromBs32(buffer);
400
- else <span class="cstat-no" title="statement not covered" >this.fromBs58(buffer);</span>
401
- } else <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof buffer === 'object' &amp;&amp; !Array.isArray(buffer)) {
402
- this.create(buffer);
403
- }
470
+ <span class="cstat-no" title="statement not covered" > this.create(buffer);</span>
404
471
  }
405
472
  }
406
473
  &nbsp;
407
474
  /**
408
475
  * @return {PeernetHash}
409
476
  */
410
- get peernetHash() {
411
- return new hash(this.decoded, {name: this.name})
477
+ <span class="fstat-no" title="function not covered" > ge</span>t peernetHash() {
478
+ <span class="cstat-no" title="statement not covered" > return new hash(this.decoded, {name: this.name})</span>
412
479
  }
413
480
  &nbsp;
414
481
  /**
415
482
  * @return {peernetHash}
416
483
  */
417
- get hash() {
418
- const upper = this.hashFormat.charAt(0).toUpperCase();
419
- const format = `${upper}${this.hashFormat.substring(1, this.hashFormat.length)}`;
420
- return this.peernetHash[`to${format}`]()
484
+ <span class="fstat-no" title="function not covered" > ge</span>t hash() {
485
+ const upper = <span class="cstat-no" title="statement not covered" >this.hashFormat.charAt(0).toUpperCase();</span>
486
+ const format = <span class="cstat-no" title="statement not covered" >`${upper}${this.hashFormat.substring(1, this.hashFormat.length)}`;</span>
487
+ <span class="cstat-no" title="statement not covered" > return this.peernetHash[`to${format}`]()</span>
421
488
  }
422
489
  &nbsp;
423
490
  /**
424
491
  * @return {Object}
425
492
  */
426
- decode() {
427
- let encoded = this.encoded;
428
- const discoCodec = new codec(this.encoded.toString('hex'));
429
- encoded = encoded.slice(discoCodec.codecBuffer.length);
430
- this.name = discoCodec.name;
431
- this.decoded = this.protoDecode(encoded);
432
- return this.decoded
493
+ <span class="fstat-no" title="function not covered" > de</span>code() {
494
+ let encoded = <span class="cstat-no" title="statement not covered" >this.encoded;</span>
495
+ const discoCodec = <span class="cstat-no" title="statement not covered" >new codec.PeernetCodec(this.encoded);</span>
496
+ <span class="cstat-no" title="statement not covered" > encoded = encoded.slice(discoCodec.codecBuffer.length);</span>
497
+ <span class="cstat-no" title="statement not covered" > this.name = discoCodec.name;</span>
498
+ <span class="cstat-no" title="statement not covered" > this.decoded = this.protoDecode(encoded);</span>
499
+ <span class="cstat-no" title="statement not covered" > return this.decoded</span>
433
500
  }
434
501
  &nbsp;
435
502
  /**
436
503
  * @return {Buffer}
437
504
  */
438
- encode(decoded) {
439
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!decoded) <span class="cstat-no" title="statement not covered" >decoded = this.decoded;</span>
440
- const codec$1 = new codec(this.name);
441
- this.encoded = Buffer.concat([codec$1.codecBuffer, this.protoEncode(decoded)]);
442
- return this.encoded
505
+ <span class="fstat-no" title="function not covered" > en</span>code(decoded) {
506
+ <span class="cstat-no" title="statement not covered" > if (!decoded) <span class="cstat-no" title="statement not covered" >decoded = this.decoded;</span></span>
507
+ const codec$1 = <span class="cstat-no" title="statement not covered" >new codec.PeernetCodec(this.name);</span>
508
+ const encoded = <span class="cstat-no" title="statement not covered" >this.protoEncode(decoded);</span>
509
+ const uint8Array = <span class="cstat-no" title="statement not covered" >new Uint8Array(encoded.length + codec$1.codecBuffer.length);</span>
510
+ <span class="cstat-no" title="statement not covered" > uint8Array.set(codec$1.codecBuffer);</span>
511
+ <span class="cstat-no" title="statement not covered" > uint8Array.set(encoded, codec$1.codecBuffer.length);</span>
512
+ <span class="cstat-no" title="statement not covered" > this.encoded = uint8Array;</span>
513
+ <span class="cstat-no" title="statement not covered" > return this.encoded</span>
514
+ }
515
+ &nbsp;
516
+ <span class="fstat-no" title="function not covered" > ha</span>sCodec() {
517
+ <span class="cstat-no" title="statement not covered" > if (!this.encoded) <span class="cstat-no" title="statement not covered" >return false</span></span>
518
+ const codec$1 = <span class="cstat-no" title="statement not covered" >new codec.PeernetCodec(this.encoded);</span>
519
+ <span class="cstat-no" title="statement not covered" > if (codec$1.name) <span class="cstat-no" title="statement not covered" >return true</span></span>
520
+ }
521
+ &nbsp;
522
+ <span class="fstat-no" title="function not covered" > fr</span>omUint8Array(buffer) {
523
+ <span class="cstat-no" title="statement not covered" > this.encoded = buffer;</span>
524
+ <span class="cstat-no" title="statement not covered" > if (!this.hasCodec()) <span class="cstat-no" title="statement not covered" >this.create(</span></span>
525
+ JSON.parse(new TextDecoder().decode(this.encoded))
526
+ );
527
+ else <span class="cstat-no" title="statement not covered" >this.decode();</span>
528
+ }
529
+ &nbsp;
530
+ <span class="fstat-no" title="function not covered" > fr</span>omArrayBuffer(buffer) {
531
+ <span class="cstat-no" title="statement not covered" > this.encoded = new Uint8Array(buffer, buffer.byteOffset, buffer.byteLength);</span>
532
+ <span class="cstat-no" title="statement not covered" > if (!this.hasCodec()) <span class="cstat-no" title="statement not covered" >this.create(</span></span>
533
+ JSON.parse(new TextDecoder().decode(this.encoded))
534
+ );
535
+ else <span class="cstat-no" title="statement not covered" >this.decode();</span>
443
536
  }
444
537
  &nbsp;
445
538
  /**
446
539
  * @param {Buffer} encoded
447
540
  */
448
- fromEncoded(encoded) {
449
- const codec$1 = new codec(encoded);
450
- this.name = codec$1.name;
451
- this.encoded = encoded;
452
- this.decode();
541
+ <span class="fstat-no" title="function not covered" > fr</span>omEncoded(encoded) {
542
+ <span class="cstat-no" title="statement not covered" > this.encoded = encoded;</span>
543
+ <span class="cstat-no" title="statement not covered" > this.decode();</span>
453
544
  }
454
545
  &nbsp;
455
546
  /**
@@ -463,16 +554,16 @@ class FormatInterface {
463
554
  /**
464
555
  * @param {String} encoded
465
556
  */
466
- fromBs32(encoded) {
467
- this.encoded = bs32__default['default'].decode(encoded);
468
- this.decode();
557
+ <span class="fstat-no" title="function not covered" > fr</span>omBs32(encoded) {
558
+ <span class="cstat-no" title="statement not covered" > this.encoded = bs32__default["default"].decode(encoded);</span>
559
+ <span class="cstat-no" title="statement not covered" > this.decode();</span>
469
560
  }
470
561
  &nbsp;
471
562
  /**
472
563
  * @param {String} encoded
473
564
  */
474
565
  <span class="fstat-no" title="function not covered" > fr</span>omBs58(encoded) {
475
- <span class="cstat-no" title="statement not covered" > this.encoded = bs58__default['default'].decode(encoded);</span>
566
+ <span class="cstat-no" title="statement not covered" > this.encoded = bs58__default["default"].decode(encoded);</span>
476
567
  <span class="cstat-no" title="statement not covered" > this.decode();</span>
477
568
  }
478
569
  &nbsp;
@@ -489,7 +580,7 @@ class FormatInterface {
489
580
  */
490
581
  <span class="fstat-no" title="function not covered" > to</span>Bs32() {
491
582
  <span class="cstat-no" title="statement not covered" > if (!this.encoded) <span class="cstat-no" title="statement not covered" >this.encode();</span></span>
492
- <span class="cstat-no" title="statement not covered" > return bs32__default['default'].encode(this.encoded)</span>
583
+ <span class="cstat-no" title="statement not covered" > return bs32__default["default"].encode(this.encoded)</span>
493
584
  }
494
585
  &nbsp;
495
586
  /**
@@ -497,29 +588,42 @@ class FormatInterface {
497
588
  */
498
589
  <span class="fstat-no" title="function not covered" > to</span>Bs58() {
499
590
  <span class="cstat-no" title="statement not covered" > if (!this.encoded) <span class="cstat-no" title="statement not covered" >this.encode();</span></span>
500
- <span class="cstat-no" title="statement not covered" > return bs58__default['default'].encode(this.encoded)</span>
591
+ <span class="cstat-no" title="statement not covered" > return bs58__default["default"].encode(this.encoded)</span>
501
592
  }
502
593
  &nbsp;
503
594
  /**
504
595
  * @param {Object} data
505
596
  */
506
- create(data) {
507
- this.decoded = data;
508
- this.encode(data);
597
+ <span class="fstat-no" title="function not covered" > cr</span>eate(data) {
598
+ const decoded = <span class="cstat-no" title="statement not covered" >{};</span>
599
+ <span class="cstat-no" title="statement not covered" > if (this.keys?.length &gt; 0) {</span>
600
+ <span class="cstat-no" title="statement not covered" > for (const key of this.keys) {</span>
601
+ <span class="cstat-no" title="statement not covered" > Object.defineProperties(decoded, {</span>
602
+ [key]: {
603
+ enumerable: true,
604
+ configurable: true,
605
+ set: <span class="fstat-no" title="function not covered" >(v</span>al) =&gt; <span class="cstat-no" title="statement not covered" >value = data[key],</span>
606
+ get: <span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >data[key]</span>
607
+ }
608
+ });
609
+ }
610
+ &nbsp;
611
+ <span class="cstat-no" title="statement not covered" > this.decoded = decoded;</span>
612
+ <span class="cstat-no" title="statement not covered" > this.encode();</span>
613
+ }
509
614
  }
510
615
  }
511
616
  &nbsp;
512
- module.exports = FormatInterface;
617
+ <span class="cstat-no" title="statement not covered" >module.exports = FormatInterface;</span>
513
618
  &nbsp;</pre></td></tr></table></pre>
514
619
 
515
620
  <div class='push'></div><!-- for sticky footer -->
516
621
  </div><!-- /wrapper -->
517
622
  <div class='footer quiet pad2 space-top1 center small'>
518
623
  Code coverage generated by
519
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
520
- at Thu Mar 17 2022 18:09:25 GMT+0100 (Midden-Europese standaardtijd)
624
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
625
+ at Fri Apr 22 2022 21:07:43 GMT+0200 (Midden-Europese zomertijd)
521
626
  </div>
522
- </div>
523
627
  <script src="prettify.js"></script>
524
628
  <script>
525
629
  window.onload = function () {