@featurevisor/core 2.6.7 → 2.8.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 (90) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/coverage/clover.xml +145 -474
  3. package/coverage/coverage-final.json +4 -10
  4. package/coverage/lcov-report/{src/builder → builder}/allocator.ts.html +10 -10
  5. package/coverage/lcov-report/{src/builder → builder}/buildScopedConditions.ts.html +10 -10
  6. package/coverage/lcov-report/{src/builder → builder}/buildScopedDatafile.ts.html +10 -10
  7. package/coverage/lcov-report/{src/builder → builder}/buildScopedSegments.ts.html +10 -10
  8. package/coverage/lcov-report/{src/builder → builder}/index.html +10 -10
  9. package/coverage/lcov-report/{src/builder → builder}/revision.ts.html +10 -10
  10. package/coverage/lcov-report/{src/builder → builder}/traffic.ts.html +10 -10
  11. package/coverage/lcov-report/index.html +35 -65
  12. package/coverage/lcov-report/{src/list → list}/index.html +24 -24
  13. package/coverage/lcov-report/{src/list → list}/matrix.ts.html +27 -18
  14. package/coverage/lcov-report/{lib/tester → parsers}/index.html +41 -26
  15. package/coverage/lcov-report/parsers/json.ts.html +118 -0
  16. package/coverage/lcov-report/parsers/yml.ts.html +589 -0
  17. package/coverage/lcov-report/{src/tester → tester}/helpers.ts.html +10 -10
  18. package/coverage/lcov-report/{src/tester → tester}/index.html +10 -10
  19. package/coverage/lcov.info +246 -899
  20. package/jest.config.js +1 -0
  21. package/lib/config/index.d.ts +0 -1
  22. package/lib/config/index.js +0 -1
  23. package/lib/config/index.js.map +1 -1
  24. package/lib/config/projectConfig.d.ts +1 -1
  25. package/lib/config/projectConfig.js +1 -1
  26. package/lib/config/projectConfig.js.map +1 -1
  27. package/lib/datasource/datasource.js.map +1 -1
  28. package/lib/datasource/filesystemAdapter.js +1 -1
  29. package/lib/datasource/filesystemAdapter.js.map +1 -1
  30. package/lib/index.d.ts +1 -0
  31. package/lib/index.js +1 -0
  32. package/lib/index.js.map +1 -1
  33. package/lib/linter/conditionSchema.js +45 -6
  34. package/lib/linter/conditionSchema.js.map +1 -1
  35. package/lib/linter/testSchema.d.ts +5 -0
  36. package/lib/linter/testSchema.js +6 -1
  37. package/lib/linter/testSchema.js.map +1 -1
  38. package/lib/list/matrix.js +4 -1
  39. package/lib/list/matrix.js.map +1 -1
  40. package/lib/{config/parsers.d.ts → parsers/index.d.ts} +5 -5
  41. package/lib/parsers/index.js +15 -0
  42. package/lib/parsers/index.js.map +1 -0
  43. package/lib/parsers/json.d.ts +2 -0
  44. package/lib/parsers/json.js +13 -0
  45. package/lib/parsers/json.js.map +1 -0
  46. package/lib/parsers/json.spec.d.ts +1 -0
  47. package/lib/parsers/json.spec.js +35 -0
  48. package/lib/parsers/json.spec.js.map +1 -0
  49. package/lib/parsers/yml.d.ts +2 -0
  50. package/lib/parsers/yml.js +154 -0
  51. package/lib/parsers/yml.js.map +1 -0
  52. package/lib/parsers/yml.spec.d.ts +1 -0
  53. package/lib/parsers/yml.spec.js +143 -0
  54. package/lib/parsers/yml.spec.js.map +1 -0
  55. package/lib/tester/testFeature.js +6 -1
  56. package/lib/tester/testFeature.js.map +1 -1
  57. package/lib/tester/testProject.d.ts +1 -0
  58. package/lib/tester/testProject.js +28 -2
  59. package/lib/tester/testProject.js.map +1 -1
  60. package/lib/utils/git.js.map +1 -1
  61. package/package.json +6 -6
  62. package/src/config/index.ts +0 -1
  63. package/src/config/projectConfig.ts +1 -1
  64. package/src/datasource/datasource.ts +2 -1
  65. package/src/datasource/filesystemAdapter.ts +3 -2
  66. package/src/index.ts +1 -0
  67. package/src/linter/conditionSchema.ts +43 -6
  68. package/src/linter/testSchema.ts +9 -1
  69. package/src/list/matrix.ts +4 -1
  70. package/src/parsers/index.ts +22 -0
  71. package/src/parsers/json.spec.ts +36 -0
  72. package/src/parsers/json.ts +11 -0
  73. package/src/parsers/yml.spec.ts +174 -0
  74. package/src/parsers/yml.ts +168 -0
  75. package/src/tester/testFeature.ts +6 -1
  76. package/src/tester/testProject.ts +41 -2
  77. package/src/utils/git.ts +2 -1
  78. package/coverage/lcov-report/lib/builder/allocator.js.html +0 -196
  79. package/coverage/lcov-report/lib/builder/buildScopedConditions.js.html +0 -373
  80. package/coverage/lcov-report/lib/builder/buildScopedDatafile.js.html +0 -403
  81. package/coverage/lcov-report/lib/builder/buildScopedSegments.js.html +0 -379
  82. package/coverage/lcov-report/lib/builder/index.html +0 -191
  83. package/coverage/lcov-report/lib/builder/revision.js.html +0 -148
  84. package/coverage/lcov-report/lib/builder/traffic.js.html +0 -493
  85. package/coverage/lcov-report/lib/list/index.html +0 -116
  86. package/coverage/lcov-report/lib/list/matrix.js.html +0 -523
  87. package/coverage/lcov-report/lib/tester/helpers.js.html +0 -295
  88. package/lib/config/parsers.js +0 -32
  89. package/lib/config/parsers.js.map +0 -1
  90. package/src/config/parsers.ts +0 -40
@@ -1,443 +1,8 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1770331536629" clover="3.2.0">
3
- <project timestamp="1770331536629" name="All files">
4
- <metrics statements="802" coveredstatements="654" conditionals="434" coveredconditionals="334" methods="116" coveredmethods="100" elements="1352" coveredelements="1088" complexity="0" loc="802" ncloc="802" packages="6" files="16" classes="16"/>
5
- <package name="lib.builder">
6
- <metrics statements="276" coveredstatements="268" conditionals="173" coveredconditionals="151" methods="46" coveredmethods="46"/>
7
- <file name="allocator.js" path="/home/runner/work/featurevisor/featurevisor/packages/core/lib/builder/allocator.js">
8
- <metrics statements="28" coveredstatements="28" conditionals="8" coveredconditionals="8" methods="2" coveredmethods="2"/>
9
- <line num="2" count="2" type="stmt"/>
10
- <line num="3" count="2" type="stmt"/>
11
- <line num="4" count="2" type="stmt"/>
12
- <line num="6" count="37" type="stmt"/>
13
- <line num="7" count="37" type="stmt"/>
14
- <line num="8" count="37" type="stmt"/>
15
- <line num="9" count="37" type="cond" truecount="2" falsecount="0"/>
16
- <line num="10" count="39" type="stmt"/>
17
- <line num="11" count="39" type="stmt"/>
18
- <line num="12" count="39" type="stmt"/>
19
- <line num="13" count="39" type="stmt"/>
20
- <line num="14" count="39" type="stmt"/>
21
- <line num="15" count="39" type="stmt"/>
22
- <line num="17" count="37" type="stmt"/>
23
- <line num="20" count="38" type="cond" truecount="2" falsecount="0"/>
24
- <line num="21" count="4" type="stmt"/>
25
- <line num="23" count="34" type="stmt"/>
26
- <line num="24" count="34" type="stmt"/>
27
- <line num="25" count="34" type="stmt"/>
28
- <line num="26" count="34" type="cond" truecount="2" falsecount="0"/>
29
- <line num="27" count="40" type="stmt"/>
30
- <line num="28" count="40" type="stmt"/>
31
- <line num="29" count="40" type="stmt"/>
32
- <line num="30" count="40" type="cond" truecount="2" falsecount="0"/>
33
- <line num="31" count="27" type="stmt"/>
34
- <line num="33" count="40" type="stmt"/>
35
- <line num="34" count="40" type="stmt"/>
36
- <line num="36" count="34" type="stmt"/>
37
- </file>
38
- <file name="buildScopedConditions.js" path="/home/runner/work/featurevisor/featurevisor/packages/core/lib/builder/buildScopedConditions.js">
39
- <metrics statements="54" coveredstatements="54" conditionals="36" coveredconditionals="34" methods="15" coveredmethods="15"/>
40
- <line num="2" count="2" type="stmt"/>
41
- <line num="3" count="2" type="stmt"/>
42
- <line num="4" count="2" type="stmt"/>
43
- <line num="5" count="2" type="stmt"/>
44
- <line num="7" count="121" type="stmt"/>
45
- <line num="8" count="121" type="stmt"/>
46
- <line num="9" count="121" type="stmt"/>
47
- <line num="12" count="453" type="cond" truecount="2" falsecount="0"/>
48
- <line num="13" count="201" type="stmt"/>
49
- <line num="15" count="252" type="cond" truecount="2" falsecount="0"/>
50
- <line num="17" count="109" type="stmt"/>
51
- <line num="19" count="109" type="stmt"/>
52
- <line num="21" count="90" type="cond" truecount="2" falsecount="0"/>
53
- <line num="22" count="57" type="stmt"/>
54
- <line num="24" count="33" type="stmt"/>
55
- <line num="26" count="162" type="cond" truecount="1" falsecount="1"/>
56
- <line num="27" count="162" type="cond" truecount="2" falsecount="0"/>
57
- <line num="28" count="97" type="stmt"/>
58
- <line num="29" count="97" type="stmt"/>
59
- <line num="31" count="38" type="cond" truecount="2" falsecount="0"/>
60
- <line num="32" count="18" type="stmt"/>
61
- <line num="34" count="20" type="stmt"/>
62
- <line num="38" count="124" type="cond" truecount="2" falsecount="0"/>
63
- <line num="39" count="69" type="stmt"/>
64
- <line num="40" count="69" type="stmt"/>
65
- <line num="42" count="28" type="cond" truecount="2" falsecount="0"/>
66
- <line num="43" count="5" type="stmt"/>
67
- <line num="45" count="23" type="stmt"/>
68
- <line num="49" count="96" type="cond" truecount="2" falsecount="0"/>
69
- <line num="50" count="30" type="stmt"/>
70
- <line num="51" count="30" type="stmt"/>
71
- <line num="53" count="13" type="cond" truecount="2" falsecount="0"/>
72
- <line num="54" count="7" type="stmt"/>
73
- <line num="56" count="6" type="stmt"/>
74
- <line num="61" count="83" type="stmt"/>
75
- <line num="64" count="395" type="cond" truecount="2" falsecount="0"/>
76
- <line num="65" count="7" type="stmt"/>
77
- <line num="67" count="388" type="cond" truecount="2" falsecount="0"/>
78
- <line num="68" count="104" type="stmt"/>
79
- <line num="70" count="296" type="cond" truecount="1" falsecount="1"/>
80
- <line num="72" count="296" type="cond" truecount="2" falsecount="0"/>
81
- <line num="73" count="219" type="stmt"/>
82
- <line num="74" count="219" type="cond" truecount="2" falsecount="0"/>
83
- <line num="75" count="142" type="stmt"/>
84
- <line num="79" count="154" type="cond" truecount="2" falsecount="0"/>
85
- <line num="80" count="36" type="stmt"/>
86
- <line num="81" count="68" type="stmt"/>
87
- <line num="84" count="118" type="cond" truecount="2" falsecount="0"/>
88
- <line num="85" count="29" type="stmt"/>
89
- <line num="86" count="54" type="stmt"/>
90
- <line num="89" count="89" type="cond" truecount="2" falsecount="0"/>
91
- <line num="90" count="12" type="stmt"/>
92
- <line num="91" count="16" type="stmt"/>
93
- <line num="95" count="77" type="stmt"/>
94
- </file>
95
- <file name="buildScopedDatafile.js" path="/home/runner/work/featurevisor/featurevisor/packages/core/lib/builder/buildScopedDatafile.js">
96
- <metrics statements="61" coveredstatements="61" conditionals="29" coveredconditionals="26" methods="1" coveredmethods="1"/>
97
- <line num="2" count="1" type="stmt"/>
98
- <line num="3" count="1" type="stmt"/>
99
- <line num="4" count="1" type="stmt"/>
100
- <line num="5" count="1" type="stmt"/>
101
- <line num="6" count="1" type="stmt"/>
102
- <line num="8" count="68" type="stmt"/>
103
- <line num="12" count="68" type="stmt"/>
104
- <line num="13" count="68" type="stmt"/>
105
- <line num="15" count="68" type="stmt"/>
106
- <line num="16" count="77" type="stmt"/>
107
- <line num="17" count="77" type="stmt"/>
108
- <line num="18" count="77" type="stmt"/>
109
- <line num="19" count="77" type="stmt"/>
110
- <line num="20" count="77" type="cond" truecount="2" falsecount="0"/>
111
- <line num="21" count="52" type="stmt"/>
112
- <line num="25" count="68" type="stmt"/>
113
- <line num="26" count="56" type="stmt"/>
114
- <line num="28" count="56" type="cond" truecount="2" falsecount="0"/>
115
- <line num="29" count="19" type="stmt"/>
116
- <line num="30" count="19" type="stmt"/>
117
- <line num="32" count="19" type="cond" truecount="2" falsecount="0"/>
118
- <line num="33" count="13" type="stmt"/>
119
- <line num="36" count="19" type="cond" truecount="2" falsecount="0"/>
120
- <line num="37" count="7" type="stmt"/>
121
- <line num="42" count="56" type="stmt"/>
122
- <line num="43" count="56" type="cond" truecount="1" falsecount="1"/>
123
- <line num="44" count="56" type="stmt"/>
124
- <line num="45" count="33" type="stmt"/>
125
- <line num="47" count="33" type="stmt"/>
126
- <line num="49" count="33" type="cond" truecount="1" falsecount="1"/>
127
- <line num="50" count="33" type="stmt"/>
128
- <line num="55" count="56" type="cond" truecount="2" falsecount="0"/>
129
- <line num="56" count="21" type="stmt"/>
130
- <line num="57" count="21" type="stmt"/>
131
- <line num="58" count="21" type="stmt"/>
132
- <line num="60" count="21" type="cond" truecount="2" falsecount="0"/>
133
- <line num="61" count="20" type="stmt"/>
134
- <line num="62" count="20" type="stmt"/>
135
- <line num="63" count="20" type="stmt"/>
136
- <line num="64" count="21" type="stmt"/>
137
- <line num="66" count="21" type="cond" truecount="2" falsecount="0"/>
138
- <line num="67" count="16" type="stmt"/>
139
- <line num="70" count="21" type="cond" truecount="2" falsecount="0"/>
140
- <line num="71" count="5" type="stmt"/>
141
- <line num="73" count="21" type="stmt"/>
142
- <line num="77" count="21" type="stmt"/>
143
- <line num="81" count="56" type="cond" truecount="1" falsecount="1"/>
144
- <line num="82" count="56" type="stmt"/>
145
- <line num="84" count="56" type="stmt"/>
146
- <line num="85" count="33" type="stmt"/>
147
- <line num="86" count="33" type="stmt"/>
148
- <line num="87" count="33" type="cond" truecount="5" falsecount="0"/>
149
- <line num="90" count="6" type="stmt"/>
150
- <line num="92" count="33" type="cond" truecount="2" falsecount="0"/>
151
- <line num="93" count="27" type="stmt"/>
152
- <line num="94" count="27" type="stmt"/>
153
- <line num="97" count="56" type="stmt"/>
154
- <line num="99" count="56" type="stmt"/>
155
- <line num="102" count="68" type="stmt"/>
156
- <line num="103" count="52" type="stmt"/>
157
- <line num="105" count="68" type="stmt"/>
158
- </file>
159
- <file name="buildScopedSegments.js" path="/home/runner/work/featurevisor/featurevisor/packages/core/lib/builder/buildScopedSegments.js">
160
- <metrics statements="56" coveredstatements="56" conditionals="40" coveredconditionals="38" methods="15" coveredmethods="15"/>
161
- <line num="2" count="2" type="stmt"/>
162
- <line num="3" count="2" type="stmt"/>
163
- <line num="4" count="2" type="stmt"/>
164
- <line num="5" count="2" type="stmt"/>
165
- <line num="7" count="96" type="stmt"/>
166
- <line num="8" count="96" type="stmt"/>
167
- <line num="9" count="96" type="stmt"/>
168
- <line num="12" count="356" type="cond" truecount="2" falsecount="0"/>
169
- <line num="13" count="192" type="stmt"/>
170
- <line num="15" count="164" type="cond" truecount="2" falsecount="0"/>
171
- <line num="17" count="39" type="stmt"/>
172
- <line num="19" count="39" type="stmt"/>
173
- <line num="21" count="18" type="cond" truecount="2" falsecount="0"/>
174
- <line num="22" count="9" type="stmt"/>
175
- <line num="24" count="9" type="stmt"/>
176
- <line num="26" count="146" type="cond" truecount="2" falsecount="0"/>
177
- <line num="27" count="78" type="cond" truecount="2" falsecount="0"/>
178
- <line num="28" count="95" type="stmt"/>
179
- <line num="29" count="95" type="stmt"/>
180
- <line num="31" count="37" type="cond" truecount="2" falsecount="0"/>
181
- <line num="32" count="19" type="stmt"/>
182
- <line num="34" count="18" type="stmt"/>
183
- <line num="38" count="41" type="cond" truecount="2" falsecount="0"/>
184
- <line num="39" count="69" type="stmt"/>
185
- <line num="40" count="69" type="stmt"/>
186
- <line num="42" count="28" type="cond" truecount="2" falsecount="0"/>
187
- <line num="43" count="6" type="stmt"/>
188
- <line num="45" count="22" type="stmt"/>
189
- <line num="49" count="13" type="cond" truecount="1" falsecount="1"/>
190
- <line num="50" count="30" type="stmt"/>
191
- <line num="51" count="30" type="stmt"/>
192
- <line num="53" count="13" type="cond" truecount="2" falsecount="0"/>
193
- <line num="54" count="7" type="stmt"/>
194
- <line num="56" count="6" type="stmt"/>
195
- <line num="61" count="68" type="stmt"/>
196
- <line num="64" count="334" type="cond" truecount="2" falsecount="0"/>
197
- <line num="65" count="15" type="stmt"/>
198
- <line num="67" count="319" type="cond" truecount="2" falsecount="0"/>
199
- <line num="68" count="45" type="stmt"/>
200
- <line num="70" count="296" type="cond" truecount="2" falsecount="0"/>
201
- <line num="71" count="217" type="cond" truecount="2" falsecount="0"/>
202
- <line num="72" count="75" type="stmt"/>
203
- <line num="74" count="142" type="stmt"/>
204
- <line num="75" count="142" type="cond" truecount="2" falsecount="0"/>
205
- <line num="76" count="67" type="stmt"/>
206
- <line num="79" count="154" type="cond" truecount="2" falsecount="0"/>
207
- <line num="81" count="79" type="cond" truecount="2" falsecount="0"/>
208
- <line num="82" count="35" type="stmt"/>
209
- <line num="83" count="71" type="stmt"/>
210
- <line num="86" count="44" type="cond" truecount="2" falsecount="0"/>
211
- <line num="87" count="31" type="stmt"/>
212
- <line num="88" count="61" type="stmt"/>
213
- <line num="91" count="13" type="cond" truecount="1" falsecount="1"/>
214
- <line num="92" count="13" type="stmt"/>
215
- <line num="93" count="18" type="stmt"/>
216
- <line num="97" count="75" type="stmt"/>
217
- </file>
218
- <file name="revision.js" path="/home/runner/work/featurevisor/featurevisor/packages/core/lib/builder/revision.js">
219
- <metrics statements="11" coveredstatements="10" conditionals="8" coveredconditionals="7" methods="1" coveredmethods="1"/>
220
- <line num="2" count="1" type="stmt"/>
221
- <line num="3" count="1" type="stmt"/>
222
- <line num="6" count="7" type="cond" truecount="4" falsecount="0"/>
223
- <line num="7" count="2" type="stmt"/>
224
- <line num="10" count="5" type="cond" truecount="2" falsecount="0"/>
225
- <line num="11" count="2" type="stmt"/>
226
- <line num="14" count="3" type="stmt"/>
227
- <line num="15" count="3" type="stmt"/>
228
- <line num="16" count="3" type="cond" truecount="1" falsecount="1"/>
229
- <line num="17" count="3" type="stmt"/>
230
- <line num="20" count="0" type="stmt"/>
231
- </file>
232
- <file name="traffic.js" path="/home/runner/work/featurevisor/featurevisor/packages/core/lib/builder/traffic.js">
233
- <metrics statements="66" coveredstatements="59" conditionals="52" coveredconditionals="38" methods="12" coveredmethods="12"/>
234
- <line num="2" count="1" type="stmt"/>
235
- <line num="3" count="1" type="stmt"/>
236
- <line num="4" count="1" type="stmt"/>
237
- <line num="5" count="1" type="stmt"/>
238
- <line num="6" count="1" type="stmt"/>
239
- <line num="7" count="1" type="stmt"/>
240
- <line num="8" count="1" type="stmt"/>
241
- <line num="11" count="13" type="cond" truecount="4" falsecount="0"/>
242
- <line num="12" count="4" type="cond" truecount="3" falsecount="1"/>
243
- <line num="15" count="4" type="stmt"/>
244
- <line num="18" count="0" type="stmt"/>
245
- <line num="20" count="9" type="cond" truecount="1" falsecount="1"/>
246
- <line num="21" count="21" type="stmt"/>
247
- <line num="23" count="22" type="stmt"/>
248
- <line num="30" count="13" type="cond" truecount="2" falsecount="0"/>
249
- <line num="31" count="4" type="stmt"/>
250
- <line num="33" count="9" type="stmt"/>
251
- <line num="34" count="9" type="stmt"/>
252
- <line num="38" count="13" type="cond" truecount="2" falsecount="0"/>
253
- <line num="39" count="4" type="stmt"/>
254
- <line num="41" count="9" type="cond" truecount="1" falsecount="1"/>
255
- <line num="42" count="9" type="stmt"/>
256
- <line num="44" count="0" type="stmt"/>
257
- <line num="53" count="13" type="stmt"/>
258
- <line num="55" count="13" type="cond" truecount="2" falsecount="2"/>
259
- <line num="56" count="13" type="stmt"/>
260
- <line num="57" count="13" type="stmt"/>
261
- <line num="58" count="13" type="stmt"/>
262
- <line num="66" count="13" type="cond" truecount="1" falsecount="1"/>
263
- <line num="67" count="0" type="stmt"/>
264
- <line num="69" count="13" type="cond" truecount="1" falsecount="1"/>
265
- <line num="70" count="0" type="stmt"/>
266
- <line num="73" count="13" type="stmt"/>
267
- <line num="74" count="13" type="stmt"/>
268
- <line num="75" count="13" type="stmt"/>
269
- <line num="76" count="13" type="stmt"/>
270
- <line num="77" count="13" type="cond" truecount="5" falsecount="0"/>
271
- <line num="85" count="13" type="stmt"/>
272
- <line num="86" count="13" type="cond" truecount="5" falsecount="0"/>
273
- <line num="88" count="1" type="stmt"/>
274
- <line num="89" count="1" type="stmt"/>
275
- <line num="90" count="2" type="stmt"/>
276
- <line num="94" count="2" type="stmt"/>
277
- <line num="95" count="2" type="stmt"/>
278
- <line num="97" count="1" type="stmt"/>
279
- <line num="99" count="13" type="cond" truecount="1" falsecount="1"/>
280
- <line num="100" count="13" type="stmt"/>
281
- <line num="101" count="30" type="stmt"/>
282
- <line num="102" count="30" type="cond" truecount="2" falsecount="2"/>
283
- <line num="104" count="0" type="stmt"/>
284
- <line num="106" count="30" type="stmt"/>
285
- <line num="107" count="30" type="cond" truecount="2" falsecount="0"/>
286
- <line num="110" count="30" type="stmt"/>
287
- <line num="111" count="30" type="stmt"/>
288
- <line num="112" count="26" type="cond" truecount="1" falsecount="1"/>
289
- <line num="113" count="26" type="stmt"/>
290
- <line num="119" count="30" type="stmt"/>
291
- <line num="122" count="13" type="cond" truecount="1" falsecount="1"/>
292
- <line num="123" count="13" type="stmt"/>
293
- <line num="124" count="28" type="cond" truecount="3" falsecount="1"/>
294
- <line num="125" count="0" type="stmt"/>
295
- <line num="127" count="28" type="stmt"/>
296
- <line num="129" count="13" type="cond" truecount="1" falsecount="1"/>
297
- <line num="130" count="0" type="stmt"/>
298
- <line num="133" count="13" type="stmt"/>
299
- <line num="135" count="13" type="stmt"/>
300
- </file>
301
- </package>
302
- <package name="lib.list">
303
- <metrics statements="83" coveredstatements="20" conditionals="41" coveredconditionals="4" methods="10" coveredmethods="2"/>
304
- <file name="matrix.js" path="/home/runner/work/featurevisor/featurevisor/packages/core/lib/list/matrix.js">
305
- <metrics statements="83" coveredstatements="20" conditionals="41" coveredconditionals="4" methods="10" coveredmethods="2"/>
306
- <line num="2" count="1" type="stmt"/>
307
- <line num="3" count="1" type="stmt"/>
308
- <line num="4" count="1" type="stmt"/>
309
- <line num="5" count="1" type="stmt"/>
310
- <line num="6" count="1" type="stmt"/>
311
- <line num="7" count="1" type="stmt"/>
312
- <line num="8" count="1" type="stmt"/>
313
- <line num="10" count="10" type="stmt"/>
314
- <line num="11" count="10" type="stmt"/>
315
- <line num="12" count="10" type="stmt"/>
316
- <line num="13" count="20" type="stmt"/>
317
- <line num="14" count="20" type="cond" truecount="2" falsecount="0"/>
318
- <line num="15" count="12" type="stmt"/>
319
- <line num="18" count="8" type="stmt"/>
320
- <line num="23" count="3" type="stmt"/>
321
- <line num="24" count="3" type="cond" truecount="2" falsecount="0"/>
322
- <line num="25" count="1" type="stmt"/>
323
- <line num="27" count="2" type="stmt"/>
324
- <line num="28" count="2" type="stmt"/>
325
- <line num="29" count="2" type="stmt"/>
326
- <line num="32" count="0" type="cond" truecount="0" falsecount="2"/>
327
- <line num="33" count="0" type="stmt"/>
328
- <line num="35" count="0" type="cond" truecount="0" falsecount="2"/>
329
- <line num="36" count="0" type="stmt"/>
330
- <line num="39" count="0" type="cond" truecount="0" falsecount="5"/>
331
- <line num="40" count="0" type="stmt"/>
332
- <line num="41" count="0" type="stmt"/>
333
- <line num="44" count="0" type="stmt"/>
334
- <line num="46" count="0" type="stmt"/>
335
- <line num="52" count="0" type="stmt"/>
336
- <line num="54" count="0" type="stmt"/>
337
- <line num="56" count="0" type="cond" truecount="0" falsecount="2"/>
338
- <line num="57" count="0" type="stmt"/>
339
- <line num="58" count="0" type="stmt"/>
340
- <line num="61" count="0" type="stmt"/>
341
- <line num="62" count="0" type="cond" truecount="0" falsecount="2"/>
342
- <line num="63" count="0" type="stmt"/>
343
- <line num="69" count="0" type="cond" truecount="0" falsecount="2"/>
344
- <line num="70" count="0" type="stmt"/>
345
- <line num="73" count="0" type="cond" truecount="0" falsecount="2"/>
346
- <line num="74" count="0" type="stmt"/>
347
- <line num="77" count="0" type="stmt"/>
348
- <line num="80" count="0" type="cond" truecount="0" falsecount="2"/>
349
- <line num="81" count="0" type="stmt"/>
350
- <line num="83" count="0" type="cond" truecount="0" falsecount="2"/>
351
- <line num="84" count="0" type="stmt"/>
352
- <line num="86" count="0" type="cond" truecount="0" falsecount="2"/>
353
- <line num="87" count="0" type="stmt"/>
354
- <line num="90" count="0" type="stmt"/>
355
- <line num="92" count="0" type="stmt"/>
356
- <line num="93" count="0" type="stmt"/>
357
- <line num="95" count="0" type="stmt"/>
358
- <line num="96" count="0" type="stmt"/>
359
- <line num="97" count="0" type="stmt"/>
360
- <line num="98" count="0" type="stmt"/>
361
- <line num="99" count="0" type="stmt"/>
362
- <line num="101" count="0" type="cond" truecount="0" falsecount="2"/>
363
- <line num="102" count="0" type="stmt"/>
364
- <line num="104" count="0" type="cond" truecount="0" falsecount="2"/>
365
- <line num="105" count="0" type="stmt"/>
366
- <line num="108" count="0" type="stmt"/>
367
- <line num="110" count="0" type="stmt"/>
368
- <line num="111" count="0" type="stmt"/>
369
- <line num="113" count="0" type="stmt"/>
370
- <line num="119" count="0" type="stmt"/>
371
- <line num="121" count="0" type="stmt"/>
372
- <line num="122" count="0" type="stmt"/>
373
- <line num="123" count="0" type="stmt"/>
374
- <line num="126" count="0" type="cond" truecount="0" falsecount="2"/>
375
- <line num="127" count="0" type="stmt"/>
376
- <line num="129" count="0" type="stmt"/>
377
- <line num="132" count="0" type="cond" truecount="0" falsecount="2"/>
378
- <line num="133" count="0" type="stmt"/>
379
- <line num="134" count="0" type="cond" truecount="0" falsecount="2"/>
380
- <line num="135" count="0" type="stmt"/>
381
- <line num="137" count="0" type="stmt"/>
382
- <line num="138" count="0" type="stmt"/>
383
- <line num="139" count="0" type="stmt"/>
384
- <line num="140" count="0" type="stmt"/>
385
- <line num="141" count="0" type="stmt"/>
386
- <line num="142" count="0" type="cond" truecount="0" falsecount="2"/>
387
- <line num="143" count="0" type="stmt"/>
388
- <line num="145" count="0" type="stmt"/>
389
- </file>
390
- </package>
391
- <package name="lib.tester">
392
- <metrics statements="43" coveredstatements="40" conditionals="50" coveredconditionals="47" methods="2" coveredmethods="2"/>
393
- <file name="helpers.js" path="/home/runner/work/featurevisor/featurevisor/packages/core/lib/tester/helpers.js">
394
- <metrics statements="43" coveredstatements="40" conditionals="50" coveredconditionals="47" methods="2" coveredmethods="2"/>
395
- <line num="2" count="1" type="stmt"/>
396
- <line num="3" count="1" type="stmt"/>
397
- <line num="4" count="1" type="stmt"/>
398
- <line num="6" count="23" type="cond" truecount="1" falsecount="1"/>
399
- <line num="7" count="0" type="stmt"/>
400
- <line num="9" count="23" type="cond" truecount="5" falsecount="1"/>
401
- <line num="10" count="0" type="stmt"/>
402
- <line num="12" count="23" type="stmt"/>
403
- <line num="13" count="23" type="stmt"/>
404
- <line num="14" count="23" type="cond" truecount="2" falsecount="0"/>
405
- <line num="15" count="3" type="stmt"/>
406
- <line num="17" count="20" type="stmt"/>
407
- <line num="18" count="24" type="cond" truecount="2" falsecount="0"/>
408
- <line num="19" count="1" type="stmt"/>
409
- <line num="21" count="23" type="stmt"/>
410
- <line num="22" count="23" type="stmt"/>
411
- <line num="23" count="23" type="cond" truecount="4" falsecount="0"/>
412
- <line num="24" count="4" type="cond" truecount="2" falsecount="0"/>
413
- <line num="25" count="1" type="stmt"/>
414
- <line num="28" count="19" type="cond" truecount="4" falsecount="0"/>
415
- <line num="29" count="4" type="cond" truecount="2" falsecount="0"/>
416
- <line num="30" count="2" type="stmt"/>
417
- <line num="33" count="15" type="cond" truecount="2" falsecount="0"/>
418
- <line num="34" count="4" type="stmt"/>
419
- <line num="37" count="12" type="stmt"/>
420
- <line num="40" count="29" type="cond" truecount="1" falsecount="1"/>
421
- <line num="41" count="0" type="stmt"/>
422
- <line num="43" count="29" type="cond" truecount="4" falsecount="0"/>
423
- <line num="44" count="3" type="stmt"/>
424
- <line num="46" count="26" type="cond" truecount="2" falsecount="0"/>
425
- <line num="47" count="3" type="stmt"/>
426
- <line num="49" count="23" type="stmt"/>
427
- <line num="50" count="44" type="stmt"/>
428
- <line num="51" count="44" type="stmt"/>
429
- <line num="52" count="44" type="cond" truecount="4" falsecount="0"/>
430
- <line num="53" count="4" type="cond" truecount="2" falsecount="0"/>
431
- <line num="54" count="1" type="stmt"/>
432
- <line num="57" count="40" type="cond" truecount="6" falsecount="0"/>
433
- <line num="61" count="6" type="cond" truecount="2" falsecount="0"/>
434
- <line num="62" count="2" type="stmt"/>
435
- <line num="65" count="34" type="cond" truecount="2" falsecount="0"/>
436
- <line num="66" count="6" type="stmt"/>
437
- <line num="69" count="14" type="stmt"/>
438
- </file>
439
- </package>
440
- <package name="src.builder">
2
+ <coverage generated="1770569303624" clover="3.2.0">
3
+ <project timestamp="1770569303624" name="All files">
4
+ <metrics statements="497" coveredstatements="416" conditionals="232" coveredconditionals="179" methods="70" coveredmethods="62" elements="799" coveredelements="657" complexity="0" loc="497" ncloc="497" packages="4" files="10" classes="10"/>
5
+ <package name="builder">
441
6
  <metrics statements="276" coveredstatements="268" conditionals="104" coveredconditionals="95" methods="46" coveredmethods="46"/>
442
7
  <file name="allocator.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/allocator.ts">
443
8
  <metrics statements="27" coveredstatements="27" conditionals="6" coveredconditionals="6" methods="2" coveredmethods="2"/>
@@ -734,10 +299,10 @@
734
299
  <line num="190" count="13" type="stmt"/>
735
300
  </file>
736
301
  </package>
737
- <package name="src.list">
738
- <metrics statements="82" coveredstatements="19" conditionals="29" coveredconditionals="3" methods="10" coveredmethods="2"/>
302
+ <package name="list">
303
+ <metrics statements="84" coveredstatements="19" conditionals="30" coveredconditionals="3" methods="10" coveredmethods="2"/>
739
304
  <file name="matrix.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/list/matrix.ts">
740
- <metrics statements="82" coveredstatements="19" conditionals="29" coveredconditionals="3" methods="10" coveredmethods="2"/>
305
+ <metrics statements="84" coveredstatements="19" conditionals="30" coveredconditionals="3" methods="10" coveredmethods="2"/>
741
306
  <line num="10" count="10" type="stmt"/>
742
307
  <line num="11" count="10" type="stmt"/>
743
308
  <line num="13" count="10" type="stmt"/>
@@ -775,54 +340,160 @@
775
340
  <line num="93" count="0" type="stmt"/>
776
341
  <line num="100" count="0" type="cond" truecount="0" falsecount="1"/>
777
342
  <line num="101" count="0" type="stmt"/>
343
+ <line num="105" count="0" type="cond" truecount="0" falsecount="1"/>
778
344
  <line num="106" count="0" type="stmt"/>
779
- <line num="109" count="1" type="stmt"/>
780
- <line num="113" count="0" type="cond" truecount="0" falsecount="1"/>
781
- <line num="114" count="0" type="stmt"/>
782
- <line num="118" count="0" type="cond" truecount="0" falsecount="1"/>
783
- <line num="119" count="0" type="stmt"/>
784
- <line num="122" count="0" type="cond" truecount="0" falsecount="2"/>
785
- <line num="123" count="0" type="stmt"/>
786
- <line num="125" count="0" type="stmt"/>
345
+ <line num="109" count="0" type="stmt"/>
346
+ <line num="112" count="1" type="stmt"/>
347
+ <line num="116" count="0" type="cond" truecount="0" falsecount="1"/>
348
+ <line num="117" count="0" type="stmt"/>
349
+ <line num="121" count="0" type="cond" truecount="0" falsecount="1"/>
350
+ <line num="122" count="0" type="stmt"/>
351
+ <line num="125" count="0" type="cond" truecount="0" falsecount="2"/>
352
+ <line num="126" count="0" type="stmt"/>
787
353
  <line num="128" count="0" type="stmt"/>
788
- <line num="130" count="0" type="stmt"/>
354
+ <line num="131" count="0" type="stmt"/>
789
355
  <line num="133" count="0" type="stmt"/>
790
- <line num="134" count="0" type="stmt"/>
791
356
  <line num="136" count="0" type="stmt"/>
792
357
  <line num="137" count="0" type="stmt"/>
793
- <line num="138" count="0" type="stmt"/>
794
- <line num="142" count="0" type="cond" truecount="0" falsecount="1"/>
795
- <line num="143" count="0" type="stmt"/>
796
- <line num="146" count="0" type="cond" truecount="0" falsecount="2"/>
797
- <line num="147" count="0" type="stmt"/>
798
- <line num="149" count="0" type="stmt"/>
358
+ <line num="139" count="0" type="stmt"/>
359
+ <line num="140" count="0" type="stmt"/>
360
+ <line num="141" count="0" type="stmt"/>
361
+ <line num="145" count="0" type="cond" truecount="0" falsecount="1"/>
362
+ <line num="146" count="0" type="stmt"/>
363
+ <line num="149" count="0" type="cond" truecount="0" falsecount="2"/>
364
+ <line num="150" count="0" type="stmt"/>
799
365
  <line num="152" count="0" type="stmt"/>
800
- <line num="154" count="0" type="stmt"/>
366
+ <line num="155" count="0" type="stmt"/>
801
367
  <line num="157" count="0" type="stmt"/>
802
- <line num="163" count="1" type="stmt"/>
803
- <line num="167" count="0" type="stmt"/>
368
+ <line num="160" count="0" type="stmt"/>
369
+ <line num="166" count="1" type="stmt"/>
804
370
  <line num="170" count="0" type="stmt"/>
805
- <line num="171" count="0" type="stmt"/>
806
371
  <line num="173" count="0" type="stmt"/>
807
- <line num="177" count="0" type="cond" truecount="0" falsecount="1"/>
808
- <line num="178" count="0" type="stmt"/>
809
- <line num="184" count="0" type="stmt"/>
810
- <line num="187" count="1" type="stmt"/>
811
- <line num="191" count="0" type="cond" truecount="0" falsecount="1"/>
812
- <line num="192" count="0" type="stmt"/>
813
- <line num="193" count="0" type="stmt"/>
814
- <line num="197" count="0" type="stmt"/>
372
+ <line num="174" count="0" type="stmt"/>
373
+ <line num="176" count="0" type="stmt"/>
374
+ <line num="180" count="0" type="cond" truecount="0" falsecount="1"/>
375
+ <line num="181" count="0" type="stmt"/>
376
+ <line num="187" count="0" type="stmt"/>
377
+ <line num="190" count="1" type="stmt"/>
378
+ <line num="194" count="0" type="cond" truecount="0" falsecount="1"/>
379
+ <line num="195" count="0" type="stmt"/>
380
+ <line num="196" count="0" type="stmt"/>
815
381
  <line num="200" count="0" type="stmt"/>
816
- <line num="201" count="0" type="stmt"/>
817
382
  <line num="203" count="0" type="stmt"/>
818
383
  <line num="204" count="0" type="stmt"/>
819
- <line num="205" count="0" type="stmt"/>
820
384
  <line num="206" count="0" type="stmt"/>
821
- <line num="210" count="0" type="stmt"/>
385
+ <line num="207" count="0" type="stmt"/>
386
+ <line num="208" count="0" type="stmt"/>
387
+ <line num="209" count="0" type="stmt"/>
822
388
  <line num="213" count="0" type="stmt"/>
389
+ <line num="216" count="0" type="stmt"/>
390
+ </file>
391
+ </package>
392
+ <package name="parsers">
393
+ <metrics statements="95" coveredstatements="90" conditionals="61" coveredconditionals="47" methods="12" coveredmethods="12"/>
394
+ <file name="json.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/parsers/json.ts">
395
+ <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="2" coveredmethods="2"/>
396
+ <line num="3" count="1" type="stmt"/>
397
+ <line num="6" count="3" type="stmt"/>
398
+ <line num="9" count="2" type="stmt"/>
399
+ </file>
400
+ <file name="yml.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/parsers/yml.ts">
401
+ <metrics statements="92" coveredstatements="87" conditionals="61" coveredconditionals="47" methods="10" coveredmethods="10"/>
402
+ <line num="1" count="1" type="stmt"/>
403
+ <line num="3" count="1" type="stmt"/>
404
+ <line num="5" count="1" type="stmt"/>
405
+ <line num="10" count="8" type="cond" truecount="0" falsecount="1"/>
406
+ <line num="11" count="8" type="cond" truecount="1" falsecount="0"/>
407
+ <line num="12" count="8" type="stmt"/>
408
+ <line num="14" count="0" type="cond" truecount="0" falsecount="2"/>
409
+ <line num="18" count="5" type="cond" truecount="0" falsecount="1"/>
410
+ <line num="19" count="5" type="cond" truecount="1" falsecount="0"/>
411
+ <line num="20" count="5" type="stmt"/>
412
+ <line num="23" count="5" type="stmt"/>
413
+ <line num="24" count="5" type="cond" truecount="5" falsecount="0"/>
414
+ <line num="25" count="5" type="stmt"/>
415
+ <line num="26" count="5" type="cond" truecount="1" falsecount="0"/>
416
+ <line num="27" count="5" type="cond" truecount="0" falsecount="1"/>
417
+ <line num="32" count="1" type="cond" truecount="3" falsecount="0"/>
418
+ <line num="36" count="1" type="cond" truecount="3" falsecount="0"/>
419
+ <line num="40" count="3" type="cond" truecount="0" falsecount="1"/>
420
+ <line num="41" count="3" type="stmt"/>
421
+ <line num="42" count="3" type="cond" truecount="1" falsecount="0"/>
422
+ <line num="43" count="0" type="cond" truecount="0" falsecount="1"/>
423
+ <line num="44" count="0" type="stmt"/>
424
+ <line num="48" count="3" type="stmt"/>
425
+ <line num="56" count="10" type="cond" truecount="3" falsecount="0"/>
426
+ <line num="57" count="8" type="stmt"/>
427
+ <line num="58" count="8" type="stmt"/>
428
+ <line num="59" count="8" type="cond" truecount="1" falsecount="0"/>
429
+ <line num="60" count="5" type="cond" truecount="1" falsecount="0"/>
430
+ <line num="61" count="5" type="cond" truecount="0" falsecount="1"/>
431
+ <line num="63" count="8" type="stmt"/>
432
+ <line num="65" count="2" type="cond" truecount="1" falsecount="0"/>
433
+ <line num="66" count="1" type="cond" truecount="1" falsecount="1"/>
434
+ <line num="67" count="1" type="stmt"/>
435
+ <line num="68" count="1" type="cond" truecount="3" falsecount="0"/>
436
+ <line num="69" count="1" type="stmt"/>
437
+ <line num="70" count="3" type="stmt"/>
438
+ <line num="73" count="1" type="stmt"/>
439
+ <line num="74" count="1" type="stmt"/>
440
+ <line num="75" count="3" type="stmt"/>
441
+ <line num="76" count="3" type="stmt"/>
442
+ <line num="77" count="3" type="stmt"/>
443
+ <line num="79" count="1" type="stmt"/>
444
+ <line num="82" count="1" type="cond" truecount="1" falsecount="1"/>
445
+ <line num="83" count="1" type="stmt"/>
446
+ <line num="84" count="1" type="cond" truecount="1" falsecount="0"/>
447
+ <line num="85" count="1" type="cond" truecount="1" falsecount="1"/>
448
+ <line num="86" count="2" type="stmt"/>
449
+ <line num="87" count="2" type="cond" truecount="1" falsecount="0"/>
450
+ <line num="90" count="1" type="stmt"/>
451
+ <line num="91" count="1" type="stmt"/>
452
+ <line num="92" count="1" type="stmt"/>
453
+ <line num="93" count="2" type="stmt"/>
454
+ <line num="94" count="2" type="cond" truecount="2" falsecount="0"/>
455
+ <line num="95" count="2" type="stmt"/>
456
+ <line num="96" count="2" type="stmt"/>
457
+ <line num="97" count="2" type="cond" truecount="1" falsecount="0"/>
458
+ <line num="98" count="2" type="stmt"/>
459
+ <line num="100" count="1" type="stmt"/>
460
+ <line num="101" count="1" type="stmt"/>
461
+ <line num="102" count="1" type="cond" truecount="3" falsecount="0"/>
462
+ <line num="103" count="1" type="cond" truecount="0" falsecount="1"/>
463
+ <line num="104" count="1" type="cond" truecount="0" falsecount="1"/>
464
+ <line num="106" count="1" type="stmt"/>
465
+ <line num="116" count="2" type="stmt"/>
466
+ <line num="117" count="2" type="cond" truecount="2" falsecount="1"/>
467
+ <line num="118" count="0" type="stmt"/>
468
+ <line num="119" count="0" type="stmt"/>
469
+ <line num="122" count="2" type="stmt"/>
470
+ <line num="123" count="2" type="stmt"/>
471
+ <line num="124" count="2" type="stmt"/>
472
+ <line num="125" count="6" type="stmt"/>
473
+ <line num="126" count="6" type="cond" truecount="1" falsecount="0"/>
474
+ <line num="129" count="2" type="stmt"/>
475
+ <line num="130" count="2" type="stmt"/>
476
+ <line num="131" count="5" type="stmt"/>
477
+ <line num="132" count="5" type="stmt"/>
478
+ <line num="133" count="5" type="stmt"/>
479
+ <line num="134" count="5" type="cond" truecount="1" falsecount="0"/>
480
+ <line num="135" count="5" type="stmt"/>
481
+ <line num="138" count="2" type="stmt"/>
482
+ <line num="141" count="1" type="stmt"/>
483
+ <line num="144" count="3" type="stmt"/>
484
+ <line num="147" count="7" type="cond" truecount="3" falsecount="0"/>
485
+ <line num="148" count="3" type="stmt"/>
486
+ <line num="151" count="4" type="stmt"/>
487
+ <line num="152" count="4" type="cond" truecount="1" falsecount="0"/>
488
+ <line num="153" count="1" type="stmt"/>
489
+ <line num="157" count="3" type="cond" truecount="4" falsecount="0"/>
490
+ <line num="158" count="1" type="stmt"/>
491
+ <line num="161" count="2" type="stmt"/>
492
+ <line num="165" count="2" type="stmt"/>
493
+ <line num="166" count="2" type="stmt"/>
823
494
  </file>
824
495
  </package>
825
- <package name="src.tester">
496
+ <package name="tester">
826
497
  <metrics statements="42" coveredstatements="39" conditionals="37" coveredconditionals="34" methods="2" coveredmethods="2"/>
827
498
  <file name="helpers.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/tester/helpers.ts">
828
499
  <metrics statements="42" coveredstatements="39" conditionals="37" coveredconditionals="34" methods="2" coveredmethods="2"/>