@monorepolint/utils 0.6.0-alpha.4 → 0.6.0-alpha.6
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 +1 -1
- package/.turbo/turbo-test.log +18 -19
- package/.turbo/turbo-transpile-typescript.log +5 -5
- package/CHANGELOG.md +12 -0
- package/build/js/index.js +12 -5
- package/build/js/index.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/CachingHost.d.ts.map +1 -1
- package/coverage/AggregateTiming.ts.html +131 -131
- package/coverage/CachingHost.ts.html +31 -7
- package/coverage/Host.ts.html +1 -1
- package/coverage/PackageJson.ts.html +1 -1
- package/coverage/SimpleHost.ts.html +118 -118
- package/coverage/Table.ts.html +598 -598
- package/coverage/Timing.ts.html +100 -100
- package/coverage/block-navigation.js +1 -1
- package/coverage/clover.xml +756 -951
- package/coverage/coverage-final.json +12 -12
- package/coverage/findWorkspaceDir.ts.html +81 -81
- package/coverage/getPackageNameToDir.ts.html +66 -66
- package/coverage/getWorkspacePackageDirs.ts.html +147 -147
- package/coverage/index.html +126 -126
- package/coverage/index.ts.html +2 -2
- package/coverage/matchesAnyGlob.ts.html +264 -264
- package/coverage/mutateJson.ts.html +31 -31
- package/coverage/nanosecondsToSanity.ts.html +22 -22
- package/coverage/sorter.js +21 -7
- package/package.json +8 -9
- package/src/CachingHost.ts +9 -1
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">0% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>0/99</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/
|
|
35
|
+
<span class='fraction'>0/1</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">0% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>0/
|
|
42
|
+
<span class='fraction'>0/1</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">0% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>0/99</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line low'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -218,316 +218,316 @@
|
|
|
218
218
|
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
219
|
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
220
|
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
-
<a name='L156'></a><a href='#L156'>156</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
222
|
-
<span class="cline-any cline-neutral"> </span>
|
|
223
|
-
<span class="cline-any cline-neutral"> </span>
|
|
224
|
-
<span class="cline-any cline-neutral"> </span>
|
|
225
|
-
<span class="cline-any cline-neutral"> </span>
|
|
226
|
-
<span class="cline-any cline-neutral"> </span>
|
|
227
|
-
<span class="cline-any cline-neutral"> </span>
|
|
228
|
-
<span class="cline-any cline-
|
|
229
|
-
<span class="cline-any cline-
|
|
230
|
-
<span class="cline-any cline-
|
|
231
|
-
<span class="cline-any cline-
|
|
232
|
-
<span class="cline-any cline-
|
|
233
|
-
<span class="cline-any cline-
|
|
234
|
-
<span class="cline-any cline-
|
|
235
|
-
<span class="cline-any cline-
|
|
236
|
-
<span class="cline-any cline-
|
|
237
|
-
<span class="cline-any cline-
|
|
238
|
-
<span class="cline-any cline-
|
|
239
|
-
<span class="cline-any cline-
|
|
240
|
-
<span class="cline-any cline-
|
|
241
|
-
<span class="cline-any cline-
|
|
242
|
-
<span class="cline-any cline-
|
|
243
|
-
<span class="cline-any cline-
|
|
244
|
-
<span class="cline-any cline-
|
|
245
|
-
<span class="cline-any cline-
|
|
246
|
-
<span class="cline-any cline-
|
|
247
|
-
<span class="cline-any cline-
|
|
248
|
-
<span class="cline-any cline-
|
|
249
|
-
<span class="cline-any cline-
|
|
250
|
-
<span class="cline-any cline-
|
|
251
|
-
<span class="cline-any cline-
|
|
252
|
-
<span class="cline-any cline-
|
|
253
|
-
<span class="cline-any cline-
|
|
254
|
-
<span class="cline-any cline-
|
|
255
|
-
<span class="cline-any cline-
|
|
256
|
-
<span class="cline-any cline-
|
|
257
|
-
<span class="cline-any cline-
|
|
258
|
-
<span class="cline-any cline-
|
|
259
|
-
<span class="cline-any cline-
|
|
260
|
-
<span class="cline-any cline-
|
|
261
|
-
<span class="cline-any cline-
|
|
262
|
-
<span class="cline-any cline-
|
|
263
|
-
<span class="cline-any cline-
|
|
264
|
-
<span class="cline-any cline-
|
|
265
|
-
<span class="cline-any cline-
|
|
266
|
-
<span class="cline-any cline-
|
|
267
|
-
<span class="cline-any cline-
|
|
268
|
-
<span class="cline-any cline-
|
|
269
|
-
<span class="cline-any cline-
|
|
270
|
-
<span class="cline-any cline-
|
|
271
|
-
<span class="cline-any cline-
|
|
272
|
-
<span class="cline-any cline-
|
|
273
|
-
<span class="cline-any cline-
|
|
274
|
-
<span class="cline-any cline-
|
|
275
|
-
<span class="cline-any cline-
|
|
276
|
-
<span class="cline-any cline-
|
|
277
|
-
<span class="cline-any cline-
|
|
278
|
-
<span class="cline-any cline-
|
|
279
|
-
<span class="cline-any cline-
|
|
280
|
-
<span class="cline-any cline-
|
|
281
|
-
<span class="cline-any cline-
|
|
282
|
-
<span class="cline-any cline-
|
|
283
|
-
<span class="cline-any cline-
|
|
284
|
-
<span class="cline-any cline-
|
|
285
|
-
<span class="cline-any cline-
|
|
286
|
-
<span class="cline-any cline-
|
|
287
|
-
<span class="cline-any cline-
|
|
288
|
-
<span class="cline-any cline-
|
|
289
|
-
<span class="cline-any cline-
|
|
290
|
-
<span class="cline-any cline-
|
|
291
|
-
<span class="cline-any cline-
|
|
292
|
-
<span class="cline-any cline-
|
|
293
|
-
<span class="cline-any cline-
|
|
294
|
-
<span class="cline-any cline-
|
|
295
|
-
<span class="cline-any cline-
|
|
296
|
-
<span class="cline-any cline-
|
|
297
|
-
<span class="cline-any cline-
|
|
298
|
-
<span class="cline-any cline-
|
|
299
|
-
<span class="cline-any cline-
|
|
300
|
-
<span class="cline-any cline-
|
|
301
|
-
<span class="cline-any cline-
|
|
302
|
-
<span class="cline-any cline-
|
|
303
|
-
<span class="cline-any cline-
|
|
304
|
-
<span class="cline-any cline-
|
|
305
|
-
<span class="cline-any cline-
|
|
306
|
-
<span class="cline-any cline-
|
|
307
|
-
<span class="cline-any cline-
|
|
308
|
-
<span class="cline-any cline-
|
|
309
|
-
<span class="cline-any cline-
|
|
310
|
-
<span class="cline-any cline-
|
|
311
|
-
<span class="cline-any cline-
|
|
312
|
-
<span class="cline-any cline-
|
|
313
|
-
<span class="cline-any cline-
|
|
314
|
-
<span class="cline-any cline-
|
|
315
|
-
<span class="cline-any cline-
|
|
316
|
-
<span class="cline-any cline-
|
|
317
|
-
<span class="cline-any cline-
|
|
318
|
-
<span class="cline-any cline-
|
|
319
|
-
<span class="cline-any cline-
|
|
320
|
-
<span class="cline-any cline-
|
|
321
|
-
<span class="cline-any cline-
|
|
322
|
-
<span class="cline-any cline-
|
|
323
|
-
<span class="cline-any cline-
|
|
324
|
-
<span class="cline-any cline-
|
|
325
|
-
<span class="cline-any cline-
|
|
326
|
-
<span class="cline-any cline-
|
|
327
|
-
<span class="cline-any cline-
|
|
328
|
-
<span class="cline-any cline-
|
|
329
|
-
<span class="cline-any cline-
|
|
330
|
-
<span class="cline-any cline-
|
|
331
|
-
<span class="cline-any cline-
|
|
332
|
-
<span class="cline-any cline-
|
|
333
|
-
<span class="cline-any cline-
|
|
334
|
-
<span class="cline-any cline-
|
|
335
|
-
<span class="cline-any cline-
|
|
336
|
-
<span class="cline-any cline-
|
|
337
|
-
<span class="cline-any cline-
|
|
338
|
-
<span class="cline-any cline-
|
|
339
|
-
<span class="cline-any cline-
|
|
340
|
-
<span class="cline-any cline-
|
|
341
|
-
<span class="cline-any cline-
|
|
342
|
-
<span class="cline-any cline-
|
|
343
|
-
<span class="cline-any cline-
|
|
344
|
-
<span class="cline-any cline-
|
|
345
|
-
<span class="cline-any cline-
|
|
346
|
-
<span class="cline-any cline-
|
|
347
|
-
<span class="cline-any cline-
|
|
348
|
-
<span class="cline-any cline-
|
|
349
|
-
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-
|
|
351
|
-
<span class="cline-any cline-
|
|
352
|
-
<span class="cline-any cline-
|
|
353
|
-
<span class="cline-any cline-
|
|
354
|
-
<span class="cline-any cline-
|
|
355
|
-
<span class="cline-any cline-
|
|
356
|
-
<span class="cline-any cline-
|
|
357
|
-
<span class="cline-any cline-
|
|
358
|
-
<span class="cline-any cline-
|
|
359
|
-
<span class="cline-any cline-
|
|
360
|
-
<span class="cline-any cline-
|
|
361
|
-
<span class="cline-any cline-
|
|
362
|
-
<span class="cline-any cline-
|
|
363
|
-
<span class="cline-any cline-
|
|
364
|
-
<span class="cline-any cline-
|
|
365
|
-
<span class="cline-any cline-
|
|
366
|
-
<span class="cline-any cline-
|
|
367
|
-
<span class="cline-any cline-
|
|
368
|
-
<span class="cline-any cline-
|
|
369
|
-
<span class="cline-any cline-
|
|
370
|
-
<span class="cline-any cline-
|
|
371
|
-
<span class="cline-any cline-
|
|
372
|
-
<span class="cline-any cline-
|
|
373
|
-
<span class="cline-any cline-
|
|
374
|
-
<span class="cline-any cline-
|
|
375
|
-
<span class="cline-any cline-
|
|
376
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"
|
|
221
|
+
<a name='L156'></a><a href='#L156'>156</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
222
|
+
<span class="cline-any cline-neutral"> </span>
|
|
223
|
+
<span class="cline-any cline-neutral"> </span>
|
|
224
|
+
<span class="cline-any cline-neutral"> </span>
|
|
225
|
+
<span class="cline-any cline-neutral"> </span>
|
|
226
|
+
<span class="cline-any cline-neutral"> </span>
|
|
227
|
+
<span class="cline-any cline-neutral"> </span>
|
|
228
|
+
<span class="cline-any cline-no"> </span>
|
|
229
|
+
<span class="cline-any cline-no"> </span>
|
|
230
|
+
<span class="cline-any cline-no"> </span>
|
|
231
|
+
<span class="cline-any cline-neutral"> </span>
|
|
232
|
+
<span class="cline-any cline-neutral"> </span>
|
|
233
|
+
<span class="cline-any cline-neutral"> </span>
|
|
234
|
+
<span class="cline-any cline-neutral"> </span>
|
|
235
|
+
<span class="cline-any cline-neutral"> </span>
|
|
236
|
+
<span class="cline-any cline-neutral"> </span>
|
|
237
|
+
<span class="cline-any cline-no"> </span>
|
|
238
|
+
<span class="cline-any cline-neutral"> </span>
|
|
239
|
+
<span class="cline-any cline-neutral"> </span>
|
|
240
|
+
<span class="cline-any cline-no"> </span>
|
|
241
|
+
<span class="cline-any cline-neutral"> </span>
|
|
242
|
+
<span class="cline-any cline-neutral"> </span>
|
|
243
|
+
<span class="cline-any cline-neutral"> </span>
|
|
244
|
+
<span class="cline-any cline-neutral"> </span>
|
|
245
|
+
<span class="cline-any cline-no"> </span>
|
|
246
|
+
<span class="cline-any cline-neutral"> </span>
|
|
247
|
+
<span class="cline-any cline-neutral"> </span>
|
|
248
|
+
<span class="cline-any cline-no"> </span>
|
|
249
|
+
<span class="cline-any cline-neutral"> </span>
|
|
250
|
+
<span class="cline-any cline-neutral"> </span>
|
|
251
|
+
<span class="cline-any cline-neutral"> </span>
|
|
252
|
+
<span class="cline-any cline-neutral"> </span>
|
|
253
|
+
<span class="cline-any cline-no"> </span>
|
|
254
|
+
<span class="cline-any cline-neutral"> </span>
|
|
255
|
+
<span class="cline-any cline-no"> </span>
|
|
256
|
+
<span class="cline-any cline-no"> </span>
|
|
257
|
+
<span class="cline-any cline-neutral"> </span>
|
|
258
|
+
<span class="cline-any cline-no"> </span>
|
|
259
|
+
<span class="cline-any cline-neutral"> </span>
|
|
260
|
+
<span class="cline-any cline-no"> </span>
|
|
261
|
+
<span class="cline-any cline-no"> </span>
|
|
262
|
+
<span class="cline-any cline-no"> </span>
|
|
263
|
+
<span class="cline-any cline-neutral"> </span>
|
|
264
|
+
<span class="cline-any cline-neutral"> </span>
|
|
265
|
+
<span class="cline-any cline-neutral"> </span>
|
|
266
|
+
<span class="cline-any cline-neutral"> </span>
|
|
267
|
+
<span class="cline-any cline-neutral"> </span>
|
|
268
|
+
<span class="cline-any cline-no"> </span>
|
|
269
|
+
<span class="cline-any cline-no"> </span>
|
|
270
|
+
<span class="cline-any cline-no"> </span>
|
|
271
|
+
<span class="cline-any cline-no"> </span>
|
|
272
|
+
<span class="cline-any cline-no"> </span>
|
|
273
|
+
<span class="cline-any cline-neutral"> </span>
|
|
274
|
+
<span class="cline-any cline-no"> </span>
|
|
275
|
+
<span class="cline-any cline-no"> </span>
|
|
276
|
+
<span class="cline-any cline-no"> </span>
|
|
277
|
+
<span class="cline-any cline-no"> </span>
|
|
278
|
+
<span class="cline-any cline-no"> </span>
|
|
279
|
+
<span class="cline-any cline-neutral"> </span>
|
|
280
|
+
<span class="cline-any cline-no"> </span>
|
|
281
|
+
<span class="cline-any cline-no"> </span>
|
|
282
|
+
<span class="cline-any cline-no"> </span>
|
|
283
|
+
<span class="cline-any cline-no"> </span>
|
|
284
|
+
<span class="cline-any cline-no"> </span>
|
|
285
|
+
<span class="cline-any cline-neutral"> </span>
|
|
286
|
+
<span class="cline-any cline-neutral"> </span>
|
|
287
|
+
<span class="cline-any cline-no"> </span>
|
|
288
|
+
<span class="cline-any cline-no"> </span>
|
|
289
|
+
<span class="cline-any cline-no"> </span>
|
|
290
|
+
<span class="cline-any cline-no"> </span>
|
|
291
|
+
<span class="cline-any cline-no"> </span>
|
|
292
|
+
<span class="cline-any cline-neutral"> </span>
|
|
293
|
+
<span class="cline-any cline-neutral"> </span>
|
|
294
|
+
<span class="cline-any cline-no"> </span>
|
|
295
|
+
<span class="cline-any cline-no"> </span>
|
|
296
|
+
<span class="cline-any cline-no"> </span>
|
|
297
|
+
<span class="cline-any cline-no"> </span>
|
|
298
|
+
<span class="cline-any cline-no"> </span>
|
|
299
|
+
<span class="cline-any cline-neutral"> </span>
|
|
300
|
+
<span class="cline-any cline-no"> </span>
|
|
301
|
+
<span class="cline-any cline-no"> </span>
|
|
302
|
+
<span class="cline-any cline-neutral"> </span>
|
|
303
|
+
<span class="cline-any cline-no"> </span>
|
|
304
|
+
<span class="cline-any cline-no"> </span>
|
|
305
|
+
<span class="cline-any cline-no"> </span>
|
|
306
|
+
<span class="cline-any cline-no"> </span>
|
|
307
|
+
<span class="cline-any cline-no"> </span>
|
|
308
|
+
<span class="cline-any cline-no"> </span>
|
|
309
|
+
<span class="cline-any cline-no"> </span>
|
|
310
|
+
<span class="cline-any cline-neutral"> </span>
|
|
311
|
+
<span class="cline-any cline-no"> </span>
|
|
312
|
+
<span class="cline-any cline-no"> </span>
|
|
313
|
+
<span class="cline-any cline-no"> </span>
|
|
314
|
+
<span class="cline-any cline-no"> </span>
|
|
315
|
+
<span class="cline-any cline-no"> </span>
|
|
316
|
+
<span class="cline-any cline-no"> </span>
|
|
317
|
+
<span class="cline-any cline-no"> </span>
|
|
318
|
+
<span class="cline-any cline-no"> </span>
|
|
319
|
+
<span class="cline-any cline-no"> </span>
|
|
320
|
+
<span class="cline-any cline-no"> </span>
|
|
321
|
+
<span class="cline-any cline-neutral"> </span>
|
|
322
|
+
<span class="cline-any cline-no"> </span>
|
|
323
|
+
<span class="cline-any cline-no"> </span>
|
|
324
|
+
<span class="cline-any cline-no"> </span>
|
|
325
|
+
<span class="cline-any cline-no"> </span>
|
|
326
|
+
<span class="cline-any cline-no"> </span>
|
|
327
|
+
<span class="cline-any cline-no"> </span>
|
|
328
|
+
<span class="cline-any cline-no"> </span>
|
|
329
|
+
<span class="cline-any cline-no"> </span>
|
|
330
|
+
<span class="cline-any cline-no"> </span>
|
|
331
|
+
<span class="cline-any cline-no"> </span>
|
|
332
|
+
<span class="cline-any cline-no"> </span>
|
|
333
|
+
<span class="cline-any cline-no"> </span>
|
|
334
|
+
<span class="cline-any cline-no"> </span>
|
|
335
|
+
<span class="cline-any cline-no"> </span>
|
|
336
|
+
<span class="cline-any cline-no"> </span>
|
|
337
|
+
<span class="cline-any cline-no"> </span>
|
|
338
|
+
<span class="cline-any cline-neutral"> </span>
|
|
339
|
+
<span class="cline-any cline-no"> </span>
|
|
340
|
+
<span class="cline-any cline-no"> </span>
|
|
341
|
+
<span class="cline-any cline-neutral"> </span>
|
|
342
|
+
<span class="cline-any cline-neutral"> </span>
|
|
343
|
+
<span class="cline-any cline-neutral"> </span>
|
|
344
|
+
<span class="cline-any cline-neutral"> </span>
|
|
345
|
+
<span class="cline-any cline-no"> </span>
|
|
346
|
+
<span class="cline-any cline-neutral"> </span>
|
|
347
|
+
<span class="cline-any cline-neutral"> </span>
|
|
348
|
+
<span class="cline-any cline-neutral"> </span>
|
|
349
|
+
<span class="cline-any cline-neutral"> </span>
|
|
350
|
+
<span class="cline-any cline-no"> </span>
|
|
351
|
+
<span class="cline-any cline-no"> </span>
|
|
352
|
+
<span class="cline-any cline-no"> </span>
|
|
353
|
+
<span class="cline-any cline-no"> </span>
|
|
354
|
+
<span class="cline-any cline-no"> </span>
|
|
355
|
+
<span class="cline-any cline-neutral"> </span>
|
|
356
|
+
<span class="cline-any cline-neutral"> </span>
|
|
357
|
+
<span class="cline-any cline-no"> </span>
|
|
358
|
+
<span class="cline-any cline-no"> </span>
|
|
359
|
+
<span class="cline-any cline-no"> </span>
|
|
360
|
+
<span class="cline-any cline-no"> </span>
|
|
361
|
+
<span class="cline-any cline-no"> </span>
|
|
362
|
+
<span class="cline-any cline-neutral"> </span>
|
|
363
|
+
<span class="cline-any cline-no"> </span>
|
|
364
|
+
<span class="cline-any cline-no"> </span>
|
|
365
|
+
<span class="cline-any cline-neutral"> </span>
|
|
366
|
+
<span class="cline-any cline-no"> </span>
|
|
367
|
+
<span class="cline-any cline-no"> </span>
|
|
368
|
+
<span class="cline-any cline-no"> </span>
|
|
369
|
+
<span class="cline-any cline-no"> </span>
|
|
370
|
+
<span class="cline-any cline-no"> </span>
|
|
371
|
+
<span class="cline-any cline-no"> </span>
|
|
372
|
+
<span class="cline-any cline-no"> </span>
|
|
373
|
+
<span class="cline-any cline-neutral"> </span>
|
|
374
|
+
<span class="cline-any cline-no"> </span>
|
|
375
|
+
<span class="cline-any cline-no"> </span>
|
|
376
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >/*!<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
|
377
377
|
* Copyright 2022 Palantir Technologies, Inc.
|
|
378
378
|
*
|
|
379
379
|
* Licensed under the MIT license. See LICENSE file in the project root for details.
|
|
380
380
|
*
|
|
381
381
|
*/
|
|
382
382
|
|
|
383
|
-
import micromatch from "micromatch"
|
|
384
|
-
import { nanosecondsToSanity } from "./nanosecondsToSanity.js"
|
|
385
|
-
import { Table } from "./Table.js"
|
|
383
|
+
<span class="cstat-no" title="statement not covered" >import micromatch from "micromatch";</span>
|
|
384
|
+
<span class="cstat-no" title="statement not covered" >import { nanosecondsToSanity } from "./nanosecondsToSanity.js";</span>
|
|
385
|
+
<span class="cstat-no" title="statement not covered" >import { Table } from "./Table.js";</span>
|
|
386
386
|
// This file requires a LOT of caching to be performant. We have three layers to avoid work.
|
|
387
387
|
|
|
388
388
|
/**
|
|
389
389
|
* Multimap cache of whether a needle was found in the glob haystack. Short circuits many
|
|
390
390
|
* individual checks against the globs.
|
|
391
391
|
*/
|
|
392
|
-
const cache = new Map<
|
|
392
|
+
<span class="cstat-no" title="statement not covered" >const cache = new Map<</span>
|
|
393
393
|
/* haystack */ readonly string[],
|
|
394
394
|
Map</* needle */ string, /* result */ boolean>
|
|
395
|
-
|
|
395
|
+
<span class="cstat-no" title="statement not covered" >>();</span>
|
|
396
396
|
|
|
397
397
|
/**
|
|
398
398
|
* Multimap cache of whether a needle matches a glob. Allows us to avoid regexp's.
|
|
399
399
|
*/
|
|
400
|
-
const singleMatcherCache = new Map<
|
|
400
|
+
<span class="cstat-no" title="statement not covered" >const singleMatcherCache = new Map<</span>
|
|
401
401
|
/* glob */ string,
|
|
402
402
|
Map</* needle */ string, /* result*/ boolean>
|
|
403
|
-
|
|
403
|
+
<span class="cstat-no" title="statement not covered" >>();</span>
|
|
404
404
|
|
|
405
405
|
/**
|
|
406
406
|
* Cache of glob to regular expression. Compiling the regular expression is expensive.
|
|
407
407
|
*/
|
|
408
|
-
const compiledGlobCache = new Map</* glob */ string, RegExp>()
|
|
408
|
+
<span class="cstat-no" title="statement not covered" >const compiledGlobCache = new Map</* glob */ string, RegExp>();</span>
|
|
409
409
|
|
|
410
|
-
let haystackMiss = 0
|
|
411
|
-
let haystackHit = 0
|
|
410
|
+
<span class="cstat-no" title="statement not covered" >let haystackMiss = 0;</span>
|
|
411
|
+
<span class="cstat-no" title="statement not covered" >let haystackHit = 0;</span>
|
|
412
412
|
|
|
413
|
-
let matchTime = BigInt(0)
|
|
413
|
+
<span class="cstat-no" title="statement not covered" >let matchTime = BigInt(0);</span>
|
|
414
414
|
|
|
415
|
-
let singleMatcherHits = 0
|
|
416
|
-
let singleMatcherMisses = 0
|
|
417
|
-
let singleMatcherSaves = 0; // hits + hits you would have had if the haystack didn't save you
|
|
415
|
+
<span class="cstat-no" title="statement not covered" >let singleMatcherHits = 0;</span>
|
|
416
|
+
<span class="cstat-no" title="statement not covered" >let singleMatcherMisses = 0;</span>
|
|
417
|
+
<span class="cstat-no" title="statement not covered" >let singleMatcherSaves = 0; // hits + hits you would have had if the haystack didn't save you</span>
|
|
418
418
|
|
|
419
419
|
interface MatchesAnyGlob {
|
|
420
420
|
(needle: string, haystack: readonly string[]): boolean | undefined;
|
|
421
421
|
printStats?: () => void;
|
|
422
422
|
}
|
|
423
|
-
export const matchesAnyGlob: MatchesAnyGlob = function matchesAnyGlobFunc(
|
|
424
|
-
needle: string
|
|
425
|
-
haystack: readonly string[]
|
|
426
|
-
) {
|
|
427
|
-
matchTime -= process.hrtime.bigint()
|
|
423
|
+
<span class="cstat-no" title="statement not covered" >export const matchesAnyGlob: MatchesAnyGlob = function matchesAnyGlobFunc(</span>
|
|
424
|
+
<span class="cstat-no" title="statement not covered" > needle: string,</span>
|
|
425
|
+
<span class="cstat-no" title="statement not covered" > haystack: readonly string[],</span>
|
|
426
|
+
<span class="cstat-no" title="statement not covered" >) {</span>
|
|
427
|
+
<span class="cstat-no" title="statement not covered" > matchTime -= process.hrtime.bigint();</span>
|
|
428
428
|
|
|
429
|
-
let cacheForHaystack = cache.get(haystack)
|
|
430
|
-
if (cacheForHaystack === undefined) {
|
|
431
|
-
cacheForHaystack = new Map<string, boolean>()
|
|
432
|
-
cache.set(haystack, cacheForHaystack)
|
|
433
|
-
}
|
|
429
|
+
<span class="cstat-no" title="statement not covered" > let cacheForHaystack = cache.get(haystack);</span>
|
|
430
|
+
<span class="cstat-no" title="statement not covered" > if (cacheForHaystack === undefined) {</span>
|
|
431
|
+
<span class="cstat-no" title="statement not covered" > cacheForHaystack = new Map<string, boolean>();</span>
|
|
432
|
+
<span class="cstat-no" title="statement not covered" > cache.set(haystack, cacheForHaystack);</span>
|
|
433
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
434
434
|
|
|
435
|
-
let result = cacheForHaystack!.get(needle)
|
|
436
|
-
if (result === undefined) {
|
|
437
|
-
haystackMiss
|
|
438
|
-
result = false
|
|
439
|
-
for (const pattern of haystack) {
|
|
435
|
+
<span class="cstat-no" title="statement not covered" > let result = cacheForHaystack!.get(needle);</span>
|
|
436
|
+
<span class="cstat-no" title="statement not covered" > if (result === undefined) {</span>
|
|
437
|
+
<span class="cstat-no" title="statement not covered" > haystackMiss++;</span>
|
|
438
|
+
<span class="cstat-no" title="statement not covered" > result = false;</span>
|
|
439
|
+
<span class="cstat-no" title="statement not covered" > for (const pattern of haystack) {</span>
|
|
440
440
|
// result = needleInPattern(needle, pattern); // commented out as a reminder to update both
|
|
441
441
|
// BEGIN INLINE of needleInPattern
|
|
442
|
-
let patternCache = singleMatcherCache.get(pattern)
|
|
443
|
-
if (patternCache === undefined) {
|
|
444
|
-
patternCache = new Map<string, boolean>()
|
|
445
|
-
singleMatcherCache.set(pattern, patternCache)
|
|
446
|
-
}
|
|
442
|
+
<span class="cstat-no" title="statement not covered" > let patternCache = singleMatcherCache.get(pattern);</span>
|
|
443
|
+
<span class="cstat-no" title="statement not covered" > if (patternCache === undefined) {</span>
|
|
444
|
+
<span class="cstat-no" title="statement not covered" > patternCache = new Map<string, boolean>();</span>
|
|
445
|
+
<span class="cstat-no" title="statement not covered" > singleMatcherCache.set(pattern, patternCache);</span>
|
|
446
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
447
447
|
|
|
448
448
|
// N.B. true/false/undefined
|
|
449
|
-
result = patternCache.get(needle); // only thing different from the inline is we need to reuse `result
|
|
450
|
-
if (result === undefined) {
|
|
451
|
-
let regexp: RegExp | undefined | false = compiledGlobCache.get(pattern)
|
|
452
|
-
if (regexp === undefined) {
|
|
453
|
-
regexp = micromatch.makeRe(pattern)
|
|
449
|
+
<span class="cstat-no" title="statement not covered" > result = patternCache.get(needle); // only thing different from the inline is we need to reuse `result`</span>
|
|
450
|
+
<span class="cstat-no" title="statement not covered" > if (result === undefined) {</span>
|
|
451
|
+
<span class="cstat-no" title="statement not covered" > let regexp: RegExp | undefined | false = compiledGlobCache.get(pattern);</span>
|
|
452
|
+
<span class="cstat-no" title="statement not covered" > if (regexp === undefined) {</span>
|
|
453
|
+
<span class="cstat-no" title="statement not covered" > regexp = micromatch.makeRe(pattern);</span>
|
|
454
454
|
// if (regexp === false) throw new Error("bad glob");
|
|
455
|
-
compiledGlobCache.set(pattern, regexp)
|
|
456
|
-
}
|
|
455
|
+
<span class="cstat-no" title="statement not covered" > compiledGlobCache.set(pattern, regexp);</span>
|
|
456
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
457
457
|
|
|
458
|
-
singleMatcherMisses
|
|
459
|
-
result = regexp.test(needle)
|
|
460
|
-
patternCache.set(needle, result)
|
|
461
|
-
} else {
|
|
462
|
-
singleMatcherHits
|
|
463
|
-
singleMatcherSaves
|
|
464
|
-
}
|
|
458
|
+
<span class="cstat-no" title="statement not covered" > singleMatcherMisses++;</span>
|
|
459
|
+
<span class="cstat-no" title="statement not covered" > result = regexp.test(needle);</span>
|
|
460
|
+
<span class="cstat-no" title="statement not covered" > patternCache.set(needle, result);</span>
|
|
461
|
+
<span class="cstat-no" title="statement not covered" > } else {</span>
|
|
462
|
+
<span class="cstat-no" title="statement not covered" > singleMatcherHits++;</span>
|
|
463
|
+
<span class="cstat-no" title="statement not covered" > singleMatcherSaves++;</span>
|
|
464
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
465
465
|
// END INLINE of needleInPattern
|
|
466
|
-
if (result) break
|
|
467
|
-
}
|
|
468
|
-
cacheForHaystack!.set(needle, result)
|
|
469
|
-
} else {
|
|
470
|
-
singleMatcherSaves += haystack.length
|
|
471
|
-
haystackHit
|
|
472
|
-
}
|
|
473
|
-
matchTime += process.hrtime.bigint()
|
|
474
|
-
return result
|
|
475
|
-
}
|
|
466
|
+
<span class="cstat-no" title="statement not covered" > if (result) break;</span>
|
|
467
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
468
|
+
<span class="cstat-no" title="statement not covered" > cacheForHaystack!.set(needle, result);</span>
|
|
469
|
+
<span class="cstat-no" title="statement not covered" > } else {</span>
|
|
470
|
+
<span class="cstat-no" title="statement not covered" > singleMatcherSaves += haystack.length;</span>
|
|
471
|
+
<span class="cstat-no" title="statement not covered" > haystackHit++;</span>
|
|
472
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
473
|
+
<span class="cstat-no" title="statement not covered" > matchTime += process.hrtime.bigint();</span>
|
|
474
|
+
<span class="cstat-no" title="statement not covered" > return result;</span>
|
|
475
|
+
<span class="cstat-no" title="statement not covered" >};</span>
|
|
476
476
|
|
|
477
|
-
matchesAnyGlob.printStats = () => {
|
|
478
|
-
const table = new Table<[string, string]>({
|
|
479
|
-
title: "matchesAnyGlob stats"
|
|
480
|
-
showHeader: true
|
|
481
|
-
showFooter: false
|
|
482
|
-
columns: [
|
|
483
|
-
{ header: "Stat", type: "string" }
|
|
484
|
-
{ header: "Value", type: "string" }
|
|
485
|
-
]
|
|
486
|
-
})
|
|
487
|
-
table.addRow("Haystack Miss", "" + haystackMiss)
|
|
488
|
-
table.addRow("Haystack Hit", "" + haystackHit)
|
|
489
|
-
table.addRow("Single Glob Hits", "" + singleMatcherHits)
|
|
490
|
-
table.addRow("Single Glob Misses", "" + singleMatcherMisses)
|
|
491
|
-
table.addRow("Single Glob Saves", "" + singleMatcherSaves)
|
|
492
|
-
table.addRow("Total Time", nanosecondsToSanity(matchTime, 6))
|
|
477
|
+
<span class="cstat-no" title="statement not covered" >matchesAnyGlob.printStats = () => {</span>
|
|
478
|
+
<span class="cstat-no" title="statement not covered" > const table = new Table<[string, string]>({</span>
|
|
479
|
+
<span class="cstat-no" title="statement not covered" > title: "matchesAnyGlob stats",</span>
|
|
480
|
+
<span class="cstat-no" title="statement not covered" > showHeader: true,</span>
|
|
481
|
+
<span class="cstat-no" title="statement not covered" > showFooter: false,</span>
|
|
482
|
+
<span class="cstat-no" title="statement not covered" > columns: [</span>
|
|
483
|
+
<span class="cstat-no" title="statement not covered" > { header: "Stat", type: "string" },</span>
|
|
484
|
+
<span class="cstat-no" title="statement not covered" > { header: "Value", type: "string" },</span>
|
|
485
|
+
<span class="cstat-no" title="statement not covered" > ],</span>
|
|
486
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
487
|
+
<span class="cstat-no" title="statement not covered" > table.addRow("Haystack Miss", "" + haystackMiss);</span>
|
|
488
|
+
<span class="cstat-no" title="statement not covered" > table.addRow("Haystack Hit", "" + haystackHit);</span>
|
|
489
|
+
<span class="cstat-no" title="statement not covered" > table.addRow("Single Glob Hits", "" + singleMatcherHits);</span>
|
|
490
|
+
<span class="cstat-no" title="statement not covered" > table.addRow("Single Glob Misses", "" + singleMatcherMisses);</span>
|
|
491
|
+
<span class="cstat-no" title="statement not covered" > table.addRow("Single Glob Saves", "" + singleMatcherSaves);</span>
|
|
492
|
+
<span class="cstat-no" title="statement not covered" > table.addRow("Total Time", nanosecondsToSanity(matchTime, 6));</span>
|
|
493
493
|
|
|
494
|
-
table.print()
|
|
495
|
-
}
|
|
494
|
+
<span class="cstat-no" title="statement not covered" > table.print();</span>
|
|
495
|
+
<span class="cstat-no" title="statement not covered" >};</span>
|
|
496
496
|
|
|
497
497
|
/**
|
|
498
498
|
* @deprecated Don't use this directly. We manually inline it above
|
|
499
499
|
*/
|
|
500
|
-
export function needleInPattern(needle: string, pattern: string) {
|
|
500
|
+
<span class="cstat-no" title="statement not covered" >export function needleInPattern(needle: string, pattern: string) {</span>
|
|
501
501
|
// benchmark says the uncommented version is best
|
|
502
502
|
// https://jsben.ch/Y8TWs
|
|
503
503
|
|
|
504
504
|
// option 2
|
|
505
|
-
let patternCache = singleMatcherCache.get(pattern)
|
|
506
|
-
if (patternCache === undefined) {
|
|
507
|
-
patternCache = new Map<string, boolean>()
|
|
508
|
-
singleMatcherCache.set(pattern, patternCache)
|
|
509
|
-
}
|
|
505
|
+
<span class="cstat-no" title="statement not covered" > let patternCache = singleMatcherCache.get(pattern);</span>
|
|
506
|
+
<span class="cstat-no" title="statement not covered" > if (patternCache === undefined) {</span>
|
|
507
|
+
<span class="cstat-no" title="statement not covered" > patternCache = new Map<string, boolean>();</span>
|
|
508
|
+
<span class="cstat-no" title="statement not covered" > singleMatcherCache.set(pattern, patternCache);</span>
|
|
509
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
510
510
|
|
|
511
511
|
// N.B. true/false/undefined
|
|
512
|
-
let result = patternCache.get(needle)
|
|
513
|
-
if (result === undefined) {
|
|
514
|
-
let regexp: RegExp | undefined | false = compiledGlobCache.get(pattern)
|
|
515
|
-
if (regexp === undefined) {
|
|
516
|
-
regexp = micromatch.makeRe(pattern)
|
|
512
|
+
<span class="cstat-no" title="statement not covered" > let result = patternCache.get(needle);</span>
|
|
513
|
+
<span class="cstat-no" title="statement not covered" > if (result === undefined) {</span>
|
|
514
|
+
<span class="cstat-no" title="statement not covered" > let regexp: RegExp | undefined | false = compiledGlobCache.get(pattern);</span>
|
|
515
|
+
<span class="cstat-no" title="statement not covered" > if (regexp === undefined) {</span>
|
|
516
|
+
<span class="cstat-no" title="statement not covered" > regexp = micromatch.makeRe(pattern);</span>
|
|
517
517
|
// if (regexp === false) throw new Error("bad glob");
|
|
518
|
-
compiledGlobCache.set(pattern, regexp)
|
|
519
|
-
}
|
|
518
|
+
<span class="cstat-no" title="statement not covered" > compiledGlobCache.set(pattern, regexp);</span>
|
|
519
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
520
520
|
|
|
521
|
-
singleMatcherMisses
|
|
522
|
-
result = regexp.test(needle)
|
|
523
|
-
patternCache.set(needle, result)
|
|
524
|
-
} else {
|
|
525
|
-
singleMatcherHits
|
|
526
|
-
singleMatcherSaves
|
|
527
|
-
}
|
|
521
|
+
<span class="cstat-no" title="statement not covered" > singleMatcherMisses++;</span>
|
|
522
|
+
<span class="cstat-no" title="statement not covered" > result = regexp.test(needle);</span>
|
|
523
|
+
<span class="cstat-no" title="statement not covered" > patternCache.set(needle, result);</span>
|
|
524
|
+
<span class="cstat-no" title="statement not covered" > } else {</span>
|
|
525
|
+
<span class="cstat-no" title="statement not covered" > singleMatcherHits++;</span>
|
|
526
|
+
<span class="cstat-no" title="statement not covered" > singleMatcherSaves++;</span>
|
|
527
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
528
528
|
|
|
529
|
-
return result
|
|
530
|
-
}
|
|
529
|
+
<span class="cstat-no" title="statement not covered" > return result;</span>
|
|
530
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
531
531
|
</pre></td></tr></table></pre>
|
|
532
532
|
|
|
533
533
|
<div class='push'></div><!-- for sticky footer -->
|
|
@@ -535,7 +535,7 @@ export function needleInPattern(needle: string, pattern: string) {
|
|
|
535
535
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
536
536
|
Code coverage generated by
|
|
537
537
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
538
|
-
at 2025-
|
|
538
|
+
at 2025-11-07T18:00:40.821Z
|
|
539
539
|
</div>
|
|
540
540
|
<script src="prettify.js"></script>
|
|
541
541
|
<script>
|