quarkdash 1.0.1 → 1.0.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.
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">56.81% </span>
26
+ <span class="strong">61.22% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>75/132</span>
28
+ <span class='fraction'>60/98</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">26.92% </span>
33
+ <span class="strong">28% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>7/26</span>
35
+ <span class='fraction'>7/25</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">80.95% </span>
40
+ <span class="strong">84.21% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>17/21</span>
42
+ <span class='fraction'>16/19</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">53.84% </span>
47
+ <span class="strong">57.83% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>63/117</span>
49
+ <span class='fraction'>48/83</span>
50
50
  </div>
51
51
 
52
52
 
@@ -352,60 +352,7 @@
352
352
  <a name='L287'></a><a href='#L287'>287</a>
353
353
  <a name='L288'></a><a href='#L288'>288</a>
354
354
  <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
355
+ <a name='L290'></a><a href='#L290'>290</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
409
356
  <span class="cline-any cline-neutral">&nbsp;</span>
410
357
  <span class="cline-any cline-neutral">&nbsp;</span>
411
358
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -415,6 +362,7 @@
415
362
  <span class="cline-any cline-neutral">&nbsp;</span>
416
363
  <span class="cline-any cline-neutral">&nbsp;</span>
417
364
  <span class="cline-any cline-yes">1x</span>
365
+ <span class="cline-any cline-yes">1x</span>
418
366
  <span class="cline-any cline-neutral">&nbsp;</span>
419
367
  <span class="cline-any cline-neutral">&nbsp;</span>
420
368
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -429,45 +377,6 @@
429
377
  <span class="cline-any cline-neutral">&nbsp;</span>
430
378
  <span class="cline-any cline-neutral">&nbsp;</span>
431
379
  <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-yes">49x</span>
433
- <span class="cline-any cline-yes">49x</span>
434
- <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-neutral">&nbsp;</span>
436
- <span class="cline-any cline-neutral">&nbsp;</span>
437
- <span class="cline-any cline-neutral">&nbsp;</span>
438
- <span class="cline-any cline-neutral">&nbsp;</span>
439
- <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-neutral">&nbsp;</span>
441
- <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-no">&nbsp;</span>
443
- <span class="cline-any cline-no">&nbsp;</span>
444
- <span class="cline-any cline-no">&nbsp;</span>
445
- <span class="cline-any cline-no">&nbsp;</span>
446
- <span class="cline-any cline-neutral">&nbsp;</span>
447
- <span class="cline-any cline-no">&nbsp;</span>
448
- <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-neutral">&nbsp;</span>
450
- <span class="cline-any cline-neutral">&nbsp;</span>
451
- <span class="cline-any cline-neutral">&nbsp;</span>
452
- <span class="cline-any cline-neutral">&nbsp;</span>
453
- <span class="cline-any cline-neutral">&nbsp;</span>
454
- <span class="cline-any cline-neutral">&nbsp;</span>
455
- <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-neutral">&nbsp;</span>
457
- <span class="cline-any cline-yes">35x</span>
458
- <span class="cline-any cline-yes">35x</span>
459
- <span class="cline-any cline-yes">35x</span>
460
- <span class="cline-any cline-yes">35x</span>
461
- <span class="cline-any cline-yes">49x</span>
462
- <span class="cline-any cline-yes">49x</span>
463
- <span class="cline-any cline-yes">49x</span>
464
- <span class="cline-any cline-yes">49x</span>
465
- <span class="cline-any cline-yes">49x</span>
466
- <span class="cline-any cline-yes">49x</span>
467
- <span class="cline-any cline-yes">49x</span>
468
- <span class="cline-any cline-yes">49x</span>
469
- <span class="cline-any cline-yes">49x</span>
470
- <span class="cline-any cline-yes">49x</span>
471
380
  <span class="cline-any cline-neutral">&nbsp;</span>
472
381
  <span class="cline-any cline-yes">35x</span>
473
382
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -480,21 +389,6 @@
480
389
  <span class="cline-any cline-neutral">&nbsp;</span>
481
390
  <span class="cline-any cline-neutral">&nbsp;</span>
482
391
  <span class="cline-any cline-no">&nbsp;</span>
483
- <span class="cline-any cline-no">&nbsp;</span>
484
- <span class="cline-any cline-no">&nbsp;</span>
485
- <span class="cline-any cline-no">&nbsp;</span>
486
- <span class="cline-any cline-no">&nbsp;</span>
487
- <span class="cline-any cline-no">&nbsp;</span>
488
- <span class="cline-any cline-no">&nbsp;</span>
489
- <span class="cline-any cline-no">&nbsp;</span>
490
- <span class="cline-any cline-no">&nbsp;</span>
491
- <span class="cline-any cline-no">&nbsp;</span>
492
- <span class="cline-any cline-no">&nbsp;</span>
493
- <span class="cline-any cline-no">&nbsp;</span>
494
- <span class="cline-any cline-no">&nbsp;</span>
495
- <span class="cline-any cline-no">&nbsp;</span>
496
- <span class="cline-any cline-neutral">&nbsp;</span>
497
- <span class="cline-any cline-no">&nbsp;</span>
498
392
  <span class="cline-any cline-neutral">&nbsp;</span>
499
393
  <span class="cline-any cline-neutral">&nbsp;</span>
500
394
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -503,15 +397,15 @@
503
397
  <span class="cline-any cline-neutral">&nbsp;</span>
504
398
  <span class="cline-any cline-neutral">&nbsp;</span>
505
399
  <span class="cline-any cline-neutral">&nbsp;</span>
506
- <span class="cline-any cline-yes">268x</span>
507
- <span class="cline-any cline-yes">268x</span>
508
- <span class="cline-any cline-yes">129x</span>
509
- <span class="cline-any cline-yes">129x</span>
510
- <span class="cline-any cline-yes">129x</span>
511
- <span class="cline-any cline-yes">268x</span>
512
- <span class="cline-any cline-yes">268x</span>
400
+ <span class="cline-any cline-yes">170x</span>
401
+ <span class="cline-any cline-yes">170x</span>
402
+ <span class="cline-any cline-yes">80x</span>
403
+ <span class="cline-any cline-yes">80x</span>
404
+ <span class="cline-any cline-yes">80x</span>
405
+ <span class="cline-any cline-yes">170x</span>
406
+ <span class="cline-any cline-yes">170x</span>
513
407
  <span class="cline-any cline-neutral">&nbsp;</span>
514
- <span class="cline-any cline-yes">129x</span>
408
+ <span class="cline-any cline-yes">80x</span>
515
409
  <span class="cline-any cline-neutral">&nbsp;</span>
516
410
  <span class="cline-any cline-neutral">&nbsp;</span>
517
411
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -626,7 +520,7 @@
626
520
  <span class="cline-any cline-neutral">&nbsp;</span>
627
521
  <span class="cline-any cline-neutral">&nbsp;</span>
628
522
  <span class="cline-any cline-neutral">&nbsp;</span>
629
- <span class="cline-any cline-yes">6x</span>
523
+ <span class="cline-any cline-yes">8x</span>
630
524
  <span class="cline-any cline-neutral">&nbsp;</span>
631
525
  <span class="cline-any cline-no">&nbsp;</span>
632
526
  <span class="cline-any cline-no">&nbsp;</span>
@@ -757,6 +651,7 @@
757
651
  * @website https://dev.to/devsdaddy
758
652
  */
759
653
  import crypto from "crypto";
654
+ import {Shake256} from "./shake";
760
655
  &nbsp;
761
656
  /**
762
657
  * Crypto Utils Class
@@ -764,30 +659,6 @@ import crypto from "crypto";
764
659
  export class QuarkDashUtils {
765
660
  // Protected Constants
766
661
  private static HEXChars : string = '0123456789abcdef';
767
- &nbsp;
768
- /**
769
- * Run SHA256 async
770
- * @param data {Uint8Array} Bytes buffer
771
- * @return {Promise&lt;Uint8Array&gt;} Result
772
- */
773
- public static async sha256(data: Uint8Array): Promise&lt;Uint8Array&gt; {
774
- const hash = await crypto.subtle.digest('SHA-256', data);
775
- return new Uint8Array(hash);
776
- }
777
- &nbsp;
778
- /**
779
- * Run SHA256 sync
780
- * @param data {Uint8Array} Bytes buffer
781
- * @return {Uint8Array} Result
782
- */
783
- public <span class="fstat-no" title="function not covered" >static </span>sha256Sync(data: Uint8Array): Uint8Array {
784
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof require !== 'undefined') {</span>
785
- const crypto = <span class="cstat-no" title="statement not covered" >require('crypto');</span>
786
- const hash = <span class="cstat-no" title="statement not covered" >crypto.createHash('sha256').update(data).digest();</span>
787
- <span class="cstat-no" title="statement not covered" > return new Uint8Array(hash);</span>
788
- }
789
- <span class="cstat-no" title="statement not covered" > throw new Error('Synchronous SHA256 not available in browser');</span>
790
- }
791
662
  &nbsp;
792
663
  /**
793
664
  * Get Shake-256 result async
@@ -796,22 +667,7 @@ export class QuarkDashUtils {
796
667
  * @return {Promise&lt;Uint8Array&gt;} Result buffer
797
668
  */
798
669
  public static async shake256(data: Uint8Array, len: number): Promise&lt;Uint8Array&gt; {
799
- const result = new Uint8Array(len);
800
- let counter = 0;
801
- let offset = 0;
802
- while (offset &lt; len) {
803
- const cnt = new Uint8Array(4);
804
- cnt[0] = (counter &gt;&gt; 24) &amp; 0xFF;
805
- cnt[1] = (counter &gt;&gt; 16) &amp; 0xFF;
806
- cnt[2] = (counter &gt;&gt; 8) &amp; 0xFF;
807
- cnt[3] = counter &amp; 0xFF;
808
- const hash = await this.sha256(this.concatBytes(data, cnt));
809
- const take = Math.min(hash.length, len - offset);
810
- result.set(hash.slice(0, take), offset);
811
- offset += take;
812
- counter++;
813
- }
814
- return result;
670
+ return await Shake256.hash(data, len);
815
671
  }
816
672
  &nbsp;
817
673
  /**
@@ -821,22 +677,7 @@ export class QuarkDashUtils {
821
677
  * @return {Uint8Array} Result buffer
822
678
  */
823
679
  public <span class="fstat-no" title="function not covered" >static </span>shake256Sync(data: Uint8Array, len: number): Uint8Array {
824
- const result = <span class="cstat-no" title="statement not covered" >new Uint8Array(len);</span>
825
- let counter = <span class="cstat-no" title="statement not covered" >0;</span>
826
- let offset = <span class="cstat-no" title="statement not covered" >0;</span>
827
- <span class="cstat-no" title="statement not covered" > while (offset &lt; len) {</span>
828
- const cnt = <span class="cstat-no" title="statement not covered" >new Uint8Array(4);</span>
829
- <span class="cstat-no" title="statement not covered" > cnt[0] = (counter &gt;&gt; 24) &amp; 0xFF;</span>
830
- <span class="cstat-no" title="statement not covered" > cnt[1] = (counter &gt;&gt; 16) &amp; 0xFF;</span>
831
- <span class="cstat-no" title="statement not covered" > cnt[2] = (counter &gt;&gt; 8) &amp; 0xFF;</span>
832
- <span class="cstat-no" title="statement not covered" > cnt[3] = counter &amp; 0xFF;</span>
833
- const hash = <span class="cstat-no" title="statement not covered" >this.sha256Sync(this.concatBytes(data, cnt));</span>
834
- const take = <span class="cstat-no" title="statement not covered" >Math.min(hash.length, len - offset);</span>
835
- <span class="cstat-no" title="statement not covered" > result.set(hash.slice(0, take), offset);</span>
836
- <span class="cstat-no" title="statement not covered" > offset += take;</span>
837
- <span class="cstat-no" title="statement not covered" > counter++;</span>
838
- }
839
- <span class="cstat-no" title="statement not covered" > return result;</span>
680
+ <span class="cstat-no" title="statement not covered" > return Shake256.hashSync(data, len);</span>
840
681
  }
841
682
  &nbsp;
842
683
  /**
@@ -1096,7 +937,7 @@ export class QuarkDashUtils {
1096
937
  <div class='footer quiet pad2 space-top1 center small'>
1097
938
  Code coverage generated by
1098
939
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1099
- at 2026-04-06T17:17:39.681Z
940
+ at 2026-04-07T09:19:21.516Z
1100
941
  </div>
1101
942
  <script src="prettify.js"></script>
1102
943
  <script>