@monorepolint/utils 0.6.0-alpha.2 → 0.6.0-alpha.3

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 (56) hide show
  1. package/.turbo/turbo-clean.log +1 -1
  2. package/.turbo/turbo-compile-typescript.log +1 -1
  3. package/.turbo/turbo-lint.log +7 -7
  4. package/.turbo/turbo-test.log +14 -10
  5. package/.turbo/turbo-transpile-typescript.log +3 -3
  6. package/CHANGELOG.md +2 -0
  7. package/build/js/index.js +493 -443
  8. package/build/js/index.js.map +1 -1
  9. package/build/tsconfig.tsbuildinfo +1 -1
  10. package/build/types/CachingHost.d.ts.map +1 -1
  11. package/build/types/Host.d.ts.map +1 -1
  12. package/build/types/PackageJson.d.ts.map +1 -1
  13. package/build/types/SimpleHost.d.ts.map +1 -1
  14. package/build/types/Table.d.ts.map +1 -1
  15. package/build/types/findWorkspaceDir.d.ts.map +1 -1
  16. package/build/types/getPackageNameToDir.d.ts.map +1 -1
  17. package/build/types/getWorkspacePackageDirs.d.ts.map +1 -1
  18. package/build/types/index.d.ts +7 -7
  19. package/build/types/index.d.ts.map +1 -1
  20. package/build/types/matchesAnyGlob.d.ts.map +1 -1
  21. package/build/types/mutateJson.d.ts.map +1 -1
  22. package/build/types/nanosecondsToSanity.d.ts.map +1 -1
  23. package/coverage/AggregateTiming.ts.html +2 -2
  24. package/coverage/CachingHost.ts.html +258 -42
  25. package/coverage/Host.ts.html +15 -3
  26. package/coverage/PackageJson.ts.html +4 -4
  27. package/coverage/SimpleHost.ts.html +40 -7
  28. package/coverage/Table.ts.html +148 -31
  29. package/coverage/Timing.ts.html +1 -1
  30. package/coverage/clover.xml +533 -389
  31. package/coverage/coverage-final.json +13 -13
  32. package/coverage/findWorkspaceDir.ts.html +4 -4
  33. package/coverage/getPackageNameToDir.ts.html +18 -6
  34. package/coverage/getWorkspacePackageDirs.ts.html +174 -138
  35. package/coverage/index.html +40 -40
  36. package/coverage/index.ts.html +30 -30
  37. package/coverage/matchesAnyGlob.ts.html +37 -10
  38. package/coverage/mutateJson.ts.html +17 -5
  39. package/coverage/nanosecondsToSanity.ts.html +11 -5
  40. package/package.json +1 -2
  41. package/src/AggregateTiming.ts +1 -1
  42. package/src/CachingHost.ts +106 -34
  43. package/src/Host.ts +5 -1
  44. package/src/PackageJson.ts +3 -3
  45. package/src/SimpleHost.ts +14 -3
  46. package/src/Table.ts +62 -23
  47. package/src/__tests__/CachingHost.spec.ts +203 -166
  48. package/src/findWorkspaceDir.ts +3 -3
  49. package/src/getPackageNameToDir.ts +6 -2
  50. package/src/getWorkspacePackageDirs.ts +22 -10
  51. package/src/index.ts +7 -7
  52. package/src/matchesAnyGlob.ts +12 -3
  53. package/src/mutateJson.ts +5 -1
  54. package/src/nanosecondsToSanity.ts +3 -1
  55. package/vitest.config.mjs +10 -7
  56. package/vitest.config.mjs.timestamp-1736878329730-aa478e2241542.mjs +2 -2
@@ -97,7 +97,15 @@
97
97
  <a name='L32'></a><a href='#L32'>32</a>
98
98
  <a name='L33'></a><a href='#L33'>33</a>
99
99
  <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
105
+ <span class="cline-any cline-neutral">&nbsp;</span>
106
+ <span class="cline-any cline-neutral">&nbsp;</span>
107
+ <span class="cline-any cline-neutral">&nbsp;</span>
108
+ <span class="cline-any cline-neutral">&nbsp;</span>
101
109
  <span class="cline-any cline-neutral">&nbsp;</span>
102
110
  <span class="cline-any cline-neutral">&nbsp;</span>
103
111
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -152,7 +160,11 @@ export interface Host {
152
160
  writeJson(path: string, o: object): void;
153
161
  &nbsp;
154
162
  writeFile(path: string, buffer: Buffer): void;
155
- writeFile(path: string, body: string, opts: { encoding: BufferEncoding }): void;
163
+ writeFile(
164
+ path: string,
165
+ body: string,
166
+ opts: { encoding: BufferEncoding },
167
+ ): void;
156
168
  &nbsp;
157
169
  readFile(path: string, opts?: undefined): Buffer;
158
170
  readFile(path: string, opts: { encoding: BufferEncoding }): string;
@@ -172,7 +184,7 @@ export interface Host {
172
184
  <div class='footer quiet pad2 space-top1 center small'>
173
185
  Code coverage generated by
174
186
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
175
- at 2025-01-17T16:18:31.005Z
187
+ at 2025-01-22T17:39:00.274Z
176
188
  </div>
177
189
  <script src="prettify.js"></script>
178
190
  <script>
@@ -123,9 +123,9 @@ export interface PackageJson {
123
123
  optionalDependencies?: Record&lt;string, string&gt;;
124
124
  workspaces?:
125
125
  | {
126
- packages?: string[];
127
- nohoist?: string[];
128
- }
126
+ packages?: string[];
127
+ nohoist?: string[];
128
+ }
129
129
  | string[];
130
130
  [otherKey: string]: unknown;
131
131
  }
@@ -136,7 +136,7 @@ export interface PackageJson {
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
139
- at 2025-01-17T16:18:31.005Z
139
+ at 2025-01-22T17:39:00.274Z
140
140
  </div>
141
141
  <script src="prettify.js"></script>
142
142
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>50/50</span>
28
+ <span class='fraction'>61/61</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>50/50</span>
49
+ <span class='fraction'>61/61</span>
50
50
  </div>
51
51
 
52
52
 
@@ -119,7 +119,18 @@
119
119
  <a name='L54'></a><a href='#L54'>54</a>
120
120
  <a name='L55'></a><a href='#L55'>55</a>
121
121
  <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
123
134
  <span class="cline-any cline-neutral">&nbsp;</span>
124
135
  <span class="cline-any cline-neutral">&nbsp;</span>
125
136
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -175,6 +186,17 @@
175
186
  <span class="cline-any cline-yes">1x</span>
176
187
  <span class="cline-any cline-yes">1x</span>
177
188
  <span class="cline-any cline-yes">1x</span>
189
+ <span class="cline-any cline-yes">1x</span>
190
+ <span class="cline-any cline-yes">1x</span>
191
+ <span class="cline-any cline-yes">1x</span>
192
+ <span class="cline-any cline-yes">1x</span>
193
+ <span class="cline-any cline-yes">1x</span>
194
+ <span class="cline-any cline-yes">1x</span>
195
+ <span class="cline-any cline-yes">1x</span>
196
+ <span class="cline-any cline-yes">1x</span>
197
+ <span class="cline-any cline-yes">1x</span>
198
+ <span class="cline-any cline-yes">1x</span>
199
+ <span class="cline-any cline-yes">1x</span>
178
200
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/*!
179
201
  * Copyright 2022 Palantir Technologies, Inc.
180
202
  *
@@ -199,8 +221,16 @@ export class SimpleHost implements Host {
199
221
  }
200
222
  &nbsp;
201
223
  writeFile(path: string, buffer: Buffer): void;
202
- writeFile(path: string, body: string, opts: { encoding: BufferEncoding }): void;
203
- writeFile(path: string, body: string | Buffer, opts?: { encoding: BufferEncoding }): void {
224
+ writeFile(
225
+ path: string,
226
+ body: string,
227
+ opts: { encoding: BufferEncoding },
228
+ ): void;
229
+ writeFile(
230
+ path: string,
231
+ body: string | Buffer,
232
+ opts?: { encoding: BufferEncoding },
233
+ ): void {
204
234
  if (opts) {
205
235
  this.fs.writeFileSync(path, body, { encoding: opts.encoding });
206
236
  } else {
@@ -210,7 +240,10 @@ export class SimpleHost implements Host {
210
240
  readFile(path: string, opts?: undefined): Buffer;
211
241
  readFile(path: string, opts: { encoding: BufferEncoding }): string;
212
242
  readFile(path: string, opts: { asJson: true }): object;
213
- readFile(path: string, opts?: { encoding?: BufferEncoding; asJson?: boolean }): string | object | Buffer {
243
+ readFile(
244
+ path: string,
245
+ opts?: { encoding?: BufferEncoding; asJson?: boolean },
246
+ ): string | object | Buffer {
214
247
  if (opts?.asJson) {
215
248
  return JSON.parse(this.fs.readFileSync(path, "utf-8"));
216
249
  }
@@ -238,7 +271,7 @@ export class SimpleHost implements Host {
238
271
  <div class='footer quiet pad2 space-top1 center small'>
239
272
  Code coverage generated by
240
273
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
241
- at 2025-01-17T16:18:31.005Z
274
+ at 2025-01-22T17:39:00.274Z
242
275
  </div>
243
276
  <script src="prettify.js"></script>
244
277
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>302/302</span>
28
+ <span class='fraction'>342/342</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>302/302</span>
49
+ <span class='fraction'>342/342</span>
50
50
  </div>
51
51
 
52
52
 
@@ -381,7 +381,46 @@
381
381
  <a name='L316'></a><a href='#L316'>316</a>
382
382
  <a name='L317'></a><a href='#L317'>317</a>
383
383
  <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
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>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a>
423
+ <a name='L358'></a><a href='#L358'>358</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
385
424
  <span class="cline-any cline-neutral">&nbsp;</span>
386
425
  <span class="cline-any cline-neutral">&nbsp;</span>
387
426
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -496,7 +535,18 @@
496
535
  <span class="cline-any cline-yes">1x</span>
497
536
  <span class="cline-any cline-yes">1x</span>
498
537
  <span class="cline-any cline-yes">1x</span>
499
- <span class="cline-any cline-neutral">&nbsp;</span>
538
+ <span class="cline-any cline-yes">1x</span>
539
+ <span class="cline-any cline-yes">1x</span>
540
+ <span class="cline-any cline-yes">1x</span>
541
+ <span class="cline-any cline-yes">1x</span>
542
+ <span class="cline-any cline-yes">1x</span>
543
+ <span class="cline-any cline-yes">1x</span>
544
+ <span class="cline-any cline-yes">1x</span>
545
+ <span class="cline-any cline-yes">1x</span>
546
+ <span class="cline-any cline-yes">1x</span>
547
+ <span class="cline-any cline-yes">1x</span>
548
+ <span class="cline-any cline-yes">1x</span>
549
+ <span class="cline-any cline-yes">1x</span>
500
550
  <span class="cline-any cline-yes">1x</span>
501
551
  <span class="cline-any cline-neutral">&nbsp;</span>
502
552
  <span class="cline-any cline-yes">1x</span>
@@ -530,7 +580,7 @@
530
580
  <span class="cline-any cline-yes">1x</span>
531
581
  <span class="cline-any cline-yes">1x</span>
532
582
  <span class="cline-any cline-yes">1x</span>
533
- <span class="cline-any cline-yes">1x</span>
583
+ <span class="cline-any cline-neutral">&nbsp;</span>
534
584
  <span class="cline-any cline-yes">1x</span>
535
585
  <span class="cline-any cline-yes">1x</span>
536
586
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -549,6 +599,19 @@
549
599
  <span class="cline-any cline-yes">1x</span>
550
600
  <span class="cline-any cline-yes">1x</span>
551
601
  <span class="cline-any cline-yes">1x</span>
602
+ <span class="cline-any cline-neutral">&nbsp;</span>
603
+ <span class="cline-any cline-yes">1x</span>
604
+ <span class="cline-any cline-yes">1x</span>
605
+ <span class="cline-any cline-yes">1x</span>
606
+ <span class="cline-any cline-yes">1x</span>
607
+ <span class="cline-any cline-yes">1x</span>
608
+ <span class="cline-any cline-yes">1x</span>
609
+ <span class="cline-any cline-yes">1x</span>
610
+ <span class="cline-any cline-yes">1x</span>
611
+ <span class="cline-any cline-yes">1x</span>
612
+ <span class="cline-any cline-yes">1x</span>
613
+ <span class="cline-any cline-yes">1x</span>
614
+ <span class="cline-any cline-yes">1x</span>
552
615
  <span class="cline-any cline-yes">1x</span>
553
616
  <span class="cline-any cline-yes">1x</span>
554
617
  <span class="cline-any cline-yes">1x</span>
@@ -581,7 +644,6 @@
581
644
  <span class="cline-any cline-yes">1x</span>
582
645
  <span class="cline-any cline-yes">1x</span>
583
646
  <span class="cline-any cline-yes">1x</span>
584
- <span class="cline-any cline-neutral">&nbsp;</span>
585
647
  <span class="cline-any cline-yes">1x</span>
586
648
  <span class="cline-any cline-yes">1x</span>
587
649
  <span class="cline-any cline-yes">1x</span>
@@ -628,7 +690,12 @@
628
690
  <span class="cline-any cline-yes">1x</span>
629
691
  <span class="cline-any cline-yes">1x</span>
630
692
  <span class="cline-any cline-yes">1x</span>
631
- <span class="cline-any cline-neutral">&nbsp;</span>
693
+ <span class="cline-any cline-yes">1x</span>
694
+ <span class="cline-any cline-yes">1x</span>
695
+ <span class="cline-any cline-yes">1x</span>
696
+ <span class="cline-any cline-yes">1x</span>
697
+ <span class="cline-any cline-yes">1x</span>
698
+ <span class="cline-any cline-yes">1x</span>
632
699
  <span class="cline-any cline-yes">1x</span>
633
700
  <span class="cline-any cline-yes">1x</span>
634
701
  <span class="cline-any cline-yes">1x</span>
@@ -671,7 +738,6 @@
671
738
  <span class="cline-any cline-yes">1x</span>
672
739
  <span class="cline-any cline-yes">1x</span>
673
740
  <span class="cline-any cline-yes">1x</span>
674
- <span class="cline-any cline-neutral">&nbsp;</span>
675
741
  <span class="cline-any cline-yes">1x</span>
676
742
  <span class="cline-any cline-yes">1x</span>
677
743
  <span class="cline-any cline-yes">1x</span>
@@ -699,6 +765,18 @@
699
765
  <span class="cline-any cline-yes">1x</span>
700
766
  <span class="cline-any cline-yes">1x</span>
701
767
  <span class="cline-any cline-yes">1x</span>
768
+ <span class="cline-any cline-yes">1x</span>
769
+ <span class="cline-any cline-yes">1x</span>
770
+ <span class="cline-any cline-yes">1x</span>
771
+ <span class="cline-any cline-yes">1x</span>
772
+ <span class="cline-any cline-neutral">&nbsp;</span>
773
+ <span class="cline-any cline-yes">1x</span>
774
+ <span class="cline-any cline-yes">1x</span>
775
+ <span class="cline-any cline-yes">1x</span>
776
+ <span class="cline-any cline-yes">1x</span>
777
+ <span class="cline-any cline-yes">1x</span>
778
+ <span class="cline-any cline-yes">1x</span>
779
+ <span class="cline-any cline-yes">1x</span>
702
780
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/*!
703
781
  * Copyright 2022 Palantir Technologies, Inc.
704
782
  *
@@ -707,8 +785,9 @@
707
785
  */
708
786
  // tslint:disable:no-console
709
787
  import { nanosecondsToSanity } from "./nanosecondsToSanity.js";
710
- type HeaderFooterHelper&lt;HB, FB, H, F&gt; = (HB extends true ? { header: H } : { header?: H }) &amp;
711
- (FB extends true ? { footer: F } : { footer?: F });
788
+ type HeaderFooterHelper&lt;HB, FB, H, F&gt; =
789
+ &amp; (HB extends true ? { header: H } : { header?: H })
790
+ &amp; (FB extends true ? { footer: F } : { footer?: F });
712
791
  &nbsp;
713
792
  type WithAlignemnt = { alignment?: "right" | "left" };
714
793
  type BaseCellConfig = WithAlignemnt &amp; { type: "bigint" | "string" };
@@ -720,13 +799,20 @@ type BaseBigIntCellConfig = {
720
799
  } &amp; WithAlignemnt;
721
800
  type BaseStringCellConfig = { type: "string" } &amp; WithAlignemnt;
722
801
  &nbsp;
723
- type BigIntColumnConfig&lt;H, F&gt; = WithAlignemnt &amp;
724
- BaseBigIntCellConfig &amp;
725
- HeaderFooterHelper&lt;H, F, string, AggregateFooterConfig | StaticFooterConfig&gt;;
802
+ type BigIntColumnConfig&lt;H, F&gt; =
803
+ &amp; WithAlignemnt
804
+ &amp; BaseBigIntCellConfig
805
+ &amp; HeaderFooterHelper&lt;
806
+ H,
807
+ F,
808
+ string,
809
+ AggregateFooterConfig | StaticFooterConfig
810
+ &gt;;
726
811
  &nbsp;
727
- type StringColumnConfig&lt;H, F&gt; = WithAlignemnt &amp;
728
- BaseStringCellConfig &amp;
729
- HeaderFooterHelper&lt;H, F, string, StaticFooterConfig&gt;;
812
+ type StringColumnConfig&lt;H, F&gt; =
813
+ &amp; WithAlignemnt
814
+ &amp; BaseStringCellConfig
815
+ &amp; HeaderFooterHelper&lt;H, F, string, StaticFooterConfig&gt;;
730
816
  &nbsp;
731
817
  type AggregateFooterConfig = {
732
818
  aggregate: "sum" | "average";
@@ -748,7 +834,8 @@ type TableConfig&lt;T extends any[], H extends boolean, F extends boolean&gt; =
748
834
  showHeader: H;
749
835
  showFooter: F;
750
836
  columns: {
751
- [K in keyof T]: T[K] extends bigint ? BigIntColumnConfig&lt;H, F&gt; : StringColumnConfig&lt;H, F&gt;;
837
+ [K in keyof T]: T[K] extends bigint ? BigIntColumnConfig&lt;H, F&gt;
838
+ : StringColumnConfig&lt;H, F&gt;;
752
839
  };
753
840
  title: string;
754
841
  };
@@ -775,7 +862,7 @@ export class Table&lt;T extends any[]&gt; {
775
862
  | TableConfig&lt;T, true, true&gt;
776
863
  | TableConfig&lt;T, true, false&gt;
777
864
  | TableConfig&lt;T, false, true&gt;
778
- | TableConfig&lt;T, false, false&gt;
865
+ | TableConfig&lt;T, false, false&gt;,
779
866
  ) {
780
867
  this.#config = {
781
868
  padding: 2,
@@ -802,7 +889,9 @@ export class Table&lt;T extends any[]&gt; {
802
889
  ...columnConfig.footer,
803
890
  });
804
891
  } else if ("aggregate" in columnConfig.footer) {
805
- if (columnConfig.type !== "bigint") throw new Error("expecting bigint for aggregate");
892
+ if (columnConfig.type !== "bigint") {
893
+ throw new Error("expecting bigint for aggregate");
894
+ }
806
895
  this.#footerRowConfig.push({
807
896
  type: columnConfig.type,
808
897
  renderAs: columnConfig.renderAs,
@@ -856,10 +945,15 @@ export class Table&lt;T extends any[]&gt; {
856
945
  const colConfig = this.#config.columns[c];
857
946
  this.#columnWidths[c] = Math.max(
858
947
  (this.#config.columns[c].header ?? "").length,
859
- ...this.#rows.map((a) =&gt; this.#getCellValueAsString(a[c], colConfig).length),
948
+ ...this.#rows.map((a) =&gt;
949
+ this.#getCellValueAsString(a[c], colConfig).length
950
+ ),
860
951
  this.#footer &amp;&amp; this.#footerRowConfig
861
- ? this.#getCellValueAsString(this.#footer?.[c] ?? "", this.#footerRowConfig[c]).length
862
- : 0
952
+ ? this.#getCellValueAsString(
953
+ this.#footer?.[c] ?? "",
954
+ this.#footerRowConfig[c],
955
+ ).length
956
+ : 0,
863
957
  );
864
958
  }
865
959
  &nbsp;
@@ -909,7 +1003,9 @@ export class Table&lt;T extends any[]&gt; {
909
1003
  &nbsp;
910
1004
  let hr = "";
911
1005
  for (let c = 0; c &lt; footerRow.length; c++) {
912
- hr += this.#getCellValueAligned(footerRow[c], this.#footerRowConfig![c], c) + paddingString; // .padEnd(this.#columnWidths[c], " ") + paddingString;
1006
+ hr +=
1007
+ this.#getCellValueAligned(footerRow[c], this.#footerRowConfig![c], c)
1008
+ + paddingString; // .padEnd(this.#columnWidths[c], " ") + paddingString;
913
1009
  }
914
1010
  hr = hr.trimRight();
915
1011
  console.log(hr);
@@ -947,7 +1043,10 @@ export class Table&lt;T extends any[]&gt; {
947
1043
  console.log();
948
1044
  }
949
1045
  &nbsp;
950
- #getCellValueAsString(value: bigint | string, config: BaseBigIntCellConfig | BaseStringCellConfig) {
1046
+ #getCellValueAsString(
1047
+ value: bigint | string,
1048
+ config: BaseBigIntCellConfig | BaseStringCellConfig,
1049
+ ) {
951
1050
  if (config.type === "bigint" &amp;&amp; config.renderAs === "nanoseconds") {
952
1051
  return nanosecondsToSanity(value as bigint, config.precision ?? 9);
953
1052
  } else {
@@ -955,7 +1054,11 @@ export class Table&lt;T extends any[]&gt; {
955
1054
  }
956
1055
  }
957
1056
  &nbsp;
958
- #getCellValueAligned(value: bigint | string, config: BaseBigIntCellConfig | BaseStringCellConfig, column: number) {
1057
+ #getCellValueAligned(
1058
+ value: bigint | string,
1059
+ config: BaseBigIntCellConfig | BaseStringCellConfig,
1060
+ column: number,
1061
+ ) {
959
1062
  let result: string;
960
1063
  if (config.type === "bigint" &amp;&amp; config.renderAs === "nanoseconds") {
961
1064
  result = nanosecondsToSanity(value as bigint, config.precision ?? 9);
@@ -974,7 +1077,10 @@ export class Table&lt;T extends any[]&gt; {
974
1077
  const config = this.#config.columns[colNum];
975
1078
  &nbsp;
976
1079
  if (config.type === "bigint" &amp;&amp; config.renderAs === "nanoseconds") {
977
- return nanosecondsToSanity(this.#rows[rowNum][colNum], config.precision ?? 9);
1080
+ return nanosecondsToSanity(
1081
+ this.#rows[rowNum][colNum],
1082
+ config.precision ?? 9,
1083
+ );
978
1084
  } else {
979
1085
  return "" + this.#rows[rowNum][colNum];
980
1086
  }
@@ -985,7 +1091,10 @@ export class Table&lt;T extends any[]&gt; {
985
1091
  &nbsp;
986
1092
  let result: string;
987
1093
  if (config.type === "bigint" &amp;&amp; config.renderAs === "nanoseconds") {
988
- result = nanosecondsToSanity(this.#rows[rowNum][colNum], config.precision ?? 9);
1094
+ result = nanosecondsToSanity(
1095
+ this.#rows[rowNum][colNum],
1096
+ config.precision ?? 9,
1097
+ );
989
1098
  } else {
990
1099
  result = "" + this.#rows[rowNum][colNum];
991
1100
  }
@@ -997,12 +1106,20 @@ export class Table&lt;T extends any[]&gt; {
997
1106
  }
998
1107
  }
999
1108
  &nbsp;
1000
- getColumnWidth(colNum: number, config: BigIntColumnConfig&lt;boolean, boolean&gt; | StringColumnConfig&lt;boolean, boolean&gt;) {
1109
+ getColumnWidth(
1110
+ colNum: number,
1111
+ config:
1112
+ | BigIntColumnConfig&lt;boolean, boolean&gt;
1113
+ | StringColumnConfig&lt;boolean, boolean&gt;,
1114
+ ) {
1001
1115
  let maxWidth = Math.max(
1002
1116
  (config.header ?? "").length,
1003
1117
  this.#footer &amp;&amp; this.#footerRowConfig
1004
- ? this.#getCellValueAsString(this.#footer[colNum], this.#footerRowConfig[colNum]).length
1005
- : 0
1118
+ ? this.#getCellValueAsString(
1119
+ this.#footer[colNum],
1120
+ this.#footerRowConfig[colNum],
1121
+ ).length
1122
+ : 0,
1006
1123
  );
1007
1124
  &nbsp;
1008
1125
  for (let r = 0; r &lt; this.#rows.length; r++) {
@@ -1024,7 +1141,7 @@ export class Table&lt;T extends any[]&gt; {
1024
1141
  <div class='footer quiet pad2 space-top1 center small'>
1025
1142
  Code coverage generated by
1026
1143
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1027
- at 2025-01-17T16:18:31.005Z
1144
+ at 2025-01-22T17:39:00.274Z
1028
1145
  </div>
1029
1146
  <script src="prettify.js"></script>
1030
1147
  <script>
@@ -232,7 +232,7 @@ export class Timing {
232
232
  <div class='footer quiet pad2 space-top1 center small'>
233
233
  Code coverage generated by
234
234
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
235
- at 2025-01-17T16:18:31.005Z
235
+ at 2025-01-22T17:39:00.274Z
236
236
  </div>
237
237
  <script src="prettify.js"></script>
238
238
  <script>