@featurevisor/core 2.25.0 → 2.26.0

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 (104) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/coverage/clover.xml +1499 -1476
  3. package/coverage/coverage-final.json +18 -17
  4. package/coverage/lcov-report/builder/allocator.ts.html +1 -1
  5. package/coverage/lcov-report/builder/buildDatafile.ts.html +1 -1
  6. package/coverage/lcov-report/builder/buildScopedConditions.ts.html +1 -1
  7. package/coverage/lcov-report/builder/buildScopedDatafile.ts.html +1 -1
  8. package/coverage/lcov-report/builder/buildScopedSegments.ts.html +1 -1
  9. package/coverage/lcov-report/builder/convertToV1.ts.html +1 -1
  10. package/coverage/lcov-report/builder/getFeatureRanges.ts.html +1 -1
  11. package/coverage/lcov-report/builder/hashes.ts.html +1 -1
  12. package/coverage/lcov-report/builder/index.html +1 -1
  13. package/coverage/lcov-report/builder/mutateVariables.ts.html +1 -1
  14. package/coverage/lcov-report/builder/mutator.ts.html +52 -52
  15. package/coverage/lcov-report/builder/revision.ts.html +1 -1
  16. package/coverage/lcov-report/builder/traffic.ts.html +1 -1
  17. package/coverage/lcov-report/config/index.html +1 -1
  18. package/coverage/lcov-report/config/index.ts.html +1 -1
  19. package/coverage/lcov-report/config/projectConfig.ts.html +15 -15
  20. package/coverage/lcov-report/datasource/adapter.ts.html +1 -1
  21. package/coverage/lcov-report/datasource/datasource.ts.html +18 -18
  22. package/coverage/lcov-report/datasource/filesystemAdapter.ts.html +43 -43
  23. package/coverage/lcov-report/datasource/index.html +1 -1
  24. package/coverage/lcov-report/datasource/index.ts.html +1 -1
  25. package/coverage/lcov-report/generate-code/index.html +1 -1
  26. package/coverage/lcov-report/generate-code/typescript.ts.html +1 -1
  27. package/coverage/lcov-report/index.html +18 -18
  28. package/coverage/lcov-report/linter/attributeSchema.ts.html +130 -130
  29. package/coverage/lcov-report/linter/checkCircularDependency.ts.html +11 -11
  30. package/coverage/lcov-report/linter/checkPercentageExceedingSlot.ts.html +15 -15
  31. package/coverage/lcov-report/linter/conditionSchema.ts.html +150 -150
  32. package/coverage/lcov-report/linter/featureSchema.ts.html +458 -443
  33. package/coverage/lcov-report/linter/groupSchema.ts.html +24 -27
  34. package/coverage/lcov-report/linter/index.html +83 -68
  35. package/coverage/lcov-report/linter/lintProject.ts.html +158 -158
  36. package/coverage/lcov-report/linter/mutationNotation.ts.html +104 -104
  37. package/coverage/lcov-report/linter/printError.ts.html +79 -28
  38. package/coverage/lcov-report/linter/schema.ts.html +129 -135
  39. package/coverage/lcov-report/linter/segmentSchema.ts.html +15 -9
  40. package/coverage/lcov-report/linter/testSchema.ts.html +67 -94
  41. package/coverage/lcov-report/linter/zodHelpers.ts.html +133 -0
  42. package/coverage/lcov-report/list/index.html +1 -1
  43. package/coverage/lcov-report/list/matrix.ts.html +1 -1
  44. package/coverage/lcov-report/tester/cliFormat.ts.html +6 -6
  45. package/coverage/lcov-report/tester/helpers.ts.html +1 -1
  46. package/coverage/lcov-report/tester/index.html +1 -1
  47. package/coverage/lcov-report/utils/extractKeys.ts.html +1 -1
  48. package/coverage/lcov-report/utils/git.ts.html +1 -1
  49. package/coverage/lcov-report/utils/index.html +1 -1
  50. package/coverage/lcov-report/utils/index.ts.html +1 -1
  51. package/coverage/lcov-report/utils/pretty.ts.html +1 -1
  52. package/coverage/lcov.info +3031 -2984
  53. package/lib/linter/attributeSchema.d.ts +19 -352
  54. package/lib/linter/attributeSchema.spec.js.map +1 -1
  55. package/lib/linter/conditionSchema.d.ts +1 -1
  56. package/lib/linter/conditionSchema.js +2 -3
  57. package/lib/linter/conditionSchema.js.map +1 -1
  58. package/lib/linter/conditionSchema.spec.js.map +1 -1
  59. package/lib/linter/featureSchema.d.ts +75 -964
  60. package/lib/linter/featureSchema.js +64 -53
  61. package/lib/linter/featureSchema.js.map +1 -1
  62. package/lib/linter/featureSchema.spec.js +28 -0
  63. package/lib/linter/featureSchema.spec.js.map +1 -1
  64. package/lib/linter/groupSchema.d.ts +4 -28
  65. package/lib/linter/groupSchema.js +3 -5
  66. package/lib/linter/groupSchema.js.map +1 -1
  67. package/lib/linter/lintProject.spec.js +101 -13
  68. package/lib/linter/lintProject.spec.js.map +1 -1
  69. package/lib/linter/printError.js +21 -7
  70. package/lib/linter/printError.js.map +1 -1
  71. package/lib/linter/schema.d.ts +9 -2
  72. package/lib/linter/schema.js +2 -6
  73. package/lib/linter/schema.js.map +1 -1
  74. package/lib/linter/schema.spec.js +3 -2
  75. package/lib/linter/schema.spec.js.map +1 -1
  76. package/lib/linter/segmentSchema.d.ts +1 -9
  77. package/lib/linter/segmentSchema.js +3 -1
  78. package/lib/linter/segmentSchema.js.map +1 -1
  79. package/lib/linter/segmentSchema.spec.js.map +1 -1
  80. package/lib/linter/testSchema.d.ts +16 -222
  81. package/lib/linter/testSchema.js +23 -38
  82. package/lib/linter/testSchema.js.map +1 -1
  83. package/lib/linter/testSchema.spec.d.ts +1 -0
  84. package/lib/linter/testSchema.spec.js +162 -0
  85. package/lib/linter/testSchema.spec.js.map +1 -0
  86. package/lib/linter/zodHelpers.d.ts +2 -0
  87. package/lib/linter/zodHelpers.js +15 -0
  88. package/lib/linter/zodHelpers.js.map +1 -0
  89. package/package.json +3 -3
  90. package/src/linter/attributeSchema.spec.ts +3 -3
  91. package/src/linter/conditionSchema.spec.ts +3 -3
  92. package/src/linter/conditionSchema.ts +4 -4
  93. package/src/linter/featureSchema.spec.ts +39 -4
  94. package/src/linter/featureSchema.ts +82 -77
  95. package/src/linter/groupSchema.ts +11 -12
  96. package/src/linter/lintProject.spec.ts +121 -13
  97. package/src/linter/printError.ts +27 -10
  98. package/src/linter/schema.spec.ts +12 -11
  99. package/src/linter/schema.ts +7 -9
  100. package/src/linter/segmentSchema.spec.ts +5 -5
  101. package/src/linter/segmentSchema.ts +3 -1
  102. package/src/linter/testSchema.spec.ts +193 -0
  103. package/src/linter/testSchema.ts +36 -45
  104. package/src/linter/zodHelpers.ts +16 -0
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">81.81% </span>
26
+ <span class="strong">83.33% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>9/11</span>
28
+ <span class='fraction'>10/12</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">80% </span>
47
+ <span class="strong">81.81% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>8/10</span>
49
+ <span class='fraction'>9/11</span>
50
50
  </div>
51
51
 
52
52
 
@@ -109,20 +109,18 @@
109
109
  <a name='L44'></a><a href='#L44'>44</a>
110
110
  <a name='L45'></a><a href='#L45'>45</a>
111
111
  <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
114
- <span class="cline-any cline-neutral">&nbsp;</span>
112
+ <a name='L47'></a><a href='#L47'>47</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
115
113
  <span class="cline-any cline-neutral">&nbsp;</span>
116
114
  <span class="cline-any cline-neutral">&nbsp;</span>
117
115
  <span class="cline-any cline-neutral">&nbsp;</span>
118
116
  <span class="cline-any cline-yes">1x</span>
119
117
  <span class="cline-any cline-neutral">&nbsp;</span>
118
+ <span class="cline-any cline-yes">1x</span>
120
119
  <span class="cline-any cline-neutral">&nbsp;</span>
121
120
  <span class="cline-any cline-neutral">&nbsp;</span>
122
121
  <span class="cline-any cline-neutral">&nbsp;</span>
123
- <span class="cline-any cline-yes">6x</span>
124
- <span class="cline-any cline-neutral">&nbsp;</span>
125
122
  <span class="cline-any cline-neutral">&nbsp;</span>
123
+ <span class="cline-any cline-yes">7x</span>
126
124
  <span class="cline-any cline-neutral">&nbsp;</span>
127
125
  <span class="cline-any cline-neutral">&nbsp;</span>
128
126
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -132,11 +130,11 @@
132
130
  <span class="cline-any cline-neutral">&nbsp;</span>
133
131
  <span class="cline-any cline-neutral">&nbsp;</span>
134
132
  <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-yes">4x</span>
133
+ <span class="cline-any cline-yes">6x</span>
136
134
  <span class="cline-any cline-no">&nbsp;</span>
137
135
  <span class="cline-any cline-neutral">&nbsp;</span>
138
136
  <span class="cline-any cline-neutral">&nbsp;</span>
139
- <span class="cline-any cline-yes">4x</span>
137
+ <span class="cline-any cline-yes">6x</span>
140
138
  <span class="cline-any cline-neutral">&nbsp;</span>
141
139
  <span class="cline-any cline-no">&nbsp;</span>
142
140
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -146,21 +144,22 @@
146
144
  <span class="cline-any cline-neutral">&nbsp;</span>
147
145
  <span class="cline-any cline-neutral">&nbsp;</span>
148
146
  <span class="cline-any cline-neutral">&nbsp;</span>
149
- <span class="cline-any cline-yes">4x</span>
147
+ <span class="cline-any cline-yes">6x</span>
150
148
  <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-yes">2x</span>
149
+ <span class="cline-any cline-yes">3x</span>
152
150
  <span class="cline-any cline-neutral">&nbsp;</span>
153
151
  <span class="cline-any cline-neutral">&nbsp;</span>
154
152
  <span class="cline-any cline-neutral">&nbsp;</span>
155
153
  <span class="cline-any cline-neutral">&nbsp;</span>
156
154
  <span class="cline-any cline-neutral">&nbsp;</span>
157
155
  <span class="cline-any cline-neutral">&nbsp;</span>
158
- <span class="cline-any cline-yes">6x</span>
156
+ <span class="cline-any cline-yes">7x</span>
159
157
  <span class="cline-any cline-neutral">&nbsp;</span>
160
158
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { z } from "zod";
161
159
  &nbsp;
162
160
  import { ProjectConfig } from "../config";
163
161
  import { Datasource } from "../datasource";
162
+ import { refineWithMessage } from "./zodHelpers";
164
163
  &nbsp;
165
164
  export function getGroupZodSchema(
166
165
  projectConfig: ProjectConfig,
@@ -174,19 +173,17 @@ export function getGroupZodSchema(
174
173
  .array(
175
174
  z
176
175
  .object({
177
- feature: z
178
- .string()
179
- .optional()
180
- .refine(
181
- (value) =&gt; {
182
- <span class="missing-if-branch" title="if path not taken" >I</span>if (value &amp;&amp; availableFeatureKeys.indexOf(value) === -1) {
183
- <span class="cstat-no" title="statement not covered" > return false;</span>
184
- }
176
+ feature: refineWithMessage(
177
+ z.string().optional(),
178
+ (value) =&gt; {
179
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (value &amp;&amp; availableFeatureKeys.indexOf(value) === -1) {
180
+ <span class="cstat-no" title="statement not covered" > return false;</span>
181
+ }
185
182
  &nbsp;
186
- return true;
187
- },
188
- <span class="fstat-no" title="function not covered" > (v</span>alue) =&gt; (<span class="cstat-no" title="statement not covered" >{ message: `Unknown feature "${value}"` })</span>,
189
- ),
183
+ return true;
184
+ },
185
+ <span class="fstat-no" title="function not covered" > (v</span>alue) =&gt; <span class="cstat-no" title="statement not covered" >`Unknown feature "${value}"`,</span>
186
+ ),
190
187
  percentage: z.number().min(0).max(100),
191
188
  })
192
189
  .strict(),
@@ -211,7 +208,7 @@ export function getGroupZodSchema(
211
208
  <div class='footer quiet pad2 space-top1 center small'>
212
209
  Code coverage generated by
213
210
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
214
- at 2026-04-16T19:15:59.143Z
211
+ at 2026-04-16T19:50:48.735Z
215
212
  </div>
216
213
  <script src="../prettify.js"></script>
217
214
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">75.07% </span>
26
+ <span class="strong">75.65% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>1310/1745</span>
28
+ <span class='fraction'>1336/1766</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">70.5% </span>
33
+ <span class="strong">70.55% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>987/1400</span>
35
+ <span class='fraction'>999/1416</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">77.77% </span>
40
+ <span class="strong">81.7% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>182/234</span>
42
+ <span class='fraction'>192/235</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">78.35% </span>
47
+ <span class="strong">78.92% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>1267/1617</span>
49
+ <span class='fraction'>1292/1637</span>
50
50
  </div>
51
51
 
52
52
 
@@ -125,62 +125,62 @@
125
125
 
126
126
  <tr>
127
127
  <td class="file medium" data-value="conditionSchema.ts"><a href="conditionSchema.ts.html">conditionSchema.ts</a></td>
128
- <td data-value="60.76" class="pic medium">
128
+ <td data-value="60.89" class="pic medium">
129
129
  <div class="chart"><div class="cover-fill" style="width: 60%"></div><div class="cover-empty" style="width: 40%"></div></div>
130
130
  </td>
131
- <td data-value="60.76" class="pct medium">60.76%</td>
132
- <td data-value="288" class="abs medium">175/288</td>
131
+ <td data-value="60.89" class="pct medium">60.89%</td>
132
+ <td data-value="289" class="abs medium">176/289</td>
133
133
  <td data-value="58.94" class="pct medium">58.94%</td>
134
134
  <td data-value="246" class="abs medium">145/246</td>
135
135
  <td data-value="73.8" class="pct medium">73.8%</td>
136
136
  <td data-value="42" class="abs medium">31/42</td>
137
- <td data-value="64.15" class="pct medium">64.15%</td>
138
- <td data-value="265" class="abs medium">170/265</td>
137
+ <td data-value="64.28" class="pct medium">64.28%</td>
138
+ <td data-value="266" class="abs medium">171/266</td>
139
139
  </tr>
140
140
 
141
141
  <tr>
142
142
  <td class="file medium" data-value="featureSchema.ts"><a href="featureSchema.ts.html">featureSchema.ts</a></td>
143
- <td data-value="72.95" class="pic medium">
144
- <div class="chart"><div class="cover-fill" style="width: 72%"></div><div class="cover-empty" style="width: 28%"></div></div>
143
+ <td data-value="73" class="pic medium">
144
+ <div class="chart"><div class="cover-fill" style="width: 73%"></div><div class="cover-empty" style="width: 27%"></div></div>
145
145
  </td>
146
- <td data-value="72.95" class="pct medium">72.95%</td>
147
- <td data-value="551" class="abs medium">402/551</td>
148
- <td data-value="64.26" class="pct medium">64.26%</td>
149
- <td data-value="403" class="abs medium">259/403</td>
150
- <td data-value="76" class="pct medium">76%</td>
151
- <td data-value="75" class="abs medium">57/75</td>
152
- <td data-value="76.52" class="pct medium">76.52%</td>
153
- <td data-value="507" class="abs medium">388/507</td>
146
+ <td data-value="73" class="pct medium">73%</td>
147
+ <td data-value="552" class="abs medium">403/552</td>
148
+ <td data-value="63.48" class="pct medium">63.48%</td>
149
+ <td data-value="408" class="abs medium">259/408</td>
150
+ <td data-value="81.42" class="pct high">81.42%</td>
151
+ <td data-value="70" class="abs high">57/70</td>
152
+ <td data-value="76.57" class="pct medium">76.57%</td>
153
+ <td data-value="508" class="abs medium">389/508</td>
154
154
  </tr>
155
155
 
156
156
  <tr>
157
157
  <td class="file high" data-value="groupSchema.ts"><a href="groupSchema.ts.html">groupSchema.ts</a></td>
158
- <td data-value="81.81" class="pic high">
159
- <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
158
+ <td data-value="83.33" class="pic high">
159
+ <div class="chart"><div class="cover-fill" style="width: 83%"></div><div class="cover-empty" style="width: 17%"></div></div>
160
160
  </td>
161
- <td data-value="81.81" class="pct high">81.81%</td>
162
- <td data-value="11" class="abs high">9/11</td>
161
+ <td data-value="83.33" class="pct high">83.33%</td>
162
+ <td data-value="12" class="abs high">10/12</td>
163
163
  <td data-value="66.66" class="pct medium">66.66%</td>
164
164
  <td data-value="3" class="abs medium">2/3</td>
165
165
  <td data-value="80" class="pct high">80%</td>
166
166
  <td data-value="5" class="abs high">4/5</td>
167
- <td data-value="80" class="pct high">80%</td>
168
- <td data-value="10" class="abs high">8/10</td>
167
+ <td data-value="81.81" class="pct high">81.81%</td>
168
+ <td data-value="11" class="abs high">9/11</td>
169
169
  </tr>
170
170
 
171
171
  <tr>
172
172
  <td class="file medium" data-value="lintProject.ts"><a href="lintProject.ts.html">lintProject.ts</a></td>
173
- <td data-value="73.92" class="pic medium">
174
- <div class="chart"><div class="cover-fill" style="width: 73%"></div><div class="cover-empty" style="width: 27%"></div></div>
173
+ <td data-value="74.7" class="pic medium">
174
+ <div class="chart"><div class="cover-fill" style="width: 74%"></div><div class="cover-empty" style="width: 26%"></div></div>
175
175
  </td>
176
- <td data-value="73.92" class="pct medium">73.92%</td>
177
- <td data-value="257" class="abs medium">190/257</td>
178
- <td data-value="62.11" class="pct medium">62.11%</td>
179
- <td data-value="161" class="abs medium">100/161</td>
176
+ <td data-value="74.7" class="pct medium">74.7%</td>
177
+ <td data-value="257" class="abs medium">192/257</td>
178
+ <td data-value="63.97" class="pct medium">63.97%</td>
179
+ <td data-value="161" class="abs medium">103/161</td>
180
180
  <td data-value="57.14" class="pct medium">57.14%</td>
181
181
  <td data-value="21" class="abs medium">12/21</td>
182
- <td data-value="76" class="pct medium">76%</td>
183
- <td data-value="250" class="abs medium">190/250</td>
182
+ <td data-value="76.8" class="pct medium">76.8%</td>
183
+ <td data-value="250" class="abs medium">192/250</td>
184
184
  </tr>
185
185
 
186
186
  <tr>
@@ -200,32 +200,32 @@
200
200
 
201
201
  <tr>
202
202
  <td class="file medium" data-value="printError.ts"><a href="printError.ts.html">printError.ts</a></td>
203
- <td data-value="56.25" class="pic medium">
204
- <div class="chart"><div class="cover-fill" style="width: 56%"></div><div class="cover-empty" style="width: 44%"></div></div>
203
+ <td data-value="65.38" class="pic medium">
204
+ <div class="chart"><div class="cover-fill" style="width: 65%"></div><div class="cover-empty" style="width: 35%"></div></div>
205
205
  </td>
206
- <td data-value="56.25" class="pct medium">56.25%</td>
207
- <td data-value="16" class="abs medium">9/16</td>
208
- <td data-value="57.14" class="pct medium">57.14%</td>
209
- <td data-value="7" class="abs medium">4/7</td>
210
- <td data-value="50" class="pct medium">50%</td>
211
- <td data-value="4" class="abs medium">2/4</td>
212
- <td data-value="56.25" class="pct medium">56.25%</td>
213
- <td data-value="16" class="abs medium">9/16</td>
206
+ <td data-value="65.38" class="pct medium">65.38%</td>
207
+ <td data-value="26" class="abs medium">17/26</td>
208
+ <td data-value="60" class="pct medium">60%</td>
209
+ <td data-value="15" class="abs medium">9/15</td>
210
+ <td data-value="71.42" class="pct medium">71.42%</td>
211
+ <td data-value="7" class="abs medium">5/7</td>
212
+ <td data-value="64" class="pct medium">64%</td>
213
+ <td data-value="25" class="abs medium">16/25</td>
214
214
  </tr>
215
215
 
216
216
  <tr>
217
217
  <td class="file high" data-value="schema.ts"><a href="schema.ts.html">schema.ts</a></td>
218
- <td data-value="86.56" class="pic high">
218
+ <td data-value="86.63" class="pic high">
219
219
  <div class="chart"><div class="cover-fill" style="width: 86%"></div><div class="cover-empty" style="width: 14%"></div></div>
220
220
  </td>
221
- <td data-value="86.56" class="pct high">86.56%</td>
222
- <td data-value="201" class="abs high">174/201</td>
221
+ <td data-value="86.63" class="pct high">86.63%</td>
222
+ <td data-value="202" class="abs high">175/202</td>
223
223
  <td data-value="86.31" class="pct high">86.31%</td>
224
224
  <td data-value="190" class="abs high">164/190</td>
225
225
  <td data-value="88" class="pct high">88%</td>
226
226
  <td data-value="25" class="abs high">22/25</td>
227
- <td data-value="90.65" class="pct high">90.65%</td>
228
- <td data-value="182" class="abs high">165/182</td>
227
+ <td data-value="90.71" class="pct high">90.71%</td>
228
+ <td data-value="183" class="abs high">166/183</td>
229
229
  </tr>
230
230
 
231
231
  <tr>
@@ -234,28 +234,43 @@
234
234
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
235
235
  </td>
236
236
  <td data-value="100" class="pct high">100%</td>
237
- <td data-value="4" class="abs high">4/4</td>
237
+ <td data-value="5" class="abs high">5/5</td>
238
238
  <td data-value="100" class="pct high">100%</td>
239
- <td data-value="0" class="abs high">0/0</td>
239
+ <td data-value="2" class="abs high">2/2</td>
240
240
  <td data-value="100" class="pct high">100%</td>
241
- <td data-value="1" class="abs high">1/1</td>
241
+ <td data-value="2" class="abs high">2/2</td>
242
242
  <td data-value="100" class="pct high">100%</td>
243
- <td data-value="4" class="abs high">4/4</td>
243
+ <td data-value="5" class="abs high">5/5</td>
244
244
  </tr>
245
245
 
246
246
  <tr>
247
- <td class="file medium" data-value="testSchema.ts"><a href="testSchema.ts.html">testSchema.ts</a></td>
248
- <td data-value="59.09" class="pic medium">
249
- <div class="chart"><div class="cover-fill" style="width: 59%"></div><div class="cover-empty" style="width: 41%"></div></div>
247
+ <td class="file high" data-value="testSchema.ts"><a href="testSchema.ts.html">testSchema.ts</a></td>
248
+ <td data-value="82.6" class="pic high">
249
+ <div class="chart"><div class="cover-fill" style="width: 82%"></div><div class="cover-empty" style="width: 18%"></div></div>
250
250
  </td>
251
- <td data-value="59.09" class="pct medium">59.09%</td>
252
- <td data-value="22" class="abs medium">13/22</td>
253
- <td data-value="75" class="pct medium">75%</td>
254
- <td data-value="8" class="abs medium">6/8</td>
255
- <td data-value="33.33" class="pct low">33.33%</td>
256
- <td data-value="12" class="abs low">4/12</td>
257
- <td data-value="61.9" class="pct medium">61.9%</td>
258
- <td data-value="21" class="abs medium">13/21</td>
251
+ <td data-value="82.6" class="pct high">82.6%</td>
252
+ <td data-value="23" class="abs high">19/23</td>
253
+ <td data-value="87.5" class="pct high">87.5%</td>
254
+ <td data-value="8" class="abs high">7/8</td>
255
+ <td data-value="66.66" class="pct medium">66.66%</td>
256
+ <td data-value="12" class="abs medium">8/12</td>
257
+ <td data-value="86.36" class="pct high">86.36%</td>
258
+ <td data-value="22" class="abs high">19/22</td>
259
+ </tr>
260
+
261
+ <tr>
262
+ <td class="file high" data-value="zodHelpers.ts"><a href="zodHelpers.ts.html">zodHelpers.ts</a></td>
263
+ <td data-value="100" class="pic high">
264
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
265
+ </td>
266
+ <td data-value="100" class="pct high">100%</td>
267
+ <td data-value="5" class="abs high">5/5</td>
268
+ <td data-value="100" class="pct high">100%</td>
269
+ <td data-value="1" class="abs high">1/1</td>
270
+ <td data-value="100" class="pct high">100%</td>
271
+ <td data-value="2" class="abs high">2/2</td>
272
+ <td data-value="100" class="pct high">100%</td>
273
+ <td data-value="5" class="abs high">5/5</td>
259
274
  </tr>
260
275
 
261
276
  </tbody>
@@ -266,7 +281,7 @@
266
281
  <div class='footer quiet pad2 space-top1 center small'>
267
282
  Code coverage generated by
268
283
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
269
- at 2026-04-16T19:15:59.143Z
284
+ at 2026-04-16T19:50:48.735Z
270
285
  </div>
271
286
  <script src="../prettify.js"></script>
272
287
  <script>