@monorepolint/utils 0.6.0-alpha.2 → 0.6.0-alpha.4
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/.turbo/turbo-clean.log +1 -1
- package/.turbo/turbo-compile-typescript.log +1 -1
- package/.turbo/turbo-lint.log +7 -7
- package/.turbo/turbo-test.log +11 -10
- package/.turbo/turbo-transpile-typescript.log +4 -4
- package/CHANGELOG.md +4 -0
- package/build/js/index.js +489 -443
- package/build/js/index.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/CachingHost.d.ts.map +1 -1
- package/build/types/Host.d.ts.map +1 -1
- package/build/types/PackageJson.d.ts.map +1 -1
- package/build/types/SimpleHost.d.ts.map +1 -1
- package/build/types/Table.d.ts.map +1 -1
- package/build/types/findWorkspaceDir.d.ts.map +1 -1
- package/build/types/getPackageNameToDir.d.ts.map +1 -1
- package/build/types/getWorkspacePackageDirs.d.ts.map +1 -1
- package/build/types/index.d.ts +7 -7
- package/build/types/index.d.ts.map +1 -1
- package/build/types/matchesAnyGlob.d.ts.map +1 -1
- package/build/types/mutateJson.d.ts.map +1 -1
- package/build/types/nanosecondsToSanity.d.ts.map +1 -1
- package/coverage/AggregateTiming.ts.html +2 -2
- package/coverage/CachingHost.ts.html +252 -42
- package/coverage/Host.ts.html +15 -3
- package/coverage/PackageJson.ts.html +4 -4
- package/coverage/SimpleHost.ts.html +40 -7
- package/coverage/Table.ts.html +137 -29
- package/coverage/Timing.ts.html +1 -1
- package/coverage/clover.xml +527 -396
- package/coverage/coverage-final.json +13 -13
- package/coverage/findWorkspaceDir.ts.html +4 -4
- package/coverage/getPackageNameToDir.ts.html +18 -6
- package/coverage/getWorkspacePackageDirs.ts.html +168 -138
- package/coverage/index.html +40 -40
- package/coverage/index.ts.html +30 -30
- package/coverage/matchesAnyGlob.ts.html +37 -10
- package/coverage/mutateJson.ts.html +17 -5
- package/coverage/nanosecondsToSanity.ts.html +11 -5
- package/package.json +1 -2
- package/src/AggregateTiming.ts +1 -1
- package/src/CachingHost.ts +104 -34
- package/src/Host.ts +5 -1
- package/src/PackageJson.ts +3 -3
- package/src/SimpleHost.ts +14 -3
- package/src/Table.ts +58 -22
- package/src/__tests__/CachingHost.spec.ts +203 -166
- package/src/findWorkspaceDir.ts +3 -3
- package/src/getPackageNameToDir.ts +6 -2
- package/src/getWorkspacePackageDirs.ts +19 -9
- package/src/index.ts +7 -7
- package/src/matchesAnyGlob.ts +12 -3
- package/src/mutateJson.ts +5 -1
- package/src/nanosecondsToSanity.ts +3 -1
- package/vitest.config.mjs +6 -7
- package/vitest.config.mjs.timestamp-1736878329730-aa478e2241542.mjs +2 -2
package/coverage/Host.ts.html
CHANGED
|
@@ -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
|
|
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"> </span>
|
|
105
|
+
<span class="cline-any cline-neutral"> </span>
|
|
106
|
+
<span class="cline-any cline-neutral"> </span>
|
|
107
|
+
<span class="cline-any cline-neutral"> </span>
|
|
108
|
+
<span class="cline-any cline-neutral"> </span>
|
|
101
109
|
<span class="cline-any cline-neutral"> </span>
|
|
102
110
|
<span class="cline-any cline-neutral"> </span>
|
|
103
111
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -152,7 +160,11 @@ export interface Host {
|
|
|
152
160
|
writeJson(path: string, o: object): void;
|
|
153
161
|
|
|
154
162
|
writeFile(path: string, buffer: Buffer): void;
|
|
155
|
-
writeFile(
|
|
163
|
+
writeFile(
|
|
164
|
+
path: string,
|
|
165
|
+
body: string,
|
|
166
|
+
opts: { encoding: BufferEncoding },
|
|
167
|
+
): void;
|
|
156
168
|
|
|
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-
|
|
187
|
+
at 2025-01-31T20:59:52.637Z
|
|
176
188
|
</div>
|
|
177
189
|
<script src="prettify.js"></script>
|
|
178
190
|
<script>
|
|
@@ -123,9 +123,9 @@ export interface PackageJson {
|
|
|
123
123
|
optionalDependencies?: Record<string, string>;
|
|
124
124
|
workspaces?:
|
|
125
125
|
| {
|
|
126
|
-
|
|
127
|
-
|
|
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-
|
|
139
|
+
at 2025-01-31T20:59:52.637Z
|
|
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'>
|
|
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'>
|
|
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
|
|
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"> </span>
|
|
124
135
|
<span class="cline-any cline-neutral"> </span>
|
|
125
136
|
<span class="cline-any cline-neutral"> </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"> </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
|
|
|
201
223
|
writeFile(path: string, buffer: Buffer): void;
|
|
202
|
-
writeFile(
|
|
203
|
-
|
|
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(
|
|
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-
|
|
274
|
+
at 2025-01-31T20:59:52.637Z
|
|
242
275
|
</div>
|
|
243
276
|
<script src="prettify.js"></script>
|
|
244
277
|
<script>
|
package/coverage/Table.ts.html
CHANGED
|
@@ -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'>
|
|
28
|
+
<span class='fraction'>333/333</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'>
|
|
49
|
+
<span class='fraction'>333/333</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -381,7 +381,43 @@
|
|
|
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
|
|
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
385
421
|
<span class="cline-any cline-neutral"> </span>
|
|
386
422
|
<span class="cline-any cline-neutral"> </span>
|
|
387
423
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -496,7 +532,18 @@
|
|
|
496
532
|
<span class="cline-any cline-yes">1x</span>
|
|
497
533
|
<span class="cline-any cline-yes">1x</span>
|
|
498
534
|
<span class="cline-any cline-yes">1x</span>
|
|
499
|
-
<span class="cline-any cline-
|
|
535
|
+
<span class="cline-any cline-yes">1x</span>
|
|
536
|
+
<span class="cline-any cline-yes">1x</span>
|
|
537
|
+
<span class="cline-any cline-yes">1x</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>
|
|
500
547
|
<span class="cline-any cline-yes">1x</span>
|
|
501
548
|
<span class="cline-any cline-neutral"> </span>
|
|
502
549
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -530,6 +577,20 @@
|
|
|
530
577
|
<span class="cline-any cline-yes">1x</span>
|
|
531
578
|
<span class="cline-any cline-yes">1x</span>
|
|
532
579
|
<span class="cline-any cline-yes">1x</span>
|
|
580
|
+
<span class="cline-any cline-neutral"> </span>
|
|
581
|
+
<span class="cline-any cline-yes">1x</span>
|
|
582
|
+
<span class="cline-any cline-yes">1x</span>
|
|
583
|
+
<span class="cline-any cline-neutral"> </span>
|
|
584
|
+
<span class="cline-any cline-yes">1x</span>
|
|
585
|
+
<span class="cline-any cline-yes">1x</span>
|
|
586
|
+
<span class="cline-any cline-yes">1x</span>
|
|
587
|
+
<span class="cline-any cline-yes">1x</span>
|
|
588
|
+
<span class="cline-any cline-yes">1x</span>
|
|
589
|
+
<span class="cline-any cline-yes">1x</span>
|
|
590
|
+
<span class="cline-any cline-yes">1x</span>
|
|
591
|
+
<span class="cline-any cline-yes">1x</span>
|
|
592
|
+
<span class="cline-any cline-yes">1x</span>
|
|
593
|
+
<span class="cline-any cline-yes">1x</span>
|
|
533
594
|
<span class="cline-any cline-yes">1x</span>
|
|
534
595
|
<span class="cline-any cline-yes">1x</span>
|
|
535
596
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -540,8 +601,10 @@
|
|
|
540
601
|
<span class="cline-any cline-yes">1x</span>
|
|
541
602
|
<span class="cline-any cline-yes">1x</span>
|
|
542
603
|
<span class="cline-any cline-yes">1x</span>
|
|
604
|
+
<span class="cline-any cline-neutral"> </span>
|
|
543
605
|
<span class="cline-any cline-yes">1x</span>
|
|
544
606
|
<span class="cline-any cline-yes">1x</span>
|
|
607
|
+
<span class="cline-any cline-neutral"> </span>
|
|
545
608
|
<span class="cline-any cline-yes">1x</span>
|
|
546
609
|
<span class="cline-any cline-yes">1x</span>
|
|
547
610
|
<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"> </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>
|
|
@@ -595,9 +657,12 @@
|
|
|
595
657
|
<span class="cline-any cline-yes">1x</span>
|
|
596
658
|
<span class="cline-any cline-yes">1x</span>
|
|
597
659
|
<span class="cline-any cline-yes">1x</span>
|
|
660
|
+
<span class="cline-any cline-neutral"> </span>
|
|
598
661
|
<span class="cline-any cline-yes">1x</span>
|
|
599
662
|
<span class="cline-any cline-yes">1x</span>
|
|
600
663
|
<span class="cline-any cline-yes">1x</span>
|
|
664
|
+
<span class="cline-any cline-neutral"> </span>
|
|
665
|
+
<span class="cline-any cline-yes">1x</span>
|
|
601
666
|
<span class="cline-any cline-yes">1x</span>
|
|
602
667
|
<span class="cline-any cline-yes">1x</span>
|
|
603
668
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -628,7 +693,6 @@
|
|
|
628
693
|
<span class="cline-any cline-yes">1x</span>
|
|
629
694
|
<span class="cline-any cline-yes">1x</span>
|
|
630
695
|
<span class="cline-any cline-yes">1x</span>
|
|
631
|
-
<span class="cline-any cline-neutral"> </span>
|
|
632
696
|
<span class="cline-any cline-yes">1x</span>
|
|
633
697
|
<span class="cline-any cline-yes">1x</span>
|
|
634
698
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -638,6 +702,13 @@
|
|
|
638
702
|
<span class="cline-any cline-yes">1x</span>
|
|
639
703
|
<span class="cline-any cline-yes">1x</span>
|
|
640
704
|
<span class="cline-any cline-yes">1x</span>
|
|
705
|
+
<span class="cline-any cline-neutral"> </span>
|
|
706
|
+
<span class="cline-any cline-yes">1x</span>
|
|
707
|
+
<span class="cline-any cline-yes">1x</span>
|
|
708
|
+
<span class="cline-any cline-yes">1x</span>
|
|
709
|
+
<span class="cline-any cline-yes">1x</span>
|
|
710
|
+
<span class="cline-any cline-yes">1x</span>
|
|
711
|
+
<span class="cline-any cline-yes">1x</span>
|
|
641
712
|
<span class="cline-any cline-yes">1x</span>
|
|
642
713
|
<span class="cline-any cline-yes">1x</span>
|
|
643
714
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -654,6 +725,7 @@
|
|
|
654
725
|
<span class="cline-any cline-neutral"> </span>
|
|
655
726
|
<span class="cline-any cline-yes">1x</span>
|
|
656
727
|
<span class="cline-any cline-yes">1x</span>
|
|
728
|
+
<span class="cline-any cline-neutral"> </span>
|
|
657
729
|
<span class="cline-any cline-yes">1x</span>
|
|
658
730
|
<span class="cline-any cline-yes">1x</span>
|
|
659
731
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -671,7 +743,6 @@
|
|
|
671
743
|
<span class="cline-any cline-yes">1x</span>
|
|
672
744
|
<span class="cline-any cline-yes">1x</span>
|
|
673
745
|
<span class="cline-any cline-yes">1x</span>
|
|
674
|
-
<span class="cline-any cline-neutral"> </span>
|
|
675
746
|
<span class="cline-any cline-yes">1x</span>
|
|
676
747
|
<span class="cline-any cline-yes">1x</span>
|
|
677
748
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -693,6 +764,7 @@
|
|
|
693
764
|
<span class="cline-any cline-yes">1x</span>
|
|
694
765
|
<span class="cline-any cline-yes">1x</span>
|
|
695
766
|
<span class="cline-any cline-yes">1x</span>
|
|
767
|
+
<span class="cline-any cline-neutral"> </span>
|
|
696
768
|
<span class="cline-any cline-yes">1x</span>
|
|
697
769
|
<span class="cline-any cline-yes">1x</span>
|
|
698
770
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -707,8 +779,9 @@
|
|
|
707
779
|
*/
|
|
708
780
|
// tslint:disable:no-console
|
|
709
781
|
import { nanosecondsToSanity } from "./nanosecondsToSanity.js";
|
|
710
|
-
type HeaderFooterHelper<HB, FB, H, F> =
|
|
711
|
-
(
|
|
782
|
+
type HeaderFooterHelper<HB, FB, H, F> =
|
|
783
|
+
& (HB extends true ? { header: H } : { header?: H })
|
|
784
|
+
& (FB extends true ? { footer: F } : { footer?: F });
|
|
712
785
|
|
|
713
786
|
type WithAlignemnt = { alignment?: "right" | "left" };
|
|
714
787
|
type BaseCellConfig = WithAlignemnt & { type: "bigint" | "string" };
|
|
@@ -720,13 +793,20 @@ type BaseBigIntCellConfig = {
|
|
|
720
793
|
} & WithAlignemnt;
|
|
721
794
|
type BaseStringCellConfig = { type: "string" } & WithAlignemnt;
|
|
722
795
|
|
|
723
|
-
type BigIntColumnConfig<H, F> =
|
|
724
|
-
|
|
725
|
-
|
|
796
|
+
type BigIntColumnConfig<H, F> =
|
|
797
|
+
& WithAlignemnt
|
|
798
|
+
& BaseBigIntCellConfig
|
|
799
|
+
& HeaderFooterHelper<
|
|
800
|
+
H,
|
|
801
|
+
F,
|
|
802
|
+
string,
|
|
803
|
+
AggregateFooterConfig | StaticFooterConfig
|
|
804
|
+
>;
|
|
726
805
|
|
|
727
|
-
type StringColumnConfig<H, F> =
|
|
728
|
-
|
|
729
|
-
|
|
806
|
+
type StringColumnConfig<H, F> =
|
|
807
|
+
& WithAlignemnt
|
|
808
|
+
& BaseStringCellConfig
|
|
809
|
+
& HeaderFooterHelper<H, F, string, StaticFooterConfig>;
|
|
730
810
|
|
|
731
811
|
type AggregateFooterConfig = {
|
|
732
812
|
aggregate: "sum" | "average";
|
|
@@ -748,7 +828,8 @@ type TableConfig<T extends any[], H extends boolean, F extends boolean> =
|
|
|
748
828
|
showHeader: H;
|
|
749
829
|
showFooter: F;
|
|
750
830
|
columns: {
|
|
751
|
-
[K in keyof T]: T[K] extends bigint ? BigIntColumnConfig<H, F>
|
|
831
|
+
[K in keyof T]: T[K] extends bigint ? BigIntColumnConfig<H, F>
|
|
832
|
+
: StringColumnConfig<H, F>;
|
|
752
833
|
};
|
|
753
834
|
title: string;
|
|
754
835
|
};
|
|
@@ -775,7 +856,7 @@ export class Table<T extends any[]> {
|
|
|
775
856
|
| TableConfig<T, true, true>
|
|
776
857
|
| TableConfig<T, true, false>
|
|
777
858
|
| TableConfig<T, false, true>
|
|
778
|
-
| TableConfig<T, false, false>
|
|
859
|
+
| TableConfig<T, false, false>,
|
|
779
860
|
) {
|
|
780
861
|
this.#config = {
|
|
781
862
|
padding: 2,
|
|
@@ -802,7 +883,9 @@ export class Table<T extends any[]> {
|
|
|
802
883
|
...columnConfig.footer,
|
|
803
884
|
});
|
|
804
885
|
} else if ("aggregate" in columnConfig.footer) {
|
|
805
|
-
if (columnConfig.type !== "bigint")
|
|
886
|
+
if (columnConfig.type !== "bigint") {
|
|
887
|
+
throw new Error("expecting bigint for aggregate");
|
|
888
|
+
}
|
|
806
889
|
this.#footerRowConfig.push({
|
|
807
890
|
type: columnConfig.type,
|
|
808
891
|
renderAs: columnConfig.renderAs,
|
|
@@ -858,8 +941,11 @@ export class Table<T extends any[]> {
|
|
|
858
941
|
(this.#config.columns[c].header ?? "").length,
|
|
859
942
|
...this.#rows.map((a) => this.#getCellValueAsString(a[c], colConfig).length),
|
|
860
943
|
this.#footer && this.#footerRowConfig
|
|
861
|
-
? this.#getCellValueAsString(
|
|
862
|
-
|
|
944
|
+
? this.#getCellValueAsString(
|
|
945
|
+
this.#footer?.[c] ?? "",
|
|
946
|
+
this.#footerRowConfig[c],
|
|
947
|
+
).length
|
|
948
|
+
: 0,
|
|
863
949
|
);
|
|
864
950
|
}
|
|
865
951
|
|
|
@@ -909,7 +995,8 @@ export class Table<T extends any[]> {
|
|
|
909
995
|
|
|
910
996
|
let hr = "";
|
|
911
997
|
for (let c = 0; c < footerRow.length; c++) {
|
|
912
|
-
hr += this.#getCellValueAligned(footerRow[c], this.#footerRowConfig![c], c)
|
|
998
|
+
hr += this.#getCellValueAligned(footerRow[c], this.#footerRowConfig![c], c)
|
|
999
|
+
+ paddingString; // .padEnd(this.#columnWidths[c], " ") + paddingString;
|
|
913
1000
|
}
|
|
914
1001
|
hr = hr.trimRight();
|
|
915
1002
|
console.log(hr);
|
|
@@ -947,7 +1034,10 @@ export class Table<T extends any[]> {
|
|
|
947
1034
|
console.log();
|
|
948
1035
|
}
|
|
949
1036
|
|
|
950
|
-
#getCellValueAsString(
|
|
1037
|
+
#getCellValueAsString(
|
|
1038
|
+
value: bigint | string,
|
|
1039
|
+
config: BaseBigIntCellConfig | BaseStringCellConfig,
|
|
1040
|
+
) {
|
|
951
1041
|
if (config.type === "bigint" && config.renderAs === "nanoseconds") {
|
|
952
1042
|
return nanosecondsToSanity(value as bigint, config.precision ?? 9);
|
|
953
1043
|
} else {
|
|
@@ -955,7 +1045,11 @@ export class Table<T extends any[]> {
|
|
|
955
1045
|
}
|
|
956
1046
|
}
|
|
957
1047
|
|
|
958
|
-
#getCellValueAligned(
|
|
1048
|
+
#getCellValueAligned(
|
|
1049
|
+
value: bigint | string,
|
|
1050
|
+
config: BaseBigIntCellConfig | BaseStringCellConfig,
|
|
1051
|
+
column: number,
|
|
1052
|
+
) {
|
|
959
1053
|
let result: string;
|
|
960
1054
|
if (config.type === "bigint" && config.renderAs === "nanoseconds") {
|
|
961
1055
|
result = nanosecondsToSanity(value as bigint, config.precision ?? 9);
|
|
@@ -974,7 +1068,10 @@ export class Table<T extends any[]> {
|
|
|
974
1068
|
const config = this.#config.columns[colNum];
|
|
975
1069
|
|
|
976
1070
|
if (config.type === "bigint" && config.renderAs === "nanoseconds") {
|
|
977
|
-
return nanosecondsToSanity(
|
|
1071
|
+
return nanosecondsToSanity(
|
|
1072
|
+
this.#rows[rowNum][colNum],
|
|
1073
|
+
config.precision ?? 9,
|
|
1074
|
+
);
|
|
978
1075
|
} else {
|
|
979
1076
|
return "" + this.#rows[rowNum][colNum];
|
|
980
1077
|
}
|
|
@@ -985,7 +1082,10 @@ export class Table<T extends any[]> {
|
|
|
985
1082
|
|
|
986
1083
|
let result: string;
|
|
987
1084
|
if (config.type === "bigint" && config.renderAs === "nanoseconds") {
|
|
988
|
-
result = nanosecondsToSanity(
|
|
1085
|
+
result = nanosecondsToSanity(
|
|
1086
|
+
this.#rows[rowNum][colNum],
|
|
1087
|
+
config.precision ?? 9,
|
|
1088
|
+
);
|
|
989
1089
|
} else {
|
|
990
1090
|
result = "" + this.#rows[rowNum][colNum];
|
|
991
1091
|
}
|
|
@@ -997,12 +1097,20 @@ export class Table<T extends any[]> {
|
|
|
997
1097
|
}
|
|
998
1098
|
}
|
|
999
1099
|
|
|
1000
|
-
getColumnWidth(
|
|
1100
|
+
getColumnWidth(
|
|
1101
|
+
colNum: number,
|
|
1102
|
+
config:
|
|
1103
|
+
| BigIntColumnConfig<boolean, boolean>
|
|
1104
|
+
| StringColumnConfig<boolean, boolean>,
|
|
1105
|
+
) {
|
|
1001
1106
|
let maxWidth = Math.max(
|
|
1002
1107
|
(config.header ?? "").length,
|
|
1003
1108
|
this.#footer && this.#footerRowConfig
|
|
1004
|
-
? this.#getCellValueAsString(
|
|
1005
|
-
|
|
1109
|
+
? this.#getCellValueAsString(
|
|
1110
|
+
this.#footer[colNum],
|
|
1111
|
+
this.#footerRowConfig[colNum],
|
|
1112
|
+
).length
|
|
1113
|
+
: 0,
|
|
1006
1114
|
);
|
|
1007
1115
|
|
|
1008
1116
|
for (let r = 0; r < this.#rows.length; r++) {
|
|
@@ -1024,7 +1132,7 @@ export class Table<T extends any[]> {
|
|
|
1024
1132
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1025
1133
|
Code coverage generated by
|
|
1026
1134
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1027
|
-
at 2025-01-
|
|
1135
|
+
at 2025-01-31T20:59:52.637Z
|
|
1028
1136
|
</div>
|
|
1029
1137
|
<script src="prettify.js"></script>
|
|
1030
1138
|
<script>
|
package/coverage/Timing.ts.html
CHANGED
|
@@ -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-
|
|
235
|
+
at 2025-01-31T20:59:52.637Z
|
|
236
236
|
</div>
|
|
237
237
|
<script src="prettify.js"></script>
|
|
238
238
|
<script>
|