@featurevisor/core 1.35.3 → 2.0.1

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 (252) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +0 -6
  3. package/coverage/clover.xml +321 -237
  4. package/coverage/coverage-final.json +8 -8
  5. package/coverage/lcov-report/index.html +77 -47
  6. package/coverage/lcov-report/lib/builder/allocator.js.html +14 -14
  7. package/coverage/lcov-report/lib/builder/index.html +16 -16
  8. package/coverage/lcov-report/lib/builder/revision.js.html +3 -3
  9. package/coverage/lcov-report/lib/builder/traffic.js.html +88 -64
  10. package/coverage/lcov-report/lib/list/index.html +116 -0
  11. package/coverage/lcov-report/lib/{tester → list}/matrix.js.html +90 -66
  12. package/coverage/lcov-report/lib/tester/helpers.js.html +295 -0
  13. package/coverage/lcov-report/lib/tester/index.html +20 -35
  14. package/coverage/lcov-report/src/builder/allocator.ts.html +2 -2
  15. package/coverage/lcov-report/src/builder/index.html +15 -15
  16. package/coverage/lcov-report/src/builder/revision.ts.html +1 -1
  17. package/coverage/lcov-report/src/builder/traffic.ts.html +96 -24
  18. package/coverage/lcov-report/src/list/index.html +116 -0
  19. package/coverage/lcov-report/src/{tester → list}/matrix.ts.html +87 -21
  20. package/coverage/lcov-report/src/tester/helpers.ts.html +313 -0
  21. package/coverage/lcov-report/src/tester/index.html +20 -35
  22. package/coverage/lcov.info +592 -436
  23. package/lib/assess-distribution/index.d.ts +1 -1
  24. package/lib/assess-distribution/index.js +102 -162
  25. package/lib/assess-distribution/index.js.map +1 -1
  26. package/lib/benchmark/index.js +87 -143
  27. package/lib/benchmark/index.js.map +1 -1
  28. package/lib/builder/allocator.d.ts +1 -1
  29. package/lib/builder/allocator.js +12 -12
  30. package/lib/builder/allocator.js.map +1 -1
  31. package/lib/builder/allocator.spec.js +22 -22
  32. package/lib/builder/allocator.spec.js.map +1 -1
  33. package/lib/builder/buildDatafile.d.ts +4 -3
  34. package/lib/builder/buildDatafile.js +311 -388
  35. package/lib/builder/buildDatafile.js.map +1 -1
  36. package/lib/builder/buildProject.d.ts +2 -1
  37. package/lib/builder/buildProject.js +96 -183
  38. package/lib/builder/buildProject.js.map +1 -1
  39. package/lib/builder/convertToV1.d.ts +10 -0
  40. package/lib/builder/convertToV1.js +119 -0
  41. package/lib/builder/convertToV1.js.map +1 -0
  42. package/lib/builder/getFeatureRanges.d.ts +1 -1
  43. package/lib/builder/getFeatureRanges.js +32 -105
  44. package/lib/builder/getFeatureRanges.js.map +1 -1
  45. package/lib/builder/hashes.d.ts +4 -0
  46. package/lib/builder/hashes.js +70 -0
  47. package/lib/builder/hashes.js.map +1 -0
  48. package/lib/builder/revision.js +2 -2
  49. package/lib/builder/revision.js.map +1 -1
  50. package/lib/builder/revision.spec.js +1 -1
  51. package/lib/builder/revision.spec.js.map +1 -1
  52. package/lib/builder/traffic.d.ts +1 -1
  53. package/lib/builder/traffic.js +57 -49
  54. package/lib/builder/traffic.js.map +1 -1
  55. package/lib/builder/traffic.spec.js +14 -14
  56. package/lib/builder/traffic.spec.js.map +1 -1
  57. package/lib/cli/cli.js +60 -129
  58. package/lib/cli/cli.js.map +1 -1
  59. package/lib/cli/plugins.js +14 -16
  60. package/lib/cli/plugins.js.map +1 -1
  61. package/lib/config/parsers.js +1 -1
  62. package/lib/config/parsers.js.map +1 -1
  63. package/lib/config/projectConfig.d.ts +8 -6
  64. package/lib/config/projectConfig.js +31 -72
  65. package/lib/config/projectConfig.js.map +1 -1
  66. package/lib/datasource/adapter.d.ts +1 -1
  67. package/lib/datasource/adapter.js +2 -5
  68. package/lib/datasource/adapter.js.map +1 -1
  69. package/lib/datasource/datasource.d.ts +2 -1
  70. package/lib/datasource/datasource.js +107 -148
  71. package/lib/datasource/datasource.js.map +1 -1
  72. package/lib/datasource/filesystemAdapter.d.ts +1 -1
  73. package/lib/datasource/filesystemAdapter.js +224 -360
  74. package/lib/datasource/filesystemAdapter.js.map +1 -1
  75. package/lib/evaluate/index.d.ts +1 -1
  76. package/lib/evaluate/index.js +120 -188
  77. package/lib/evaluate/index.js.map +1 -1
  78. package/lib/find-duplicate-segments/findDuplicateSegments.d.ts +1 -1
  79. package/lib/find-duplicate-segments/findDuplicateSegments.js +40 -128
  80. package/lib/find-duplicate-segments/findDuplicateSegments.js.map +1 -1
  81. package/lib/find-duplicate-segments/index.js +27 -82
  82. package/lib/find-duplicate-segments/index.js.map +1 -1
  83. package/lib/find-usage/index.d.ts +7 -5
  84. package/lib/find-usage/index.js +333 -507
  85. package/lib/find-usage/index.js.map +1 -1
  86. package/lib/generate-code/index.js +36 -91
  87. package/lib/generate-code/index.js.map +1 -1
  88. package/lib/generate-code/typescript.js +117 -157
  89. package/lib/generate-code/typescript.js.map +1 -1
  90. package/lib/index.d.ts +0 -1
  91. package/lib/index.js +0 -1
  92. package/lib/index.js.map +1 -1
  93. package/lib/info/index.js +45 -133
  94. package/lib/info/index.js.map +1 -1
  95. package/lib/init/index.d.ts +1 -1
  96. package/lib/init/index.js +16 -64
  97. package/lib/init/index.js.map +1 -1
  98. package/lib/linter/attributeSchema.d.ts +21 -6
  99. package/lib/linter/attributeSchema.js +18 -4
  100. package/lib/linter/attributeSchema.js.map +1 -1
  101. package/lib/linter/checkCircularDependency.d.ts +1 -1
  102. package/lib/linter/checkCircularDependency.js +22 -80
  103. package/lib/linter/checkCircularDependency.js.map +1 -1
  104. package/lib/linter/checkPercentageExceedingSlot.d.ts +1 -1
  105. package/lib/linter/checkPercentageExceedingSlot.js +36 -76
  106. package/lib/linter/checkPercentageExceedingSlot.js.map +1 -1
  107. package/lib/linter/conditionSchema.d.ts +1 -1
  108. package/lib/linter/conditionSchema.js +89 -41
  109. package/lib/linter/conditionSchema.js.map +1 -1
  110. package/lib/linter/featureSchema.d.ts +345 -197
  111. package/lib/linter/featureSchema.js +313 -172
  112. package/lib/linter/featureSchema.js.map +1 -1
  113. package/lib/linter/groupSchema.js +6 -6
  114. package/lib/linter/groupSchema.js.map +1 -1
  115. package/lib/linter/lintProject.js +306 -480
  116. package/lib/linter/lintProject.js.map +1 -1
  117. package/lib/linter/printError.js +7 -7
  118. package/lib/linter/printError.js.map +1 -1
  119. package/lib/linter/segmentSchema.js +2 -2
  120. package/lib/linter/segmentSchema.js.map +1 -1
  121. package/lib/linter/testSchema.d.ts +155 -3
  122. package/lib/linter/testSchema.js +47 -17
  123. package/lib/linter/testSchema.js.map +1 -1
  124. package/lib/list/index.d.ts +1 -0
  125. package/lib/list/index.js +349 -517
  126. package/lib/list/index.js.map +1 -1
  127. package/lib/{tester → list}/matrix.d.ts +1 -1
  128. package/lib/{tester → list}/matrix.js +50 -42
  129. package/lib/list/matrix.js.map +1 -0
  130. package/lib/{tester → list}/matrix.spec.js +7 -7
  131. package/lib/list/matrix.spec.js.map +1 -0
  132. package/lib/site/exportSite.js +25 -71
  133. package/lib/site/exportSite.js.map +1 -1
  134. package/lib/site/generateHistory.d.ts +1 -1
  135. package/lib/site/generateHistory.js +26 -82
  136. package/lib/site/generateHistory.js.map +1 -1
  137. package/lib/site/generateSiteSearchIndex.d.ts +1 -1
  138. package/lib/site/generateSiteSearchIndex.js +182 -259
  139. package/lib/site/generateSiteSearchIndex.js.map +1 -1
  140. package/lib/site/getLastModifiedFromHistory.d.ts +1 -1
  141. package/lib/site/getLastModifiedFromHistory.js +2 -2
  142. package/lib/site/getLastModifiedFromHistory.js.map +1 -1
  143. package/lib/site/getOwnerAndRepoFromUrl.js +6 -6
  144. package/lib/site/getOwnerAndRepoFromUrl.js.map +1 -1
  145. package/lib/site/getRelativePaths.js +7 -7
  146. package/lib/site/getRelativePaths.js.map +1 -1
  147. package/lib/site/getRepoDetails.js +20 -20
  148. package/lib/site/getRepoDetails.js.map +1 -1
  149. package/lib/site/index.js +25 -73
  150. package/lib/site/index.js.map +1 -1
  151. package/lib/site/serveSite.js +10 -10
  152. package/lib/site/serveSite.js.map +1 -1
  153. package/lib/tester/helpers.d.ts +2 -0
  154. package/lib/tester/helpers.js +71 -0
  155. package/lib/tester/helpers.js.map +1 -0
  156. package/lib/tester/helpers.spec.js +115 -0
  157. package/lib/tester/helpers.spec.js.map +1 -0
  158. package/lib/tester/index.d.ts +0 -1
  159. package/lib/tester/index.js +0 -1
  160. package/lib/tester/index.js.map +1 -1
  161. package/lib/tester/prettyDuration.js +11 -11
  162. package/lib/tester/prettyDuration.js.map +1 -1
  163. package/lib/tester/printTestResult.d.ts +1 -1
  164. package/lib/tester/printTestResult.js +35 -15
  165. package/lib/tester/printTestResult.js.map +1 -1
  166. package/lib/tester/testFeature.d.ts +4 -2
  167. package/lib/tester/testFeature.js +264 -226
  168. package/lib/tester/testFeature.js.map +1 -1
  169. package/lib/tester/testProject.d.ts +3 -7
  170. package/lib/tester/testProject.js +145 -246
  171. package/lib/tester/testProject.js.map +1 -1
  172. package/lib/tester/testSegment.d.ts +5 -2
  173. package/lib/tester/testSegment.js +65 -102
  174. package/lib/tester/testSegment.js.map +1 -1
  175. package/lib/utils/extractKeys.d.ts +2 -1
  176. package/lib/utils/extractKeys.js +57 -12
  177. package/lib/utils/extractKeys.js.map +1 -1
  178. package/lib/utils/git.d.ts +1 -1
  179. package/lib/utils/git.js +23 -23
  180. package/lib/utils/git.js.map +1 -1
  181. package/lib/utils/pretty.js +2 -4
  182. package/lib/utils/pretty.js.map +1 -1
  183. package/package.json +5 -6
  184. package/src/assess-distribution/index.ts +3 -2
  185. package/src/benchmark/index.ts +3 -3
  186. package/src/builder/allocator.spec.ts +1 -1
  187. package/src/builder/allocator.ts +1 -1
  188. package/src/builder/buildDatafile.ts +161 -124
  189. package/src/builder/buildProject.ts +6 -3
  190. package/src/builder/convertToV1.ts +166 -0
  191. package/src/builder/getFeatureRanges.ts +1 -1
  192. package/src/builder/hashes.ts +109 -0
  193. package/src/builder/traffic.ts +40 -16
  194. package/src/cli/cli.ts +1 -1
  195. package/src/cli/plugins.ts +0 -2
  196. package/src/config/projectConfig.ts +13 -10
  197. package/src/datasource/adapter.ts +1 -1
  198. package/src/datasource/datasource.ts +23 -2
  199. package/src/datasource/filesystemAdapter.ts +11 -12
  200. package/src/evaluate/index.ts +7 -6
  201. package/src/find-duplicate-segments/findDuplicateSegments.ts +1 -1
  202. package/src/find-usage/index.ts +111 -44
  203. package/src/generate-code/index.ts +1 -3
  204. package/src/generate-code/typescript.ts +7 -29
  205. package/src/index.ts +0 -1
  206. package/src/info/index.ts +2 -2
  207. package/src/init/index.ts +2 -2
  208. package/src/linter/attributeSchema.ts +18 -2
  209. package/src/linter/checkCircularDependency.ts +1 -1
  210. package/src/linter/checkPercentageExceedingSlot.ts +28 -8
  211. package/src/linter/conditionSchema.ts +66 -10
  212. package/src/linter/featureSchema.ts +312 -116
  213. package/src/linter/lintProject.ts +9 -4
  214. package/src/linter/testSchema.ts +42 -3
  215. package/src/list/index.ts +18 -30
  216. package/src/{tester → list}/matrix.ts +33 -11
  217. package/src/site/exportSite.ts +2 -4
  218. package/src/site/generateHistory.ts +1 -1
  219. package/src/site/generateSiteSearchIndex.ts +58 -50
  220. package/src/site/getLastModifiedFromHistory.ts +1 -1
  221. package/src/tester/helpers.spec.ts +149 -0
  222. package/src/tester/helpers.ts +76 -0
  223. package/src/tester/index.ts +0 -1
  224. package/src/tester/printTestResult.ts +25 -3
  225. package/src/tester/testFeature.ts +270 -124
  226. package/src/tester/testProject.ts +28 -49
  227. package/src/tester/testSegment.ts +48 -40
  228. package/src/utils/extractKeys.ts +58 -1
  229. package/src/utils/git.ts +1 -1
  230. package/tsconfig.cjs.json +1 -0
  231. package/coverage/lcov-report/lib/tester/checkIfObjectsAreEqual.js.html +0 -151
  232. package/coverage/lcov-report/src/tester/checkIfObjectsAreEqual.ts.html +0 -157
  233. package/lib/restore/index.d.ts +0 -4
  234. package/lib/restore/index.js +0 -91
  235. package/lib/restore/index.js.map +0 -1
  236. package/lib/tester/checkIfArraysAreEqual.d.ts +0 -1
  237. package/lib/tester/checkIfArraysAreEqual.js +0 -18
  238. package/lib/tester/checkIfArraysAreEqual.js.map +0 -1
  239. package/lib/tester/checkIfObjectsAreEqual.d.ts +0 -1
  240. package/lib/tester/checkIfObjectsAreEqual.js +0 -23
  241. package/lib/tester/checkIfObjectsAreEqual.js.map +0 -1
  242. package/lib/tester/checkIfObjectsAreEqual.spec.js +0 -26
  243. package/lib/tester/checkIfObjectsAreEqual.spec.js.map +0 -1
  244. package/lib/tester/matrix.js.map +0 -1
  245. package/lib/tester/matrix.spec.js.map +0 -1
  246. package/src/restore/index.ts +0 -42
  247. package/src/tester/checkIfArraysAreEqual.ts +0 -16
  248. package/src/tester/checkIfObjectsAreEqual.spec.ts +0 -31
  249. package/src/tester/checkIfObjectsAreEqual.ts +0 -24
  250. /package/lib/{tester → list}/matrix.spec.d.ts +0 -0
  251. /package/lib/tester/{checkIfObjectsAreEqual.spec.d.ts → helpers.spec.d.ts} +0 -0
  252. /package/src/{tester → list}/matrix.spec.ts +0 -0
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">67.25% </span>
26
+ <span class="strong">67.88% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>267/397</span>
28
+ <span class='fraction'>317/467</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">60.69% </span>
33
+ <span class="strong">66.3% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>122/201</span>
35
+ <span class='fraction'>185/279</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">68.51% </span>
40
+ <span class="strong">70.37% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>37/54</span>
42
+ <span class='fraction'>38/54</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">67.81% </span>
47
+ <span class="strong">68.28% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>255/376</span>
49
+ <span class='fraction'>310/454</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,62 +80,92 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="lib/builder"><a href="lib/builder/index.html">lib/builder</a></td>
83
- <td data-value="94.49" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
83
+ <td data-value="92.52" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 92%"></div><div class="cover-empty" style="width: 8%"></div></div>
85
85
  </td>
86
- <td data-value="94.49" class="pct high">94.49%</td>
87
- <td data-value="109" class="abs high">103/109</td>
88
- <td data-value="83.33" class="pct high">83.33%</td>
89
- <td data-value="60" class="abs high">50/60</td>
86
+ <td data-value="92.52" class="pct high">92.52%</td>
87
+ <td data-value="107" class="abs high">99/107</td>
88
+ <td data-value="77.94" class="pct medium">77.94%</td>
89
+ <td data-value="68" class="abs medium">53/68</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
91
  <td data-value="15" class="abs high">15/15</td>
92
- <td data-value="94.17" class="pct high">94.17%</td>
93
- <td data-value="103" class="abs high">97/103</td>
92
+ <td data-value="92.38" class="pct high">92.38%</td>
93
+ <td data-value="105" class="abs high">97/105</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
- <td class="file low" data-value="lib/tester"><a href="lib/tester/index.html">lib/tester</a></td>
98
- <td data-value="38.83" class="pic low">
99
- <div class="chart"><div class="cover-fill" style="width: 38%"></div><div class="cover-empty" style="width: 62%"></div></div>
97
+ <td class="file low" data-value="lib/list"><a href="lib/list/index.html">lib/list</a></td>
98
+ <td data-value="24.7" class="pic low">
99
+ <div class="chart"><div class="cover-fill" style="width: 24%"></div><div class="cover-empty" style="width: 76%"></div></div>
100
100
  </td>
101
- <td data-value="38.83" class="pct low">38.83%</td>
102
- <td data-value="103" class="abs low">40/103</td>
103
- <td data-value="36.2" class="pct low">36.2%</td>
104
- <td data-value="58" class="abs low">21/58</td>
105
- <td data-value="30.76" class="pct low">30.76%</td>
106
- <td data-value="13" class="abs low">4/13</td>
107
- <td data-value="38.7" class="pct low">38.7%</td>
108
- <td data-value="93" class="abs low">36/93</td>
101
+ <td data-value="24.7" class="pct low">24.7%</td>
102
+ <td data-value="85" class="abs low">21/85</td>
103
+ <td data-value="10.25" class="pct low">10.25%</td>
104
+ <td data-value="39" class="abs low">4/39</td>
105
+ <td data-value="20" class="pct low">20%</td>
106
+ <td data-value="10" class="abs low">2/10</td>
107
+ <td data-value="24.69" class="pct low">24.69%</td>
108
+ <td data-value="81" class="abs low">20/81</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
112
- <td class="file high" data-value="src/builder"><a href="src/builder/index.html">src/builder</a></td>
113
- <td data-value="93.87" class="pic high">
112
+ <td class="file high" data-value="lib/tester"><a href="lib/tester/index.html">lib/tester</a></td>
113
+ <td data-value="93.18" class="pic high">
114
114
  <div class="chart"><div class="cover-fill" style="width: 93%"></div><div class="cover-empty" style="width: 7%"></div></div>
115
115
  </td>
116
- <td data-value="93.87" class="pct high">93.87%</td>
117
- <td data-value="98" class="abs high">92/98</td>
118
- <td data-value="86.66" class="pct high">86.66%</td>
119
- <td data-value="45" class="abs high">39/45</td>
116
+ <td data-value="93.18" class="pct high">93.18%</td>
117
+ <td data-value="44" class="abs high">41/44</td>
118
+ <td data-value="94" class="pct high">94%</td>
119
+ <td data-value="50" class="abs high">47/50</td>
120
+ <td data-value="100" class="pct high">100%</td>
121
+ <td data-value="2" class="abs high">2/2</td>
122
+ <td data-value="93.02" class="pct high">93.02%</td>
123
+ <td data-value="43" class="abs high">40/43</td>
124
+ </tr>
125
+
126
+ <tr>
127
+ <td class="file high" data-value="src/builder"><a href="src/builder/index.html">src/builder</a></td>
128
+ <td data-value="92.3" class="pic high">
129
+ <div class="chart"><div class="cover-fill" style="width: 92%"></div><div class="cover-empty" style="width: 8%"></div></div>
130
+ </td>
131
+ <td data-value="92.3" class="pct high">92.3%</td>
132
+ <td data-value="104" class="abs high">96/104</td>
133
+ <td data-value="83.01" class="pct high">83.01%</td>
134
+ <td data-value="53" class="abs high">44/53</td>
120
135
  <td data-value="100" class="pct high">100%</td>
121
136
  <td data-value="15" class="abs high">15/15</td>
122
- <td data-value="93.81" class="pct high">93.81%</td>
123
- <td data-value="97" class="abs high">91/97</td>
137
+ <td data-value="92.23" class="pct high">92.23%</td>
138
+ <td data-value="103" class="abs high">95/103</td>
124
139
  </tr>
125
140
 
126
141
  <tr>
127
- <td class="file low" data-value="src/tester"><a href="src/tester/index.html">src/tester</a></td>
128
- <td data-value="36.78" class="pic low">
129
- <div class="chart"><div class="cover-fill" style="width: 36%"></div><div class="cover-empty" style="width: 64%"></div></div>
142
+ <td class="file low" data-value="src/list"><a href="src/list/index.html">src/list</a></td>
143
+ <td data-value="23.8" class="pic low">
144
+ <div class="chart"><div class="cover-fill" style="width: 23%"></div><div class="cover-empty" style="width: 77%"></div></div>
130
145
  </td>
131
- <td data-value="36.78" class="pct low">36.78%</td>
132
- <td data-value="87" class="abs low">32/87</td>
133
- <td data-value="31.57" class="pct low">31.57%</td>
134
- <td data-value="38" class="abs low">12/38</td>
135
- <td data-value="27.27" class="pct low">27.27%</td>
136
- <td data-value="11" class="abs low">3/11</td>
137
- <td data-value="37.34" class="pct low">37.34%</td>
138
- <td data-value="83" class="abs low">31/83</td>
146
+ <td data-value="23.8" class="pct low">23.8%</td>
147
+ <td data-value="84" class="abs low">20/84</td>
148
+ <td data-value="9.37" class="pct low">9.37%</td>
149
+ <td data-value="32" class="abs low">3/32</td>
150
+ <td data-value="20" class="pct low">20%</td>
151
+ <td data-value="10" class="abs low">2/10</td>
152
+ <td data-value="23.75" class="pct low">23.75%</td>
153
+ <td data-value="80" class="abs low">19/80</td>
154
+ </tr>
155
+
156
+ <tr>
157
+ <td class="file high" data-value="src/tester"><a href="src/tester/index.html">src/tester</a></td>
158
+ <td data-value="93.02" class="pic high">
159
+ <div class="chart"><div class="cover-fill" style="width: 93%"></div><div class="cover-empty" style="width: 7%"></div></div>
160
+ </td>
161
+ <td data-value="93.02" class="pct high">93.02%</td>
162
+ <td data-value="43" class="abs high">40/43</td>
163
+ <td data-value="91.89" class="pct high">91.89%</td>
164
+ <td data-value="37" class="abs high">34/37</td>
165
+ <td data-value="100" class="pct high">100%</td>
166
+ <td data-value="2" class="abs high">2/2</td>
167
+ <td data-value="92.85" class="pct high">92.85%</td>
168
+ <td data-value="42" class="abs high">39/42</td>
139
169
  </tr>
140
170
 
141
171
  </tbody>
@@ -146,7 +176,7 @@
146
176
  <div class='footer quiet pad2 space-top1 center small'>
147
177
  Code coverage generated by
148
178
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2025-04-12T20:35:04.397Z
179
+ at 2025-07-19T20:24:47.780Z
150
180
  </div>
151
181
  <script src="prettify.js"></script>
152
182
  <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'>30/30</span>
28
+ <span class='fraction'>28/28</span>
29
29
  </div>
30
30
 
31
31
 
@@ -142,13 +142,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
142
142
  exports.getAllocation = getAllocation;
143
143
  exports.getUpdatedAvailableRangesAfterFilling = getUpdatedAvailableRangesAfterFilling;
144
144
  function getAllocation(availableRanges, fill) {
145
- var result = [];
146
- var remaining = fill;
147
- var i = 0;
145
+ const result = [];
146
+ let remaining = fill;
147
+ let i = 0;
148
148
  while (remaining &gt; 0 &amp;&amp; i &lt; availableRanges.length) {
149
- var range = availableRanges[i];
150
- var start = range[0], end = range[1];
151
- var rangeFill = Math.min(remaining, end - start);
149
+ const range = availableRanges[i];
150
+ const [start, end] = range;
151
+ const rangeFill = Math.min(remaining, end - start);
152
152
  result.push([start, start + rangeFill]);
153
153
  remaining -= rangeFill;
154
154
  i++;
@@ -159,13 +159,13 @@ function getUpdatedAvailableRangesAfterFilling(availableRanges, fill) {
159
159
  if (fill === 0) {
160
160
  return availableRanges;
161
161
  }
162
- var result = [];
163
- var remaining = fill;
164
- var i = 0;
162
+ const result = [];
163
+ let remaining = fill;
164
+ let i = 0;
165
165
  while (remaining &gt; 0 &amp;&amp; i &lt; availableRanges.length) {
166
- var range = availableRanges[i];
167
- var start = range[0], end = range[1];
168
- var rangeFill = Math.min(remaining, end - start);
166
+ const range = availableRanges[i];
167
+ const [start, end] = range;
168
+ const rangeFill = Math.min(remaining, end - start);
169
169
  if (rangeFill &lt; end - start) {
170
170
  result.push([start + rangeFill, end]);
171
171
  }
@@ -181,7 +181,7 @@ function getUpdatedAvailableRangesAfterFilling(availableRanges, fill) {
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
184
- at 2025-04-12T20:35:04.397Z
184
+ at 2025-07-19T20:24:47.780Z
185
185
  </div>
186
186
  <script src="../../prettify.js"></script>
187
187
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">94.49% </span>
26
+ <span class="strong">92.52% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>103/109</span>
28
+ <span class='fraction'>99/107</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">83.33% </span>
33
+ <span class="strong">77.94% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>50/60</span>
35
+ <span class='fraction'>53/68</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">94.17% </span>
47
+ <span class="strong">92.38% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>97/103</span>
49
+ <span class='fraction'>97/105</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,7 +84,7 @@
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="30" class="abs high">30/30</td>
87
+ <td data-value="28" class="abs high">28/28</td>
88
88
  <td data-value="100" class="pct high">100%</td>
89
89
  <td data-value="8" class="abs high">8/8</td>
90
90
  <td data-value="100" class="pct high">100%</td>
@@ -110,17 +110,17 @@
110
110
 
111
111
  <tr>
112
112
  <td class="file high" data-value="traffic.js"><a href="traffic.js.html">traffic.js</a></td>
113
- <td data-value="92.64" class="pic high">
114
- <div class="chart"><div class="cover-fill" style="width: 92%"></div><div class="cover-empty" style="width: 8%"></div></div>
113
+ <td data-value="89.7" class="pic high">
114
+ <div class="chart"><div class="cover-fill" style="width: 89%"></div><div class="cover-empty" style="width: 11%"></div></div>
115
115
  </td>
116
- <td data-value="92.64" class="pct high">92.64%</td>
117
- <td data-value="68" class="abs high">63/68</td>
118
- <td data-value="79.54" class="pct medium">79.54%</td>
119
- <td data-value="44" class="abs medium">35/44</td>
116
+ <td data-value="89.7" class="pct high">89.7%</td>
117
+ <td data-value="68" class="abs high">61/68</td>
118
+ <td data-value="73.07" class="pct medium">73.07%</td>
119
+ <td data-value="52" class="abs medium">38/52</td>
120
120
  <td data-value="100" class="pct high">100%</td>
121
121
  <td data-value="12" class="abs high">12/12</td>
122
- <td data-value="92.18" class="pct high">92.18%</td>
123
- <td data-value="64" class="abs high">59/64</td>
122
+ <td data-value="89.39" class="pct high">89.39%</td>
123
+ <td data-value="66" class="abs high">59/66</td>
124
124
  </tr>
125
125
 
126
126
  </tbody>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at 2025-04-12T20:35:04.397Z
134
+ at 2025-07-19T20:24:47.780Z
135
135
  </div>
136
136
  <script src="../../prettify.js"></script>
137
137
  <script>
@@ -118,8 +118,8 @@ function getNextRevision(currentRevision) {
118
118
  return (parseInt(currentRevision, 10) + 1).toString();
119
119
  }
120
120
  // If the string is a semver, parse the patch version out of it, increment it by one and return it.
121
- var parts = currentRevision.split(".");
122
- var lastPart = parseInt(parts[parts.length - 1], 10);
121
+ const parts = currentRevision.split(".");
122
+ const lastPart = parseInt(parts[parts.length - 1], 10);
123
123
  <span class="missing-if-branch" title="else path not taken" >E</span>if (!isNaN(lastPart)) {
124
124
  return (lastPart + 1).toString();
125
125
  }
@@ -133,7 +133,7 @@ function getNextRevision(currentRevision) {
133
133
  <div class='footer quiet pad2 space-top1 center small'>
134
134
  Code coverage generated by
135
135
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
136
- at 2025-04-12T20:35:04.397Z
136
+ at 2025-07-19T20:24:47.780Z
137
137
  </div>
138
138
  <script src="../../prettify.js"></script>
139
139
  <script>