@featurevisor/core 2.20.0 → 2.22.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 (87) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/coverage/clover.xml +1286 -515
  3. package/coverage/coverage-final.json +17 -16
  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 +1 -1
  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 +42 -42
  20. package/coverage/lcov-report/datasource/adapter.ts.html +2 -2
  21. package/coverage/lcov-report/datasource/datasource.ts.html +43 -43
  22. package/coverage/lcov-report/datasource/filesystemAdapter.ts.html +48 -48
  23. package/coverage/lcov-report/datasource/index.html +19 -19
  24. package/coverage/lcov-report/datasource/index.ts.html +4 -4
  25. package/coverage/lcov-report/generate-code/index.html +116 -0
  26. package/coverage/lcov-report/generate-code/typescript.ts.html +3004 -0
  27. package/coverage/lcov-report/index.html +44 -29
  28. package/coverage/lcov-report/linter/attributeSchema.ts.html +1815 -30
  29. package/coverage/lcov-report/linter/checkCircularDependency.ts.html +1 -1
  30. package/coverage/lcov-report/linter/checkPercentageExceedingSlot.ts.html +1 -1
  31. package/coverage/lcov-report/linter/conditionSchema.ts.html +1606 -157
  32. package/coverage/lcov-report/linter/featureSchema.ts.html +56 -56
  33. package/coverage/lcov-report/linter/groupSchema.ts.html +1 -1
  34. package/coverage/lcov-report/linter/index.html +39 -39
  35. package/coverage/lcov-report/linter/lintProject.ts.html +189 -78
  36. package/coverage/lcov-report/linter/mutationNotation.ts.html +1 -1
  37. package/coverage/lcov-report/linter/printError.ts.html +1 -1
  38. package/coverage/lcov-report/linter/schema.ts.html +59 -59
  39. package/coverage/lcov-report/linter/segmentSchema.ts.html +3 -3
  40. package/coverage/lcov-report/linter/testSchema.ts.html +6 -6
  41. package/coverage/lcov-report/list/index.html +1 -1
  42. package/coverage/lcov-report/list/matrix.ts.html +1 -1
  43. package/coverage/lcov-report/parsers/index.html +1 -1
  44. package/coverage/lcov-report/parsers/index.ts.html +4 -4
  45. package/coverage/lcov-report/parsers/json.ts.html +2 -2
  46. package/coverage/lcov-report/parsers/yml.ts.html +6 -6
  47. package/coverage/lcov-report/tester/cliFormat.ts.html +1 -1
  48. package/coverage/lcov-report/tester/helpers.ts.html +1 -1
  49. package/coverage/lcov-report/tester/index.html +1 -1
  50. package/coverage/lcov-report/utils/extractKeys.ts.html +1 -1
  51. package/coverage/lcov-report/utils/git.ts.html +3 -3
  52. package/coverage/lcov-report/utils/index.html +1 -1
  53. package/coverage/lcov-report/utils/index.ts.html +1 -1
  54. package/coverage/lcov-report/utils/pretty.ts.html +1 -1
  55. package/coverage/lcov.info +2624 -926
  56. package/lib/generate-code/typescript.js +57 -29
  57. package/lib/generate-code/typescript.js.map +1 -1
  58. package/lib/generate-code/typescript.spec.d.ts +1 -0
  59. package/lib/generate-code/typescript.spec.js +78 -0
  60. package/lib/generate-code/typescript.spec.js.map +1 -0
  61. package/lib/linter/attributeSchema.d.ts +352 -20
  62. package/lib/linter/attributeSchema.js +426 -16
  63. package/lib/linter/attributeSchema.js.map +1 -1
  64. package/lib/linter/attributeSchema.spec.d.ts +1 -0
  65. package/lib/linter/attributeSchema.spec.js +266 -0
  66. package/lib/linter/attributeSchema.spec.js.map +1 -0
  67. package/lib/linter/conditionSchema.d.ts +2 -1
  68. package/lib/linter/conditionSchema.js +370 -100
  69. package/lib/linter/conditionSchema.js.map +1 -1
  70. package/lib/linter/conditionSchema.spec.js +200 -153
  71. package/lib/linter/conditionSchema.spec.js.map +1 -1
  72. package/lib/linter/featureSchema.spec.js +114 -3
  73. package/lib/linter/featureSchema.spec.js.map +1 -1
  74. package/lib/linter/lintProject.js +45 -14
  75. package/lib/linter/lintProject.js.map +1 -1
  76. package/lib/linter/segmentSchema.spec.js +71 -1
  77. package/lib/linter/segmentSchema.spec.js.map +1 -1
  78. package/package.json +5 -5
  79. package/src/generate-code/typescript.spec.ts +108 -0
  80. package/src/generate-code/typescript.ts +80 -34
  81. package/src/linter/attributeSchema.spec.ts +342 -0
  82. package/src/linter/attributeSchema.ts +613 -18
  83. package/src/linter/conditionSchema.spec.ts +231 -189
  84. package/src/linter/conditionSchema.ts +582 -99
  85. package/src/linter/featureSchema.spec.ts +129 -4
  86. package/src/linter/lintProject.ts +55 -18
  87. package/src/linter/segmentSchema.spec.ts +82 -1
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1772406493737" clover="3.2.0">
3
- <project timestamp="1772406493737" name="All files">
4
- <metrics statements="2761" coveredstatements="1940" conditionals="1759" coveredconditionals="1104" methods="401" coveredmethods="256" elements="4921" coveredelements="3300" complexity="0" loc="2761" ncloc="2761" packages="8" files="40" classes="40"/>
2
+ <coverage generated="1775680928415" clover="3.2.0">
3
+ <project timestamp="1775680928415" name="All files">
4
+ <metrics statements="3526" coveredstatements="2550" conditionals="2449" coveredconditionals="1613" methods="518" coveredmethods="357" elements="6493" coveredelements="4520" complexity="0" loc="3526" ncloc="3526" packages="9" files="41" classes="41"/>
5
5
  <package name="builder">
6
6
  <metrics statements="797" coveredstatements="601" conditionals="440" coveredconditionals="276" methods="101" coveredmethods="74"/>
7
7
  <file name="allocator.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/builder/allocator.ts">
@@ -846,49 +846,49 @@
846
846
  </file>
847
847
  <file name="projectConfig.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/config/projectConfig.ts">
848
848
  <metrics statements="57" coveredstatements="42" conditionals="17" coveredconditionals="8" methods="5" coveredmethods="2"/>
849
- <line num="1" count="4" type="stmt"/>
850
- <line num="5" count="4" type="stmt"/>
851
- <line num="6" count="4" type="stmt"/>
852
- <line num="10" count="4" type="stmt"/>
853
- <line num="11" count="4" type="stmt"/>
854
- <line num="12" count="4" type="stmt"/>
855
- <line num="13" count="4" type="stmt"/>
856
- <line num="14" count="4" type="stmt"/>
857
- <line num="15" count="4" type="stmt"/>
858
- <line num="16" count="4" type="stmt"/>
859
- <line num="17" count="4" type="stmt"/>
860
- <line num="18" count="4" type="stmt"/>
861
- <line num="19" count="4" type="stmt"/>
862
- <line num="20" count="4" type="stmt"/>
863
- <line num="21" count="4" type="stmt"/>
864
- <line num="23" count="4" type="stmt"/>
865
- <line num="24" count="4" type="stmt"/>
866
- <line num="26" count="4" type="stmt"/>
867
- <line num="27" count="4" type="stmt"/>
868
- <line num="28" count="4" type="stmt"/>
869
- <line num="30" count="4" type="stmt"/>
870
- <line num="31" count="4" type="stmt"/>
871
- <line num="33" count="4" type="stmt"/>
872
- <line num="35" count="4" type="stmt"/>
873
- <line num="81" count="4" type="stmt"/>
874
- <line num="82" count="12" type="stmt"/>
875
- <line num="119" count="12" type="stmt"/>
876
- <line num="120" count="12" type="stmt"/>
877
- <line num="122" count="12" type="stmt"/>
878
- <line num="124" count="12" type="stmt"/>
879
- <line num="125" count="336" type="stmt"/>
880
- <line num="128" count="336" type="cond" truecount="2" falsecount="1"/>
849
+ <line num="1" count="5" type="stmt"/>
850
+ <line num="5" count="5" type="stmt"/>
851
+ <line num="6" count="5" type="stmt"/>
852
+ <line num="10" count="5" type="stmt"/>
853
+ <line num="11" count="5" type="stmt"/>
854
+ <line num="12" count="5" type="stmt"/>
855
+ <line num="13" count="5" type="stmt"/>
856
+ <line num="14" count="5" type="stmt"/>
857
+ <line num="15" count="5" type="stmt"/>
858
+ <line num="16" count="5" type="stmt"/>
859
+ <line num="17" count="5" type="stmt"/>
860
+ <line num="18" count="5" type="stmt"/>
861
+ <line num="19" count="5" type="stmt"/>
862
+ <line num="20" count="5" type="stmt"/>
863
+ <line num="21" count="5" type="stmt"/>
864
+ <line num="23" count="5" type="stmt"/>
865
+ <line num="24" count="5" type="stmt"/>
866
+ <line num="26" count="5" type="stmt"/>
867
+ <line num="27" count="5" type="stmt"/>
868
+ <line num="28" count="5" type="stmt"/>
869
+ <line num="30" count="5" type="stmt"/>
870
+ <line num="31" count="5" type="stmt"/>
871
+ <line num="33" count="5" type="stmt"/>
872
+ <line num="35" count="5" type="stmt"/>
873
+ <line num="81" count="5" type="stmt"/>
874
+ <line num="82" count="13" type="stmt"/>
875
+ <line num="119" count="13" type="stmt"/>
876
+ <line num="120" count="13" type="stmt"/>
877
+ <line num="122" count="13" type="stmt"/>
878
+ <line num="124" count="13" type="stmt"/>
879
+ <line num="125" count="364" type="stmt"/>
880
+ <line num="128" count="364" type="cond" truecount="2" falsecount="1"/>
881
881
  <line num="129" count="0" type="stmt"/>
882
- <line num="133" count="12" type="stmt"/>
883
- <line num="135" count="12" type="cond" truecount="1" falsecount="0"/>
884
- <line num="136" count="12" type="stmt"/>
885
- <line num="137" count="12" type="cond" truecount="0" falsecount="1"/>
882
+ <line num="133" count="13" type="stmt"/>
883
+ <line num="135" count="13" type="cond" truecount="1" falsecount="0"/>
884
+ <line num="136" count="13" type="stmt"/>
885
+ <line num="137" count="13" type="cond" truecount="0" falsecount="1"/>
886
886
  <line num="138" count="0" type="stmt"/>
887
- <line num="141" count="12" type="stmt"/>
888
- <line num="144" count="12" type="cond" truecount="3" falsecount="0"/>
887
+ <line num="141" count="13" type="stmt"/>
888
+ <line num="144" count="13" type="cond" truecount="3" falsecount="0"/>
889
889
  <line num="145" count="1" type="stmt"/>
890
- <line num="150" count="11" type="stmt"/>
891
- <line num="158" count="4" type="stmt"/>
890
+ <line num="150" count="12" type="stmt"/>
891
+ <line num="158" count="5" type="stmt"/>
892
892
  <line num="162" count="0" type="cond" truecount="0" falsecount="1"/>
893
893
  <line num="163" count="0" type="stmt"/>
894
894
  <line num="167" count="0" type="stmt"/>
@@ -900,35 +900,35 @@
900
900
  <line num="177" count="0" type="cond" truecount="0" falsecount="1"/>
901
901
  <line num="178" count="0" type="stmt"/>
902
902
  <line num="181" count="0" type="stmt"/>
903
- <line num="185" count="4" type="stmt"/>
903
+ <line num="185" count="5" type="stmt"/>
904
904
  <line num="188" count="0" type="stmt"/>
905
905
  <line num="189" count="0" type="stmt"/>
906
906
  </file>
907
907
  </package>
908
908
  <package name="datasource">
909
- <metrics statements="319" coveredstatements="122" conditionals="121" coveredconditionals="33" methods="85" coveredmethods="34"/>
909
+ <metrics statements="319" coveredstatements="112" conditionals="121" coveredconditionals="31" methods="85" coveredmethods="33"/>
910
910
  <file name="adapter.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/adapter.ts">
911
911
  <metrics statements="3" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="2" coveredmethods="0"/>
912
- <line num="28" count="4" type="stmt"/>
912
+ <line num="28" count="5" type="stmt"/>
913
913
  <line num="61" count="0" type="stmt"/>
914
914
  <line num="69" count="0" type="stmt"/>
915
915
  </file>
916
916
  <file name="datasource.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/datasource.ts">
917
- <metrics statements="67" coveredstatements="29" conditionals="9" coveredconditionals="2" methods="44" coveredmethods="17"/>
918
- <line num="28" count="2" type="stmt"/>
919
- <line num="32" count="10" type="stmt"/>
920
- <line num="33" count="10" type="stmt"/>
921
- <line num="35" count="10" type="stmt"/>
922
- <line num="40" count="252" type="stmt"/>
917
+ <metrics statements="67" coveredstatements="19" conditionals="9" coveredconditionals="0" methods="44" coveredmethods="16"/>
918
+ <line num="28" count="3" type="stmt"/>
919
+ <line num="32" count="11" type="stmt"/>
920
+ <line num="33" count="11" type="stmt"/>
921
+ <line num="35" count="11" type="stmt"/>
922
+ <line num="40" count="304" type="stmt"/>
923
923
  <line num="47" count="0" type="stmt"/>
924
924
  <line num="51" count="0" type="stmt"/>
925
925
  <line num="58" count="0" type="stmt"/>
926
926
  <line num="62" count="0" type="stmt"/>
927
927
  <line num="69" count="0" type="stmt"/>
928
928
  <line num="73" count="0" type="stmt"/>
929
- <line num="82" count="6" type="stmt"/>
929
+ <line num="82" count="7" type="stmt"/>
930
930
  <line num="86" count="2" type="stmt"/>
931
- <line num="90" count="62" type="stmt"/>
931
+ <line num="90" count="93" type="stmt"/>
932
932
  <line num="94" count="0" type="stmt"/>
933
933
  <line num="98" count="0" type="stmt"/>
934
934
  <line num="102" count="0" type="stmt"/>
@@ -947,22 +947,22 @@
947
947
  <line num="139" count="0" type="stmt"/>
948
948
  <line num="144" count="6" type="stmt"/>
949
949
  <line num="148" count="0" type="stmt"/>
950
- <line num="152" count="32" type="stmt"/>
950
+ <line num="152" count="44" type="stmt"/>
951
951
  <line num="156" count="0" type="stmt"/>
952
952
  <line num="160" count="0" type="stmt"/>
953
- <line num="165" count="12" type="stmt"/>
954
- <line num="169" count="6" type="stmt"/>
955
- <line num="170" count="6" type="stmt"/>
956
- <line num="172" count="6" type="stmt"/>
957
- <line num="173" count="45" type="stmt"/>
958
- <line num="175" count="45" type="stmt"/>
959
- <line num="177" count="45" type="cond" truecount="1" falsecount="0"/>
960
- <line num="179" count="4" type="cond" truecount="1" falsecount="1"/>
961
- <line num="180" count="4" type="stmt"/>
962
- <line num="181" count="8" type="stmt"/>
963
- <line num="186" count="6" type="stmt"/>
953
+ <line num="165" count="7" type="stmt"/>
954
+ <line num="169" count="0" type="stmt"/>
955
+ <line num="170" count="0" type="stmt"/>
956
+ <line num="172" count="0" type="stmt"/>
957
+ <line num="173" count="0" type="stmt"/>
958
+ <line num="175" count="0" type="stmt"/>
959
+ <line num="177" count="0" type="cond" truecount="0" falsecount="1"/>
960
+ <line num="179" count="0" type="cond" truecount="0" falsecount="2"/>
961
+ <line num="180" count="0" type="stmt"/>
962
+ <line num="181" count="0" type="stmt"/>
963
+ <line num="186" count="0" type="stmt"/>
964
964
  <line num="190" count="0" type="stmt"/>
965
- <line num="194" count="79" type="stmt"/>
965
+ <line num="194" count="86" type="stmt"/>
966
966
  <line num="198" count="0" type="stmt"/>
967
967
  <line num="202" count="0" type="stmt"/>
968
968
  <line num="207" count="6" type="stmt"/>
@@ -970,13 +970,13 @@
970
970
  <line num="215" count="2" type="stmt"/>
971
971
  <line num="219" count="0" type="stmt"/>
972
972
  <line num="223" count="0" type="stmt"/>
973
- <line num="228" count="6" type="stmt"/>
973
+ <line num="228" count="7" type="stmt"/>
974
974
  <line num="232" count="0" type="stmt"/>
975
- <line num="236" count="120" type="stmt"/>
975
+ <line num="236" count="140" type="stmt"/>
976
976
  <line num="240" count="0" type="stmt"/>
977
977
  <line num="244" count="0" type="stmt"/>
978
978
  <line num="249" count="6" type="stmt"/>
979
- <line num="253" count="88" type="stmt"/>
979
+ <line num="253" count="106" type="stmt"/>
980
980
  <line num="257" count="0" type="stmt"/>
981
981
  <line num="261" count="0" type="stmt"/>
982
982
  <line num="265" count="0" type="stmt"/>
@@ -985,53 +985,53 @@
985
985
  </file>
986
986
  <file name="filesystemAdapter.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/filesystemAdapter.ts">
987
987
  <metrics statements="246" coveredstatements="89" conditionals="112" coveredconditionals="31" methods="39" coveredmethods="17"/>
988
- <line num="1" count="4" type="stmt"/>
989
- <line num="2" count="4" type="stmt"/>
990
- <line num="3" count="4" type="stmt"/>
991
- <line num="20" count="4" type="stmt"/>
992
- <line num="23" count="4" type="stmt"/>
993
- <line num="25" count="4" type="stmt"/>
988
+ <line num="1" count="5" type="stmt"/>
989
+ <line num="2" count="5" type="stmt"/>
990
+ <line num="3" count="5" type="stmt"/>
991
+ <line num="20" count="5" type="stmt"/>
992
+ <line num="23" count="5" type="stmt"/>
993
+ <line num="25" count="5" type="stmt"/>
994
994
  <line num="31" count="4" type="stmt"/>
995
995
  <line num="32" count="4" type="stmt"/>
996
996
  <line num="33" count="4" type="stmt"/>
997
- <line num="37" count="4" type="stmt"/>
997
+ <line num="37" count="5" type="stmt"/>
998
998
  <line num="41" count="0" type="cond" truecount="0" falsecount="2"/>
999
999
  <line num="43" count="0" type="stmt"/>
1000
- <line num="46" count="4" type="stmt"/>
1000
+ <line num="46" count="5" type="stmt"/>
1001
1001
  <line num="47" count="0" type="stmt"/>
1002
- <line num="50" count="4" type="stmt"/>
1003
- <line num="51" count="66" type="stmt"/>
1004
- <line num="53" count="66" type="cond" truecount="1" falsecount="0"/>
1005
- <line num="54" count="12" type="stmt"/>
1002
+ <line num="50" count="5" type="stmt"/>
1003
+ <line num="51" count="64" type="stmt"/>
1004
+ <line num="53" count="64" type="cond" truecount="1" falsecount="0"/>
1005
+ <line num="54" count="10" type="stmt"/>
1006
1006
  <line num="57" count="54" type="stmt"/>
1007
1007
  <line num="59" count="54" type="stmt"/>
1008
- <line num="60" count="481" type="stmt"/>
1009
- <line num="61" count="481" type="stmt"/>
1010
- <line num="63" count="481" type="cond" truecount="2" falsecount="0"/>
1011
- <line num="64" count="24" type="stmt"/>
1012
- <line num="65" count="457" type="cond" truecount="1" falsecount="0"/>
1013
- <line num="66" count="457" type="stmt"/>
1008
+ <line num="60" count="581" type="stmt"/>
1009
+ <line num="61" count="581" type="stmt"/>
1010
+ <line num="63" count="581" type="cond" truecount="2" falsecount="0"/>
1011
+ <line num="64" count="25" type="stmt"/>
1012
+ <line num="65" count="556" type="cond" truecount="1" falsecount="0"/>
1013
+ <line num="66" count="556" type="stmt"/>
1014
1014
  <line num="70" count="54" type="stmt"/>
1015
1015
  <line num="74" count="0" type="stmt"/>
1016
- <line num="79" count="4" type="stmt"/>
1017
- <line num="83" count="10" type="stmt"/>
1018
- <line num="84" count="10" type="stmt"/>
1019
- <line num="86" count="10" type="stmt"/>
1020
- <line num="88" count="10" type="stmt"/>
1021
- <line num="92" count="427" type="cond" truecount="2" falsecount="0"/>
1022
- <line num="93" count="70" type="stmt"/>
1023
- <line num="94" count="357" type="cond" truecount="2" falsecount="0"/>
1016
+ <line num="79" count="5" type="stmt"/>
1017
+ <line num="83" count="11" type="stmt"/>
1018
+ <line num="84" count="11" type="stmt"/>
1019
+ <line num="86" count="11" type="stmt"/>
1020
+ <line num="88" count="11" type="stmt"/>
1021
+ <line num="92" count="512" type="cond" truecount="2" falsecount="0"/>
1022
+ <line num="93" count="102" type="stmt"/>
1023
+ <line num="94" count="410" type="cond" truecount="2" falsecount="0"/>
1024
1024
  <line num="95" count="8" type="stmt"/>
1025
- <line num="96" count="349" type="cond" truecount="2" falsecount="0"/>
1026
- <line num="97" count="38" type="stmt"/>
1027
- <line num="98" count="311" type="cond" truecount="2" falsecount="0"/>
1028
- <line num="99" count="126" type="stmt"/>
1029
- <line num="100" count="185" type="cond" truecount="1" falsecount="0"/>
1030
- <line num="101" count="94" type="stmt"/>
1031
- <line num="104" count="91" type="stmt"/>
1032
- <line num="108" count="385" type="stmt"/>
1033
- <line num="111" count="385" type="stmt"/>
1034
- <line num="113" count="385" type="stmt"/>
1025
+ <line num="96" count="402" type="cond" truecount="2" falsecount="0"/>
1026
+ <line num="97" count="50" type="stmt"/>
1027
+ <line num="98" count="352" type="cond" truecount="2" falsecount="0"/>
1028
+ <line num="99" count="147" type="stmt"/>
1029
+ <line num="100" count="205" type="cond" truecount="1" falsecount="0"/>
1030
+ <line num="101" count="112" type="stmt"/>
1031
+ <line num="104" count="93" type="stmt"/>
1032
+ <line num="108" count="473" type="stmt"/>
1033
+ <line num="111" count="473" type="stmt"/>
1034
+ <line num="113" count="473" type="stmt"/>
1035
1035
  <line num="117" count="10" type="stmt"/>
1036
1036
  <line num="119" count="10" type="stmt"/>
1037
1037
  <line num="130" count="6" type="cond" truecount="1" falsecount="0"/>
@@ -1046,16 +1046,16 @@
1046
1046
  <line num="157" count="7" type="cond" truecount="1" falsecount="0"/>
1047
1047
  <line num="158" count="1" type="stmt"/>
1048
1048
  <line num="164" count="6" type="stmt"/>
1049
- <line num="168" count="42" type="stmt"/>
1050
- <line num="169" count="42" type="stmt"/>
1051
- <line num="171" count="42" type="stmt"/>
1052
- <line num="174" count="457" type="stmt"/>
1053
- <line num="177" count="457" type="stmt"/>
1054
- <line num="180" count="457" type="stmt"/>
1055
- <line num="183" count="457" type="stmt"/>
1049
+ <line num="168" count="39" type="stmt"/>
1050
+ <line num="169" count="39" type="stmt"/>
1051
+ <line num="171" count="39" type="stmt"/>
1052
+ <line num="174" count="556" type="stmt"/>
1053
+ <line num="177" count="556" type="stmt"/>
1054
+ <line num="180" count="556" type="stmt"/>
1055
+ <line num="183" count="556" type="stmt"/>
1056
1056
  <line num="188" count="2" type="stmt"/>
1057
1057
  <line num="190" count="2" type="stmt"/>
1058
- <line num="194" count="383" type="cond" truecount="3" falsecount="0"/>
1058
+ <line num="194" count="471" type="cond" truecount="3" falsecount="0"/>
1059
1059
  <line num="195" count="6" type="stmt"/>
1060
1060
  <line num="196" count="6" type="stmt"/>
1061
1061
  <line num="197" count="6" type="stmt"/>
@@ -1075,9 +1075,9 @@
1075
1075
  <line num="224" count="1" type="stmt"/>
1076
1076
  <line num="228" count="2" type="stmt"/>
1077
1077
  <line num="235" count="2" type="stmt"/>
1078
- <line num="238" count="377" type="stmt"/>
1079
- <line num="239" count="377" type="stmt"/>
1080
- <line num="241" count="377" type="stmt"/>
1078
+ <line num="238" count="465" type="stmt"/>
1079
+ <line num="239" count="465" type="stmt"/>
1080
+ <line num="241" count="465" type="stmt"/>
1081
1081
  <line num="245" count="0" type="stmt"/>
1082
1082
  <line num="247" count="0" type="cond" truecount="0" falsecount="1"/>
1083
1083
  <line num="248" count="0" type="stmt"/>
@@ -1234,20 +1234,561 @@
1234
1234
  </file>
1235
1235
  <file name="index.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/datasource/index.ts">
1236
1236
  <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
1237
+ <line num="1" count="2" type="stmt"/>
1238
+ <line num="2" count="2" type="stmt"/>
1239
+ <line num="3" count="2" type="stmt"/>
1240
+ </file>
1241
+ </package>
1242
+ <package name="generate-code">
1243
+ <metrics statements="361" coveredstatements="325" conditionals="274" coveredconditionals="219" methods="45" coveredmethods="41"/>
1244
+ <file name="typescript.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/generate-code/typescript.ts">
1245
+ <metrics statements="361" coveredstatements="325" conditionals="274" coveredconditionals="219" methods="45" coveredmethods="41"/>
1237
1246
  <line num="1" count="1" type="stmt"/>
1238
1247
  <line num="2" count="1" type="stmt"/>
1239
- <line num="3" count="1" type="stmt"/>
1248
+ <line num="20" count="41" type="cond" truecount="4" falsecount="6"/>
1249
+ <line num="22" count="9" type="stmt"/>
1250
+ <line num="24" count="25" type="stmt"/>
1251
+ <line num="26" count="4" type="stmt"/>
1252
+ <line num="28" count="3" type="stmt"/>
1253
+ <line num="30" count="0" type="stmt"/>
1254
+ <line num="32" count="0" type="stmt"/>
1255
+ <line num="34" count="0" type="stmt"/>
1256
+ <line num="36" count="0" type="stmt"/>
1257
+ <line num="38" count="0" type="stmt"/>
1258
+ <line num="40" count="0" type="stmt"/>
1259
+ <line num="45" count="37" type="stmt"/>
1260
+ <line num="46" count="37" type="cond" truecount="2" falsecount="0"/>
1261
+ <line num="50" count="354" type="cond" truecount="2" falsecount="0"/>
1262
+ <line num="58" count="86" type="stmt"/>
1263
+ <line num="59" count="86" type="stmt"/>
1264
+ <line num="60" count="86" type="cond" truecount="3" falsecount="0"/>
1265
+ <line num="61" count="86" type="cond" truecount="2" falsecount="0"/>
1266
+ <line num="63" count="86" type="cond" truecount="2" falsecount="1"/>
1267
+ <line num="64" count="0" type="cond" truecount="0" falsecount="2"/>
1268
+ <line num="65" count="0" type="stmt"/>
1269
+ <line num="66" count="0" type="stmt"/>
1270
+ <line num="67" count="0" type="stmt"/>
1271
+ <line num="68" count="0" type="cond" truecount="0" falsecount="2"/>
1272
+ <line num="72" count="0" type="stmt"/>
1273
+ <line num="73" count="0" type="stmt"/>
1274
+ <line num="75" count="0" type="stmt"/>
1275
+ <line num="80" count="0" type="stmt"/>
1276
+ <line num="81" count="0" type="stmt"/>
1277
+ <line num="84" count="86" type="cond" truecount="1" falsecount="0"/>
1278
+ <line num="85" count="81" type="cond" truecount="2" falsecount="0"/>
1279
+ <line num="86" count="81" type="stmt"/>
1280
+ <line num="88" count="156" type="stmt"/>
1281
+ <line num="89" count="156" type="stmt"/>
1282
+ <line num="90" count="156" type="cond" truecount="2" falsecount="0"/>
1283
+ <line num="95" count="81" type="stmt"/>
1284
+ <line num="98" count="5" type="cond" truecount="1" falsecount="0"/>
1285
+ <line num="99" count="2" type="stmt"/>
1286
+ <line num="104" count="2" type="stmt"/>
1287
+ <line num="107" count="3" type="stmt"/>
1288
+ <line num="111" count="30" type="cond" truecount="1" falsecount="0"/>
1289
+ <line num="112" count="25" type="stmt"/>
1290
+ <line num="115" count="60" type="stmt"/>
1291
+ <line num="122" count="436" type="cond" truecount="1" falsecount="2"/>
1292
+ <line num="123" count="0" type="stmt"/>
1293
+ <line num="125" count="436" type="stmt"/>
1294
+ <line num="130" count="26" type="cond" truecount="2" falsecount="1"/>
1295
+ <line num="131" count="26" type="cond" truecount="1" falsecount="0"/>
1296
+ <line num="132" count="1" type="cond" truecount="1" falsecount="0"/>
1297
+ <line num="133" count="0" type="cond" truecount="0" falsecount="3"/>
1298
+ <line num="134" count="0" type="stmt"/>
1299
+ <line num="139" count="8" type="cond" truecount="0" falsecount="1"/>
1300
+ <line num="140" count="8" type="stmt"/>
1301
+ <line num="141" count="8" type="stmt"/>
1302
+ <line num="142" count="20" type="stmt"/>
1303
+ <line num="143" count="20" type="cond" truecount="0" falsecount="1"/>
1304
+ <line num="144" count="20" type="stmt"/>
1305
+ <line num="146" count="8" type="stmt"/>
1306
+ <line num="160" count="390" type="cond" truecount="3" falsecount="0"/>
1307
+ <line num="161" count="11" type="stmt"/>
1308
+ <line num="163" count="379" type="stmt"/>
1309
+ <line num="164" count="379" type="cond" truecount="4" falsecount="0"/>
1310
+ <line num="165" count="4" type="stmt"/>
1311
+ <line num="166" count="8" type="stmt"/>
1312
+ <line num="168" count="4" type="stmt"/>
1313
+ <line num="170" count="375" type="cond" truecount="2" falsecount="0"/>
1314
+ <line num="172" count="375" type="cond" truecount="5" falsecount="0"/>
1315
+ <line num="175" count="375" type="stmt"/>
1316
+ <line num="176" count="375" type="cond" truecount="0" falsecount="1"/>
1317
+ <line num="177" count="0" type="cond" truecount="0" falsecount="3"/>
1318
+ <line num="179" count="375" type="cond" truecount="7" falsecount="2"/>
1319
+ <line num="181" count="34" type="cond" truecount="3" falsecount="0"/>
1320
+ <line num="184" count="156" type="cond" truecount="3" falsecount="0"/>
1321
+ <line num="186" count="0" type="cond" truecount="0" falsecount="3"/>
1322
+ <line num="189" count="58" type="cond" truecount="3" falsecount="0"/>
1323
+ <line num="191" count="41" type="cond" truecount="1" falsecount="0"/>
1324
+ <line num="192" count="37" type="stmt"/>
1325
+ <line num="193" count="37" type="cond" truecount="2" falsecount="0"/>
1326
+ <line num="195" count="4" type="stmt"/>
1327
+ <line num="197" count="86" type="stmt"/>
1328
+ <line num="200" count="0" type="stmt"/>
1329
+ <line num="211" count="279" type="cond" truecount="3" falsecount="0"/>
1330
+ <line num="212" count="24" type="stmt"/>
1331
+ <line num="214" count="255" type="stmt"/>
1332
+ <line num="236" count="109" type="stmt"/>
1333
+ <line num="237" count="109" type="stmt"/>
1334
+ <line num="238" count="109" type="stmt"/>
1335
+ <line num="240" count="109" type="stmt"/>
1336
+ <line num="241" count="29" type="cond" truecount="3" falsecount="0"/>
1337
+ <line num="245" count="109" type="cond" truecount="1" falsecount="0"/>
1338
+ <line num="251" count="24" type="stmt"/>
1339
+ <line num="252" count="24" type="stmt"/>
1340
+ <line num="253" count="24" type="stmt"/>
1341
+ <line num="255" count="24" type="cond" truecount="4" falsecount="0"/>
1342
+ <line num="260" count="24" type="cond" truecount="4" falsecount="0"/>
1343
+ <line num="262" count="24" type="stmt"/>
1344
+ <line num="264" count="24" type="stmt"/>
1345
+ <line num="265" count="24" type="cond" truecount="3" falsecount="0"/>
1346
+ <line num="266" count="3" type="stmt"/>
1347
+ <line num="267" count="3" type="cond" truecount="5" falsecount="0"/>
1348
+ <line num="268" count="1" type="stmt"/>
1349
+ <line num="269" count="1" type="stmt"/>
1350
+ <line num="271" count="2" type="stmt"/>
1351
+ <line num="274" count="24" type="stmt"/>
1352
+ <line num="284" count="85" type="stmt"/>
1353
+ <line num="285" count="85" type="stmt"/>
1354
+ <line num="286" count="85" type="stmt"/>
1355
+ <line num="288" count="85" type="cond" truecount="1" falsecount="0"/>
1356
+ <line num="289" count="1" type="stmt"/>
1357
+ <line num="293" count="84" type="cond" truecount="5" falsecount="0"/>
1358
+ <line num="296" count="84" type="cond" truecount="4" falsecount="0"/>
1359
+ <line num="297" count="1" type="stmt"/>
1360
+ <line num="298" count="2" type="stmt"/>
1361
+ <line num="300" count="1" type="cond" truecount="1" falsecount="0"/>
1362
+ <line num="301" count="1" type="stmt"/>
1363
+ <line num="302" count="20" type="cond" truecount="0" falsecount="1"/>
1364
+ <line num="305" count="1" type="stmt"/>
1365
+ <line num="306" count="1" type="stmt"/>
1366
+ <line num="316" count="83" type="cond" truecount="1" falsecount="0"/>
1367
+ <line num="318" count="25" type="cond" truecount="5" falsecount="0"/>
1368
+ <line num="321" count="25" type="stmt"/>
1369
+ <line num="322" count="25" type="stmt"/>
1370
+ <line num="323" count="25" type="cond" truecount="1" falsecount="0"/>
1371
+ <line num="327" count="23" type="cond" truecount="2" falsecount="0"/>
1372
+ <line num="328" count="23" type="cond" truecount="2" falsecount="0"/>
1373
+ <line num="330" count="45" type="stmt"/>
1374
+ <line num="331" count="45" type="cond" truecount="1" falsecount="0"/>
1375
+ <line num="332" count="45" type="stmt"/>
1376
+ <line num="333" count="900" type="cond" truecount="1" falsecount="0"/>
1377
+ <line num="335" count="45" type="stmt"/>
1378
+ <line num="336" count="45" type="cond" truecount="2" falsecount="0"/>
1379
+ <line num="341" count="23" type="cond" truecount="3" falsecount="0"/>
1380
+ <line num="342" count="2" type="stmt"/>
1381
+ <line num="347" count="2" type="cond" truecount="1" falsecount="0"/>
1382
+ <line num="348" count="2" type="stmt"/>
1383
+ <line num="349" count="40" type="cond" truecount="1" falsecount="0"/>
1384
+ <line num="351" count="2" type="cond" truecount="2" falsecount="0"/>
1385
+ <line num="352" count="0" type="stmt"/>
1386
+ <line num="354" count="2" type="stmt"/>
1387
+ <line num="355" count="2" type="stmt"/>
1388
+ <line num="357" count="23" type="stmt"/>
1389
+ <line num="360" count="23" type="stmt"/>
1390
+ <line num="362" count="2" type="stmt"/>
1391
+ <line num="363" count="2" type="stmt"/>
1392
+ <line num="366" count="58" type="cond" truecount="1" falsecount="0"/>
1393
+ <line num="367" count="15" type="cond" truecount="4" falsecount="0"/>
1394
+ <line num="368" count="15" type="cond" truecount="1" falsecount="0"/>
1395
+ <line num="370" count="12" type="cond" truecount="6" falsecount="0"/>
1396
+ <line num="376" count="12" type="cond" truecount="1" falsecount="0"/>
1397
+ <line num="377" count="2" type="stmt"/>
1398
+ <line num="378" count="2" type="stmt"/>
1399
+ <line num="379" count="2" type="stmt"/>
1400
+ <line num="386" count="10" type="stmt"/>
1401
+ <line num="387" count="10" type="cond" truecount="1" falsecount="0"/>
1402
+ <line num="392" count="4" type="cond" truecount="2" falsecount="0"/>
1403
+ <line num="393" count="4" type="stmt"/>
1404
+ <line num="395" count="9" type="stmt"/>
1405
+ <line num="396" count="9" type="cond" truecount="1" falsecount="0"/>
1406
+ <line num="397" count="9" type="stmt"/>
1407
+ <line num="398" count="180" type="cond" truecount="0" falsecount="1"/>
1408
+ <line num="400" count="9" type="stmt"/>
1409
+ <line num="401" count="9" type="cond" truecount="1" falsecount="1"/>
1410
+ <line num="406" count="4" type="stmt"/>
1411
+ <line num="409" count="4" type="stmt"/>
1412
+ <line num="416" count="6" type="stmt"/>
1413
+ <line num="417" count="6" type="cond" truecount="1" falsecount="0"/>
1414
+ <line num="418" count="6" type="stmt"/>
1415
+ <line num="419" count="120" type="cond" truecount="0" falsecount="1"/>
1416
+ <line num="421" count="6" type="stmt"/>
1417
+ <line num="422" count="6" type="stmt"/>
1418
+ <line num="429" count="3" type="stmt"/>
1419
+ <line num="430" count="3" type="stmt"/>
1420
+ <line num="441" count="43" type="cond" truecount="5" falsecount="0"/>
1421
+ <line num="445" count="43" type="cond" truecount="5" falsecount="0"/>
1422
+ <line num="448" count="43" type="cond" truecount="2" falsecount="0"/>
1423
+ <line num="450" count="43" type="cond" truecount="4" falsecount="0"/>
1424
+ <line num="452" count="43" type="cond" truecount="4" falsecount="1"/>
1425
+ <line num="453" count="43" type="stmt"/>
1426
+ <line num="454" count="43" type="stmt"/>
1427
+ <line num="465" count="536" type="stmt"/>
1428
+ <line num="468" count="537" type="stmt"/>
1429
+ <line num="470" count="536" type="stmt"/>
1430
+ <line num="474" count="34" type="stmt"/>
1431
+ <line num="476" count="34" type="cond" truecount="0" falsecount="1"/>
1432
+ <line num="477" count="0" type="stmt"/>
1433
+ <line num="480" count="34" type="stmt"/>
1434
+ <line num="484" count="27" type="cond" truecount="3" falsecount="0"/>
1435
+ <line num="485" count="15" type="stmt"/>
1436
+ <line num="488" count="12" type="stmt"/>
1437
+ <line num="489" count="26" type="stmt"/>
1438
+ <line num="492" count="12" type="cond" truecount="1" falsecount="1"/>
1439
+ <line num="500" count="109" type="stmt"/>
1440
+ <line num="501" count="109" type="stmt"/>
1441
+ <line num="502" count="28" type="cond" truecount="3" falsecount="0"/>
1442
+ <line num="503" count="28" type="stmt"/>
1443
+ <line num="507" count="109" type="cond" truecount="1" falsecount="0"/>
1444
+ <line num="513" count="24" type="stmt"/>
1445
+ <line num="514" count="24" type="stmt"/>
1446
+ <line num="515" count="24" type="stmt"/>
1447
+ <line num="518" count="85" type="stmt"/>
1448
+ <line num="519" count="85" type="cond" truecount="0" falsecount="1"/>
1449
+ <line num="520" count="0" type="stmt"/>
1450
+ <line num="523" count="85" type="cond" truecount="3" falsecount="0"/>
1451
+ <line num="524" count="1" type="stmt"/>
1452
+ <line num="527" count="84" type="stmt"/>
1453
+ <line num="529" count="84" type="cond" truecount="1" falsecount="0"/>
1454
+ <line num="530" count="84" type="stmt"/>
1455
+ <line num="531" count="1680" type="cond" truecount="1" falsecount="0"/>
1456
+ <line num="532" count="4" type="stmt"/>
1457
+ <line num="537" count="84" type="stmt"/>
1458
+ <line num="547" count="1" type="stmt"/>
1459
+ <line num="548" count="1" type="stmt"/>
1460
+ <line num="549" count="20" type="stmt"/>
1461
+ <line num="551" count="1" type="stmt"/>
1462
+ <line num="552" count="1" type="stmt"/>
1463
+ <line num="553" count="20" type="stmt"/>
1464
+ <line num="554" count="20" type="cond" truecount="0" falsecount="1"/>
1465
+ <line num="555" count="20" type="stmt"/>
1466
+ <line num="556" count="20" type="stmt"/>
1467
+ <line num="557" count="20" type="stmt"/>
1468
+ <line num="559" count="1" type="stmt"/>
1469
+ <line num="566" count="1" type="stmt"/>
1470
+ <line num="568" count="1" type="stmt"/>
1471
+ <line num="569" count="17" type="stmt"/>
1472
+ <line num="570" count="340" type="cond" truecount="0" falsecount="1"/>
1473
+ <line num="571" count="0" type="stmt"/>
1474
+ <line num="576" count="1" type="stmt"/>
1475
+ <line num="577" count="1" type="stmt"/>
1476
+ <line num="578" count="17" type="stmt"/>
1477
+ <line num="579" count="17" type="stmt"/>
1478
+ <line num="582" count="1" type="stmt"/>
1479
+ <line num="586" count="1" type="stmt"/>
1480
+ <line num="587" count="1" type="stmt"/>
1481
+ <line num="589" count="1" type="stmt"/>
1482
+ <line num="603" count="1" type="stmt"/>
1483
+ <line num="608" count="1" type="stmt"/>
1484
+ <line num="609" count="1" type="cond" truecount="1" falsecount="1"/>
1485
+ <line num="614" count="1" type="stmt"/>
1486
+ <line num="615" count="1" type="stmt"/>
1487
+ <line num="617" count="1" type="stmt"/>
1488
+ <line num="620" count="1" type="stmt"/>
1489
+ <line num="621" count="1" type="stmt"/>
1490
+ <line num="622" count="1" type="stmt"/>
1491
+ <line num="623" count="20" type="stmt"/>
1492
+ <line num="624" count="20" type="stmt"/>
1493
+ <line num="629" count="1" type="stmt"/>
1494
+ <line num="630" count="1" type="stmt"/>
1495
+ <line num="631" count="1" type="cond" truecount="1" falsecount="0"/>
1496
+ <line num="632" count="1" type="stmt"/>
1497
+ <line num="633" count="1" type="stmt"/>
1498
+ <line num="634" count="1" type="stmt"/>
1499
+ <line num="635" count="1" type="stmt"/>
1500
+ <line num="640" count="1" type="stmt"/>
1501
+ <line num="641" count="1" type="stmt"/>
1502
+ <line num="642" count="20" type="stmt"/>
1503
+ <line num="646" count="1" type="stmt"/>
1504
+ <line num="647" count="1" type="stmt"/>
1505
+ <line num="648" count="1" type="stmt"/>
1506
+ <line num="651" count="1" type="stmt"/>
1507
+ <line num="652" count="1" type="stmt"/>
1508
+ <line num="653" count="1" type="stmt"/>
1509
+ <line num="655" count="1" type="stmt"/>
1510
+ <line num="656" count="17" type="stmt"/>
1511
+ <line num="658" count="17" type="cond" truecount="0" falsecount="1"/>
1512
+ <line num="659" count="0" type="stmt"/>
1513
+ <line num="662" count="17" type="stmt"/>
1514
+ <line num="668" count="17" type="stmt"/>
1515
+ <line num="673" count="17" type="stmt"/>
1516
+ <line num="676" count="1" type="stmt"/>
1517
+ <line num="680" count="1" type="stmt"/>
1518
+ <line num="681" count="1" type="stmt"/>
1519
+ <line num="682" count="1" type="stmt"/>
1520
+ <line num="687" count="1" type="stmt"/>
1521
+ <line num="688" count="1" type="stmt"/>
1522
+ <line num="690" count="17" type="stmt"/>
1523
+ <line num="693" count="1" type="stmt"/>
1524
+ <line num="701" count="1" type="stmt"/>
1525
+ <line num="702" count="1" type="stmt"/>
1526
+ <line num="703" count="1" type="stmt"/>
1527
+ <line num="708" count="1" type="stmt"/>
1528
+ <line num="714" count="1" type="stmt"/>
1529
+ <line num="716" count="1" type="stmt"/>
1530
+ <line num="717" count="27" type="stmt"/>
1531
+ <line num="719" count="27" type="cond" truecount="2" falsecount="1"/>
1532
+ <line num="720" count="0" type="stmt"/>
1533
+ <line num="723" count="27" type="cond" truecount="0" falsecount="1"/>
1534
+ <line num="724" count="0" type="cond" truecount="0" falsecount="2"/>
1535
+ <line num="725" count="0" type="stmt"/>
1536
+ <line num="726" count="0" type="cond" truecount="0" falsecount="1"/>
1537
+ <line num="727" count="0" type="stmt"/>
1538
+ <line num="731" count="27" type="stmt"/>
1539
+ <line num="732" count="27" type="stmt"/>
1540
+ <line num="735" count="1" type="stmt"/>
1541
+ <line num="736" count="1" type="cond" truecount="1" falsecount="0"/>
1542
+ <line num="737" count="1" type="stmt"/>
1543
+ <line num="738" count="27" type="stmt"/>
1544
+ <line num="740" count="27" type="stmt"/>
1545
+ <line num="741" count="27" type="stmt"/>
1546
+ <line num="742" count="27" type="stmt"/>
1547
+ <line num="744" count="27" type="cond" truecount="1" falsecount="0"/>
1548
+ <line num="745" count="14" type="stmt"/>
1549
+ <line num="746" count="14" type="stmt"/>
1550
+ <line num="748" count="14" type="stmt"/>
1551
+ <line num="749" count="109" type="stmt"/>
1552
+ <line num="750" count="109" type="stmt"/>
1553
+ <line num="751" count="109" type="stmt"/>
1554
+ <line num="759" count="109" type="stmt"/>
1555
+ <line num="765" count="109" type="stmt"/>
1556
+ <line num="766" count="109" type="stmt"/>
1557
+ <line num="768" count="109" type="stmt"/>
1558
+ <line num="773" count="109" type="cond" truecount="3" falsecount="0"/>
1559
+ <line num="774" count="109" type="cond" truecount="2" falsecount="0"/>
1560
+ <line num="775" count="109" type="cond" truecount="2" falsecount="0"/>
1561
+ <line num="776" count="3" type="stmt"/>
1562
+ <line num="781" count="106" type="cond" truecount="2" falsecount="0"/>
1563
+ <line num="782" count="1" type="stmt"/>
1564
+ <line num="787" count="105" type="cond" truecount="2" falsecount="0"/>
1565
+ <line num="788" count="55" type="stmt"/>
1566
+ <line num="794" count="50" type="stmt"/>
1567
+ <line num="802" count="14" type="cond" truecount="1" falsecount="0"/>
1568
+ <line num="803" count="13" type="stmt"/>
1569
+ <line num="807" count="27" type="stmt"/>
1570
+ <line num="809" count="27" type="stmt"/>
1571
+ <line num="825" count="27" type="stmt"/>
1572
+ <line num="826" count="27" type="stmt"/>
1573
+ <line num="827" count="27" type="stmt"/>
1574
+ <line num="836" count="1" type="stmt"/>
1575
+ <line num="837" count="1" type="stmt"/>
1576
+ <line num="839" count="27" type="stmt"/>
1577
+ <line num="840" count="27" type="stmt"/>
1578
+ <line num="842" count="27" type="cond" truecount="1" falsecount="0"/>
1579
+ <line num="843" count="12" type="stmt"/>
1580
+ <line num="846" count="27" type="cond" truecount="1" falsecount="0"/>
1581
+ <line num="847" count="14" type="stmt"/>
1582
+ <line num="848" count="109" type="stmt"/>
1583
+ <line num="853" count="109" type="stmt"/>
1584
+ <line num="854" count="109" type="stmt"/>
1585
+ <line num="858" count="27" type="cond" truecount="1" falsecount="0"/>
1586
+ <line num="859" count="12" type="stmt"/>
1587
+ <line num="862" count="15" type="stmt"/>
1588
+ <line num="866" count="1" type="stmt"/>
1589
+ <line num="871" count="1" type="stmt"/>
1590
+ <line num="887" count="1" type="stmt"/>
1591
+ <line num="888" count="1" type="stmt"/>
1592
+ <line num="889" count="1" type="stmt"/>
1593
+ <line num="891" count="1" type="stmt"/>
1594
+ <line num="915" count="1" type="stmt"/>
1595
+ <line num="916" count="1" type="stmt"/>
1596
+ <line num="917" count="1" type="stmt"/>
1597
+ <line num="921" count="1" type="cond" truecount="0" falsecount="1"/>
1598
+ <line num="922" count="0" type="stmt"/>
1599
+ <line num="951" count="0" type="stmt"/>
1600
+ <line num="952" count="0" type="stmt"/>
1601
+ <line num="953" count="0" type="stmt"/>
1602
+ <line num="958" count="1" type="stmt"/>
1603
+ <line num="967" count="27" type="stmt"/>
1604
+ <line num="970" count="1" type="stmt"/>
1605
+ <line num="971" count="1" type="stmt"/>
1606
+ <line num="972" count="1" type="stmt"/>
1240
1607
  </file>
1241
1608
  </package>
1242
1609
  <package name="linter">
1243
- <metrics statements="1213" coveredstatements="972" conditionals="984" coveredconditionals="695" methods="162" coveredmethods="121"/>
1610
+ <metrics statements="1617" coveredstatements="1267" conditionals="1400" coveredconditionals="987" methods="234" coveredmethods="182"/>
1244
1611
  <file name="attributeSchema.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/attributeSchema.ts">
1245
- <metrics statements="5" coveredstatements="5" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
1246
- <line num="1" count="1" type="stmt"/>
1247
- <line num="3" count="1" type="stmt"/>
1248
- <line num="4" count="6" type="stmt"/>
1249
- <line num="20" count="6" type="stmt"/>
1250
- <line num="29" count="6" type="stmt"/>
1612
+ <metrics statements="179" coveredstatements="159" conditionals="205" coveredconditionals="177" methods="38" coveredmethods="38"/>
1613
+ <line num="2" count="2" type="stmt"/>
1614
+ <line num="4" count="2" type="stmt"/>
1615
+ <line num="6" count="2" type="stmt"/>
1616
+ <line num="34" count="13" type="cond" truecount="2" falsecount="0"/>
1617
+ <line num="38" count="192" type="cond" truecount="3" falsecount="0"/>
1618
+ <line num="42" count="70" type="cond" truecount="3" falsecount="0"/>
1619
+ <line num="43" count="2" type="stmt"/>
1620
+ <line num="46" count="68" type="cond" truecount="2" falsecount="5"/>
1621
+ <line num="48" count="63" type="stmt"/>
1622
+ <line num="50" count="0" type="stmt"/>
1623
+ <line num="52" count="0" type="cond" truecount="0" falsecount="2"/>
1624
+ <line num="54" count="0" type="stmt"/>
1625
+ <line num="56" count="0" type="cond" truecount="0" falsecount="3"/>
1626
+ <line num="58" count="5" type="stmt"/>
1627
+ <line num="60" count="0" type="stmt"/>
1628
+ <line num="69" count="192" type="cond" truecount="2" falsecount="1"/>
1629
+ <line num="71" count="192" type="cond" truecount="4" falsecount="0"/>
1630
+ <line num="72" count="31" type="stmt"/>
1631
+ <line num="73" count="70" type="stmt"/>
1632
+ <line num="74" count="70" type="cond" truecount="1" falsecount="0"/>
1633
+ <line num="75" count="4" type="stmt"/>
1634
+ <line num="84" count="192" type="cond" truecount="3" falsecount="0"/>
1635
+ <line num="85" count="11" type="stmt"/>
1636
+ <line num="92" count="192" type="cond" truecount="3" falsecount="0"/>
1637
+ <line num="93" count="21" type="stmt"/>
1638
+ <line num="94" count="29" type="stmt"/>
1639
+ <line num="102" count="192" type="cond" truecount="3" falsecount="0"/>
1640
+ <line num="103" count="2" type="stmt"/>
1641
+ <line num="110" count="192" type="cond" truecount="3" falsecount="0"/>
1642
+ <line num="111" count="11" type="stmt"/>
1643
+ <line num="112" count="22" type="cond" truecount="3" falsecount="0"/>
1644
+ <line num="113" count="22" type="stmt"/>
1645
+ <line num="128" count="192" type="cond" truecount="2" falsecount="1"/>
1646
+ <line num="130" count="192" type="stmt"/>
1647
+ <line num="131" count="192" type="stmt"/>
1648
+ <line num="132" count="192" type="stmt"/>
1649
+ <line num="133" count="192" type="stmt"/>
1650
+ <line num="135" count="192" type="cond" truecount="5" falsecount="0"/>
1651
+ <line num="136" count="1" type="stmt"/>
1652
+ <line num="143" count="192" type="cond" truecount="3" falsecount="0"/>
1653
+ <line num="144" count="5" type="stmt"/>
1654
+ <line num="145" count="5" type="stmt"/>
1655
+ <line num="147" count="2" type="stmt"/>
1656
+ <line num="155" count="192" type="stmt"/>
1657
+ <line num="156" count="62" type="cond" truecount="1" falsecount="1"/>
1658
+ <line num="157" count="62" type="cond" truecount="1" falsecount="1"/>
1659
+ <line num="158" count="62" type="stmt"/>
1660
+ <line num="160" count="62" type="cond" truecount="0" falsecount="1"/>
1661
+ <line num="161" count="0" type="stmt"/>
1662
+ <line num="162" count="0" type="stmt"/>
1663
+ <line num="164" count="0" type="stmt"/>
1664
+ <line num="168" count="62" type="stmt"/>
1665
+ <line num="171" count="192" type="cond" truecount="2" falsecount="1"/>
1666
+ <line num="172" count="0" type="stmt"/>
1667
+ <line num="173" count="0" type="cond" truecount="0" falsecount="1"/>
1668
+ <line num="174" count="0" type="stmt"/>
1669
+ <line num="180" count="0" type="cond" truecount="0" falsecount="1"/>
1670
+ <line num="181" count="0" type="stmt"/>
1671
+ <line num="187" count="0" type="cond" truecount="0" falsecount="1"/>
1672
+ <line num="188" count="0" type="stmt"/>
1673
+ <line num="196" count="192" type="cond" truecount="3" falsecount="0"/>
1674
+ <line num="197" count="28" type="stmt"/>
1675
+ <line num="198" count="65" type="cond" truecount="1" falsecount="0"/>
1676
+ <line num="199" count="62" type="stmt"/>
1677
+ <line num="200" count="62" type="cond" truecount="0" falsecount="1"/>
1678
+ <line num="201" count="0" type="stmt"/>
1679
+ <line num="207" count="62" type="cond" truecount="0" falsecount="1"/>
1680
+ <line num="208" count="0" type="stmt"/>
1681
+ <line num="214" count="62" type="cond" truecount="0" falsecount="1"/>
1682
+ <line num="215" count="0" type="stmt"/>
1683
+ <line num="224" count="192" type="cond" truecount="3" falsecount="0"/>
1684
+ <line num="225" count="11" type="stmt"/>
1685
+ <line num="232" count="192" type="cond" truecount="3" falsecount="0"/>
1686
+ <line num="233" count="21" type="stmt"/>
1687
+ <line num="234" count="29" type="stmt"/>
1688
+ <line num="242" count="192" type="cond" truecount="3" falsecount="0"/>
1689
+ <line num="243" count="2" type="stmt"/>
1690
+ <line num="250" count="192" type="cond" truecount="3" falsecount="0"/>
1691
+ <line num="251" count="11" type="stmt"/>
1692
+ <line num="252" count="22" type="cond" truecount="3" falsecount="0"/>
1693
+ <line num="253" count="22" type="stmt"/>
1694
+ <line num="268" count="192" type="cond" truecount="2" falsecount="1"/>
1695
+ <line num="270" count="192" type="cond" truecount="1" falsecount="0"/>
1696
+ <line num="276" count="5" type="stmt"/>
1697
+ <line num="277" count="5" type="stmt"/>
1698
+ <line num="278" count="6" type="cond" truecount="1" falsecount="0"/>
1699
+ <line num="279" count="1" type="stmt"/>
1700
+ <line num="288" count="192" type="cond" truecount="3" falsecount="0"/>
1701
+ <line num="289" count="21" type="stmt"/>
1702
+ <line num="290" count="29" type="stmt"/>
1703
+ <line num="298" count="192" type="cond" truecount="3" falsecount="0"/>
1704
+ <line num="299" count="2" type="stmt"/>
1705
+ <line num="306" count="192" type="cond" truecount="3" falsecount="0"/>
1706
+ <line num="307" count="11" type="stmt"/>
1707
+ <line num="314" count="192" type="cond" truecount="3" falsecount="0"/>
1708
+ <line num="315" count="11" type="stmt"/>
1709
+ <line num="316" count="22" type="cond" truecount="3" falsecount="0"/>
1710
+ <line num="317" count="22" type="stmt"/>
1711
+ <line num="332" count="192" type="cond" truecount="2" falsecount="1"/>
1712
+ <line num="334" count="192" type="stmt"/>
1713
+ <line num="335" count="35" type="cond" truecount="2" falsecount="1"/>
1714
+ <line num="336" count="0" type="stmt"/>
1715
+ <line num="339" count="35" type="cond" truecount="1" falsecount="0"/>
1716
+ <line num="340" count="4" type="stmt"/>
1717
+ <line num="343" count="31" type="cond" truecount="3" falsecount="0"/>
1718
+ <line num="344" count="2" type="stmt"/>
1719
+ <line num="345" count="4" type="stmt"/>
1720
+ <line num="349" count="29" type="stmt"/>
1721
+ <line num="352" count="192" type="cond" truecount="4" falsecount="0"/>
1722
+ <line num="353" count="21" type="stmt"/>
1723
+ <line num="354" count="29" type="stmt"/>
1724
+ <line num="355" count="29" type="cond" truecount="1" falsecount="0"/>
1725
+ <line num="356" count="2" type="stmt"/>
1726
+ <line num="365" count="192" type="cond" truecount="1" falsecount="0"/>
1727
+ <line num="370" count="2" type="stmt"/>
1728
+ <line num="378" count="192" type="cond" truecount="3" falsecount="0"/>
1729
+ <line num="379" count="11" type="stmt"/>
1730
+ <line num="386" count="192" type="cond" truecount="3" falsecount="0"/>
1731
+ <line num="387" count="21" type="stmt"/>
1732
+ <line num="388" count="29" type="stmt"/>
1733
+ <line num="396" count="192" type="cond" truecount="3" falsecount="0"/>
1734
+ <line num="397" count="2" type="stmt"/>
1735
+ <line num="404" count="192" type="cond" truecount="3" falsecount="0"/>
1736
+ <line num="405" count="11" type="stmt"/>
1737
+ <line num="406" count="22" type="cond" truecount="3" falsecount="0"/>
1738
+ <line num="407" count="22" type="stmt"/>
1739
+ <line num="422" count="192" type="cond" truecount="2" falsecount="1"/>
1740
+ <line num="424" count="192" type="cond" truecount="1" falsecount="0"/>
1741
+ <line num="425" count="17" type="cond" truecount="3" falsecount="0"/>
1742
+ <line num="426" count="11" type="stmt"/>
1743
+ <line num="427" count="11" type="cond" truecount="1" falsecount="0"/>
1744
+ <line num="428" count="1" type="stmt"/>
1745
+ <line num="436" count="17" type="cond" truecount="3" falsecount="0"/>
1746
+ <line num="437" count="1" type="stmt"/>
1747
+ <line num="444" count="17" type="cond" truecount="1" falsecount="0"/>
1748
+ <line num="445" count="3" type="stmt"/>
1749
+ <line num="446" count="5" type="cond" truecount="1" falsecount="0"/>
1750
+ <line num="447" count="1" type="stmt"/>
1751
+ <line num="457" count="192" type="cond" truecount="3" falsecount="0"/>
1752
+ <line num="458" count="11" type="stmt"/>
1753
+ <line num="465" count="192" type="cond" truecount="3" falsecount="0"/>
1754
+ <line num="466" count="21" type="stmt"/>
1755
+ <line num="467" count="29" type="stmt"/>
1756
+ <line num="475" count="192" type="cond" truecount="3" falsecount="0"/>
1757
+ <line num="476" count="2" type="stmt"/>
1758
+ <line num="483" count="192" type="cond" truecount="3" falsecount="0"/>
1759
+ <line num="484" count="11" type="stmt"/>
1760
+ <line num="485" count="22" type="cond" truecount="3" falsecount="0"/>
1761
+ <line num="486" count="22" type="stmt"/>
1762
+ <line num="496" count="2" type="stmt"/>
1763
+ <line num="497" count="29" type="stmt"/>
1764
+ <line num="498" count="53" type="stmt"/>
1765
+ <line num="522" count="53" type="cond" truecount="7" falsecount="0"/>
1766
+ <line num="530" count="53" type="cond" truecount="3" falsecount="1"/>
1767
+ <line num="531" count="0" type="stmt"/>
1768
+ <line num="539" count="53" type="stmt"/>
1769
+ <line num="541" count="53" type="stmt"/>
1770
+ <line num="543" count="53" type="stmt"/>
1771
+ <line num="545" count="53" type="stmt"/>
1772
+ <line num="547" count="53" type="stmt"/>
1773
+ <line num="548" count="53" type="stmt"/>
1774
+ <line num="549" count="53" type="stmt"/>
1775
+ <line num="552" count="29" type="stmt"/>
1776
+ <line num="575" count="75" type="cond" truecount="2" falsecount="0"/>
1777
+ <line num="577" count="75" type="cond" truecount="3" falsecount="0"/>
1778
+ <line num="578" count="1" type="stmt"/>
1779
+ <line num="585" count="75" type="cond" truecount="3" falsecount="0"/>
1780
+ <line num="586" count="1" type="stmt"/>
1781
+ <line num="595" count="75" type="cond" truecount="7" falsecount="0"/>
1782
+ <line num="603" count="75" type="cond" truecount="4" falsecount="0"/>
1783
+ <line num="604" count="2" type="stmt"/>
1784
+ <line num="612" count="75" type="stmt"/>
1785
+ <line num="614" count="75" type="stmt"/>
1786
+ <line num="616" count="75" type="stmt"/>
1787
+ <line num="618" count="75" type="stmt"/>
1788
+ <line num="620" count="75" type="stmt"/>
1789
+ <line num="621" count="75" type="stmt"/>
1790
+ <line num="622" count="75" type="stmt"/>
1791
+ <line num="624" count="29" type="stmt"/>
1251
1792
  </file>
1252
1793
  <file name="checkCircularDependency.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/checkCircularDependency.ts">
1253
1794
  <metrics statements="16" coveredstatements="11" conditionals="8" coveredconditionals="2" methods="2" coveredmethods="2"/>
@@ -1294,60 +1835,272 @@
1294
1835
  <line num="53" count="0" type="stmt"/>
1295
1836
  </file>
1296
1837
  <file name="conditionSchema.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/conditionSchema.ts">
1297
- <metrics statements="53" coveredstatements="46" conditionals="42" coveredconditionals="35" methods="9" coveredmethods="9"/>
1298
- <line num="1" count="4" type="stmt"/>
1299
- <line num="5" count="4" type="stmt"/>
1838
+ <metrics statements="265" coveredstatements="170" conditionals="246" coveredconditionals="145" methods="42" coveredmethods="31"/>
1839
+ <line num="2" count="4" type="stmt"/>
1300
1840
  <line num="6" count="4" type="stmt"/>
1301
1841
  <line num="7" count="4" type="stmt"/>
1302
- <line num="15" count="4" type="stmt"/>
1303
- <line num="23" count="4" type="stmt"/>
1842
+ <line num="8" count="4" type="stmt"/>
1843
+ <line num="16" count="4" type="stmt"/>
1304
1844
  <line num="24" count="4" type="stmt"/>
1305
1845
  <line num="25" count="4" type="stmt"/>
1306
1846
  <line num="26" count="4" type="stmt"/>
1307
- <line num="28" count="4" type="stmt"/>
1308
- <line num="31" count="7" type="stmt"/>
1309
- <line num="34" count="4" type="stmt"/>
1310
- <line num="38" count="147" type="stmt"/>
1311
- <line num="41" count="136" type="stmt"/>
1312
- <line num="42" count="7" type="stmt"/>
1313
- <line num="63" count="6" type="cond" truecount="0" falsecount="1"/>
1314
- <line num="64" count="0" type="stmt"/>
1315
- <line num="67" count="6" type="stmt"/>
1316
- <line num="77" count="135" type="cond" truecount="1" falsecount="0"/>
1317
- <line num="88" count="1" type="stmt"/>
1318
- <line num="96" count="135" type="cond" truecount="3" falsecount="0"/>
1319
- <line num="97" count="4" type="stmt"/>
1320
- <line num="105" count="135" type="cond" truecount="3" falsecount="0"/>
1321
- <line num="106" count="1" type="stmt"/>
1322
- <line num="114" count="135" type="cond" truecount="2" falsecount="1"/>
1323
- <line num="115" count="0" type="stmt"/>
1324
- <line num="123" count="135" type="cond" truecount="1" falsecount="0"/>
1325
- <line num="125" count="8" type="cond" truecount="5" falsecount="0"/>
1326
- <line num="126" count="1" type="stmt"/>
1327
- <line num="131" count="7" type="cond" truecount="1" falsecount="1"/>
1328
- <line num="133" count="7" type="cond" truecount="2" falsecount="0"/>
1329
- <line num="134" count="2" type="stmt"/>
1330
- <line num="142" count="0" type="cond" truecount="0" falsecount="2"/>
1331
- <line num="144" count="0" type="cond" truecount="0" falsecount="1"/>
1332
- <line num="145" count="0" type="stmt"/>
1333
- <line num="154" count="0" type="stmt"/>
1334
- <line num="163" count="135" type="cond" truecount="3" falsecount="0"/>
1335
- <line num="164" count="1" type="stmt"/>
1336
- <line num="172" count="135" type="cond" truecount="2" falsecount="0"/>
1337
- <line num="173" count="5" type="cond" truecount="0" falsecount="1"/>
1338
- <line num="174" count="0" type="stmt"/>
1339
- <line num="182" count="130" type="cond" truecount="1" falsecount="0"/>
1340
- <line num="183" count="2" type="stmt"/>
1341
- <line num="192" count="135" type="cond" truecount="3" falsecount="0"/>
1342
- <line num="193" count="2" type="stmt"/>
1343
- <line num="201" count="147" type="stmt"/>
1344
- <line num="204" count="31" type="stmt"/>
1345
- <line num="209" count="11" type="stmt"/>
1346
- <line num="214" count="6" type="stmt"/>
1347
- <line num="219" count="147" type="stmt"/>
1348
- <line num="221" count="147" type="stmt"/>
1349
- <line num="223" count="147" type="stmt"/>
1350
- <line num="229" count="147" type="stmt"/>
1847
+ <line num="27" count="4" type="stmt"/>
1848
+ <line num="29" count="4" type="stmt"/>
1849
+ <line num="38" count="6" type="stmt"/>
1850
+ <line num="42" count="5" type="stmt"/>
1851
+ <line num="51" count="13" type="cond" truecount="2" falsecount="0"/>
1852
+ <line num="55" count="63" type="cond" truecount="1" falsecount="0"/>
1853
+ <line num="56" count="45" type="cond" truecount="1" falsecount="0"/>
1854
+ <line num="57" count="42" type="cond" truecount="2" falsecount="1"/>
1855
+ <line num="59" count="42" type="cond" truecount="1" falsecount="2"/>
1856
+ <line num="60" count="0" type="cond" truecount="0" falsecount="1"/>
1857
+ <line num="61" count="0" type="cond" truecount="0" falsecount="3"/>
1858
+ <line num="62" count="0" type="cond" truecount="0" falsecount="1"/>
1859
+ <line num="63" count="0" type="stmt"/>
1860
+ <line num="66" count="0" type="stmt"/>
1861
+ <line num="67" count="0" type="stmt"/>
1862
+ <line num="68" count="0" type="cond" truecount="0" falsecount="3"/>
1863
+ <line num="69" count="0" type="stmt"/>
1864
+ <line num="72" count="0" type="stmt"/>
1865
+ <line num="73" count="0" type="stmt"/>
1866
+ <line num="77" count="42" type="stmt"/>
1867
+ <line num="81" count="650" type="cond" truecount="1" falsecount="3"/>
1868
+ <line num="82" count="0" type="stmt"/>
1869
+ <line num="85" count="650" type="stmt"/>
1870
+ <line num="89" count="157" type="cond" truecount="3" falsecount="0"/>
1871
+ <line num="90" count="7" type="stmt"/>
1872
+ <line num="93" count="150" type="cond" truecount="2" falsecount="0"/>
1873
+ <line num="97" count="169" type="cond" truecount="3" falsecount="0"/>
1874
+ <line num="98" count="5" type="stmt"/>
1875
+ <line num="101" count="164" type="stmt"/>
1876
+ <line num="106" count="164" type="cond" truecount="4" falsecount="0"/>
1877
+ <line num="107" count="12" type="stmt"/>
1878
+ <line num="110" count="24" type="stmt"/>
1879
+ <line num="116" count="152" type="cond" truecount="1" falsecount="1"/>
1880
+ <line num="124" count="300" type="stmt"/>
1881
+ <line num="125" count="300" type="stmt"/>
1882
+ <line num="127" count="300" type="cond" truecount="1" falsecount="0"/>
1883
+ <line num="128" count="8" type="stmt"/>
1884
+ <line num="131" count="292" type="stmt"/>
1885
+ <line num="133" count="292" type="cond" truecount="1" falsecount="0"/>
1886
+ <line num="134" count="236" type="stmt"/>
1887
+ <line num="137" count="56" type="stmt"/>
1888
+ <line num="138" count="56" type="stmt"/>
1889
+ <line num="139" count="56" type="stmt"/>
1890
+ <line num="140" count="56" type="cond" truecount="1" falsecount="1"/>
1891
+ <line num="142" count="56" type="cond" truecount="0" falsecount="1"/>
1892
+ <line num="143" count="0" type="stmt"/>
1893
+ <line num="146" count="56" type="cond" truecount="1" falsecount="3"/>
1894
+ <line num="147" count="0" type="stmt"/>
1895
+ <line num="150" count="56" type="cond" truecount="2" falsecount="0"/>
1896
+ <line num="152" count="56" type="cond" truecount="2" falsecount="0"/>
1897
+ <line num="154" count="56" type="cond" truecount="4" falsecount="0"/>
1898
+ <line num="155" count="42" type="stmt"/>
1899
+ <line num="156" count="42" type="stmt"/>
1900
+ <line num="159" count="14" type="cond" truecount="3" falsecount="0"/>
1901
+ <line num="160" count="2" type="stmt"/>
1902
+ <line num="161" count="2" type="stmt"/>
1903
+ <line num="164" count="12" type="cond" truecount="3" falsecount="0"/>
1904
+ <line num="165" count="12" type="cond" truecount="2" falsecount="0"/>
1905
+ <line num="168" count="0" type="stmt"/>
1906
+ <line num="171" count="44" type="stmt"/>
1907
+ <line num="179" count="128" type="stmt"/>
1908
+ <line num="198" count="128" type="cond" truecount="4" falsecount="0"/>
1909
+ <line num="199" count="7" type="stmt"/>
1910
+ <line num="200" count="14" type="stmt"/>
1911
+ <line num="202" count="7" type="stmt"/>
1912
+ <line num="205" count="121" type="cond" truecount="0" falsecount="1"/>
1913
+ <line num="206" count="0" type="stmt"/>
1914
+ <line num="209" count="121" type="cond" truecount="3" falsecount="0"/>
1915
+ <line num="210" count="63" type="stmt"/>
1916
+ <line num="213" count="94" type="stmt"/>
1917
+ <line num="214" count="94" type="cond" truecount="0" falsecount="1"/>
1918
+ <line num="215" count="0" type="stmt"/>
1919
+ <line num="218" count="94" type="cond" truecount="0" falsecount="1"/>
1920
+ <line num="219" count="0" type="stmt"/>
1921
+ <line num="222" count="94" type="cond" truecount="4" falsecount="0"/>
1922
+ <line num="223" count="86" type="cond" truecount="1" falsecount="0"/>
1923
+ <line num="224" count="6" type="stmt"/>
1924
+ <line num="227" count="80" type="cond" truecount="1" falsecount="2"/>
1925
+ <line num="228" count="80" type="cond" truecount="1" falsecount="2"/>
1926
+ <line num="230" count="80" type="cond" truecount="1" falsecount="0"/>
1927
+ <line num="231" count="2" type="stmt"/>
1928
+ <line num="232" count="2" type="cond" truecount="0" falsecount="1"/>
1929
+ <line num="234" count="0" type="stmt"/>
1930
+ <line num="238" count="80" type="cond" truecount="1" falsecount="2"/>
1931
+ <line num="239" count="0" type="stmt"/>
1932
+ <line num="242" count="80" type="stmt"/>
1933
+ <line num="245" count="8" type="cond" truecount="3" falsecount="0"/>
1934
+ <line num="246" count="8" type="cond" truecount="1" falsecount="0"/>
1935
+ <line num="247" count="4" type="stmt"/>
1936
+ <line num="250" count="4" type="cond" truecount="2" falsecount="1"/>
1937
+ <line num="251" count="0" type="stmt"/>
1938
+ <line num="254" count="4" type="cond" truecount="2" falsecount="1"/>
1939
+ <line num="255" count="4" type="cond" truecount="1" falsecount="2"/>
1940
+ <line num="256" count="4" type="stmt"/>
1941
+ <line num="259" count="0" type="cond" truecount="0" falsecount="1"/>
1942
+ <line num="260" count="0" type="cond" truecount="0" falsecount="4"/>
1943
+ <line num="261" count="0" type="stmt"/>
1944
+ <line num="264" count="0" type="stmt"/>
1945
+ <line num="265" count="0" type="stmt"/>
1946
+ <line num="266" count="0" type="stmt"/>
1947
+ <line num="268" count="0" type="cond" truecount="0" falsecount="4"/>
1948
+ <line num="269" count="0" type="stmt"/>
1949
+ <line num="272" count="0" type="cond" truecount="0" falsecount="3"/>
1950
+ <line num="273" count="0" type="cond" truecount="0" falsecount="2"/>
1951
+ <line num="274" count="0" type="stmt"/>
1952
+ <line num="275" count="0" type="cond" truecount="0" falsecount="1"/>
1953
+ <line num="276" count="0" type="stmt"/>
1954
+ <line num="280" count="0" type="stmt"/>
1955
+ <line num="281" count="0" type="cond" truecount="0" falsecount="1"/>
1956
+ <line num="282" count="0" type="cond" truecount="0" falsecount="1"/>
1957
+ <line num="283" count="0" type="stmt"/>
1958
+ <line num="285" count="0" type="stmt"/>
1959
+ <line num="288" count="0" type="cond" truecount="0" falsecount="3"/>
1960
+ <line num="289" count="0" type="cond" truecount="0" falsecount="1"/>
1961
+ <line num="292" count="0" type="stmt"/>
1962
+ <line num="294" count="0" type="stmt"/>
1963
+ <line num="297" count="0" type="stmt"/>
1964
+ <line num="300" count="0" type="stmt"/>
1965
+ <line num="303" count="0" type="cond" truecount="0" falsecount="3"/>
1966
+ <line num="304" count="0" type="stmt"/>
1967
+ <line num="305" count="0" type="stmt"/>
1968
+ <line num="309" count="0" type="stmt"/>
1969
+ <line num="312" count="0" type="cond" truecount="0" falsecount="1"/>
1970
+ <line num="313" count="0" type="cond" truecount="0" falsecount="1"/>
1971
+ <line num="314" count="0" type="stmt"/>
1972
+ <line num="317" count="0" type="cond" truecount="0" falsecount="3"/>
1973
+ <line num="318" count="0" type="cond" truecount="0" falsecount="3"/>
1974
+ <line num="320" count="0" type="cond" truecount="0" falsecount="1"/>
1975
+ <line num="321" count="0" type="stmt"/>
1976
+ <line num="322" count="0" type="stmt"/>
1977
+ <line num="323" count="0" type="cond" truecount="0" falsecount="1"/>
1978
+ <line num="328" count="0" type="cond" truecount="0" falsecount="3"/>
1979
+ <line num="329" count="0" type="stmt"/>
1980
+ <line num="332" count="0" type="stmt"/>
1981
+ <line num="333" count="0" type="stmt"/>
1982
+ <line num="337" count="0" type="stmt"/>
1983
+ <line num="345" count="121" type="cond" truecount="3" falsecount="0"/>
1984
+ <line num="346" count="7" type="cond" truecount="2" falsecount="0"/>
1985
+ <line num="351" count="114" type="stmt"/>
1986
+ <line num="358" count="12" type="cond" truecount="0" falsecount="1"/>
1987
+ <line num="359" count="0" type="cond" truecount="0" falsecount="2"/>
1988
+ <line num="362" count="12" type="stmt"/>
1989
+ <line num="363" count="12" type="cond" truecount="1" falsecount="3"/>
1990
+ <line num="364" count="0" type="stmt"/>
1991
+ <line num="366" count="0" type="stmt"/>
1992
+ <line num="368" count="0" type="stmt"/>
1993
+ <line num="370" count="0" type="cond" truecount="0" falsecount="1"/>
1994
+ <line num="371" count="0" type="stmt"/>
1995
+ <line num="374" count="0" type="cond" truecount="0" falsecount="1"/>
1996
+ <line num="375" count="0" type="stmt"/>
1997
+ <line num="378" count="0" type="stmt"/>
1998
+ <line num="382" count="0" type="cond" truecount="0" falsecount="2"/>
1999
+ <line num="388" count="12" type="cond" truecount="2" falsecount="1"/>
2000
+ <line num="389" count="0" type="stmt"/>
2001
+ <line num="392" count="12" type="cond" truecount="4" falsecount="0"/>
2002
+ <line num="393" count="10" type="stmt"/>
2003
+ <line num="399" count="2" type="stmt"/>
2004
+ <line num="407" count="20" type="stmt"/>
2005
+ <line num="425" count="150" type="stmt"/>
2006
+ <line num="426" count="150" type="cond" truecount="1" falsecount="0"/>
2007
+ <line num="427" count="5" type="stmt"/>
2008
+ <line num="430" count="145" type="stmt"/>
2009
+ <line num="431" count="145" type="stmt"/>
2010
+ <line num="433" count="145" type="cond" truecount="1" falsecount="0"/>
2011
+ <line num="434" count="4" type="stmt"/>
2012
+ <line num="437" count="141" type="cond" truecount="2" falsecount="1"/>
2013
+ <line num="438" count="0" type="stmt"/>
2014
+ <line num="442" count="0" type="stmt"/>
2015
+ <line num="445" count="141" type="cond" truecount="1" falsecount="0"/>
2016
+ <line num="447" count="4" type="stmt"/>
2017
+ <line num="449" count="1" type="stmt"/>
2018
+ <line num="453" count="1" type="stmt"/>
2019
+ <line num="456" count="140" type="cond" truecount="1" falsecount="0"/>
2020
+ <line num="458" count="6" type="stmt"/>
2021
+ <line num="460" count="1" type="stmt"/>
2022
+ <line num="461" count="1" type="stmt"/>
2023
+ <line num="464" count="139" type="cond" truecount="0" falsecount="1"/>
2024
+ <line num="466" count="6" type="stmt"/>
2025
+ <line num="468" count="0" type="stmt"/>
2026
+ <line num="472" count="0" type="stmt"/>
2027
+ <line num="475" count="139" type="cond" truecount="0" falsecount="1"/>
2028
+ <line num="477" count="6" type="stmt"/>
2029
+ <line num="479" count="0" type="stmt"/>
2030
+ <line num="483" count="0" type="stmt"/>
2031
+ <line num="486" count="139" type="cond" truecount="1" falsecount="0"/>
2032
+ <line num="487" count="8" type="cond" truecount="0" falsecount="1"/>
2033
+ <line num="492" count="0" type="stmt"/>
2034
+ <line num="496" count="0" type="stmt"/>
2035
+ <line num="499" count="8" type="cond" truecount="1" falsecount="0"/>
2036
+ <line num="500" count="1" type="stmt"/>
2037
+ <line num="503" count="7" type="stmt"/>
2038
+ <line num="504" count="13" type="cond" truecount="1" falsecount="0"/>
2039
+ <line num="505" count="2" type="stmt"/>
2040
+ <line num="513" count="7" type="stmt"/>
2041
+ <line num="516" count="131" type="cond" truecount="1" falsecount="0"/>
2042
+ <line num="517" count="12" type="stmt"/>
2043
+ <line num="518" count="12" type="cond" truecount="0" falsecount="1"/>
2044
+ <line num="519" count="0" type="stmt"/>
2045
+ <line num="520" count="0" type="stmt"/>
2046
+ <line num="523" count="12" type="stmt"/>
2047
+ <line num="524" count="12" type="cond" truecount="2" falsecount="1"/>
2048
+ <line num="525" count="0" type="stmt"/>
2049
+ <line num="526" count="0" type="stmt"/>
2050
+ <line num="529" count="12" type="cond" truecount="1" falsecount="0"/>
2051
+ <line num="530" count="4" type="stmt"/>
2052
+ <line num="533" count="12" type="stmt"/>
2053
+ <line num="536" count="119" type="cond" truecount="1" falsecount="0"/>
2054
+ <line num="537" count="99" type="cond" truecount="1" falsecount="0"/>
2055
+ <line num="538" count="3" type="stmt"/>
2056
+ <line num="541" count="96" type="cond" truecount="1" falsecount="0"/>
2057
+ <line num="542" count="6" type="stmt"/>
2058
+ <line num="547" count="4" type="stmt"/>
2059
+ <line num="552" count="150" type="stmt"/>
2060
+ <line num="555" count="150" type="stmt"/>
2061
+ <line num="556" count="5" type="stmt"/>
2062
+ <line num="577" count="5" type="cond" truecount="0" falsecount="1"/>
2063
+ <line num="578" count="0" type="stmt"/>
2064
+ <line num="581" count="5" type="stmt"/>
2065
+ <line num="590" count="150" type="cond" truecount="1" falsecount="0"/>
2066
+ <line num="601" count="1" type="stmt"/>
2067
+ <line num="607" count="150" type="cond" truecount="2" falsecount="1"/>
2068
+ <line num="608" count="0" type="stmt"/>
2069
+ <line num="611" count="150" type="cond" truecount="0" falsecount="1"/>
2070
+ <line num="615" count="0" type="stmt"/>
2071
+ <line num="618" count="150" type="cond" truecount="1" falsecount="0"/>
2072
+ <line num="619" count="6" type="cond" truecount="4" falsecount="1"/>
2073
+ <line num="620" count="0" type="stmt"/>
2074
+ <line num="621" count="6" type="cond" truecount="1" falsecount="1"/>
2075
+ <line num="622" count="6" type="cond" truecount="1" falsecount="0"/>
2076
+ <line num="623" count="1" type="stmt"/>
2077
+ <line num="628" count="0" type="cond" truecount="0" falsecount="2"/>
2078
+ <line num="629" count="0" type="cond" truecount="0" falsecount="1"/>
2079
+ <line num="630" count="0" type="stmt"/>
2080
+ <line num="633" count="0" type="stmt"/>
2081
+ <line num="640" count="150" type="cond" truecount="3" falsecount="0"/>
2082
+ <line num="641" count="1" type="stmt"/>
2083
+ <line num="644" count="150" type="cond" truecount="0" falsecount="1"/>
2084
+ <line num="649" count="0" type="stmt"/>
2085
+ <line num="652" count="150" type="cond" truecount="3" falsecount="0"/>
2086
+ <line num="653" count="1" type="cond" truecount="1" falsecount="0"/>
2087
+ <line num="654" count="1" type="stmt"/>
2088
+ <line num="658" count="150" type="cond" truecount="2" falsecount="0"/>
2089
+ <line num="659" count="4" type="cond" truecount="0" falsecount="1"/>
2090
+ <line num="660" count="0" type="stmt"/>
2091
+ <line num="662" count="146" type="cond" truecount="1" falsecount="0"/>
2092
+ <line num="663" count="1" type="stmt"/>
2093
+ <line num="670" count="150" type="cond" truecount="3" falsecount="0"/>
2094
+ <line num="671" count="1" type="stmt"/>
2095
+ <line num="674" count="150" type="stmt"/>
2096
+ <line num="687" count="150" type="stmt"/>
2097
+ <line num="690" count="33" type="stmt"/>
2098
+ <line num="695" count="8" type="stmt"/>
2099
+ <line num="700" count="5" type="stmt"/>
2100
+ <line num="705" count="150" type="stmt"/>
2101
+ <line num="706" count="150" type="stmt"/>
2102
+ <line num="708" count="150" type="stmt"/>
2103
+ <line num="712" count="150" type="cond" truecount="2" falsecount="0"/>
1351
2104
  </file>
1352
2105
  <file name="featureSchema.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/featureSchema.ts">
1353
2106
  <metrics statements="507" coveredstatements="388" conditionals="403" coveredconditionals="259" methods="75" coveredmethods="57"/>
@@ -1706,20 +2459,20 @@
1706
2459
  <line num="1118" count="80" type="stmt"/>
1707
2460
  <line num="1129" count="2" type="stmt"/>
1708
2461
  <line num="1140" count="31" type="stmt"/>
1709
- <line num="1164" count="18" type="stmt"/>
1710
- <line num="1166" count="18" type="cond" truecount="1" falsecount="0"/>
1711
- <line num="1167" count="10" type="cond" truecount="0" falsecount="1"/>
2462
+ <line num="1164" count="26" type="stmt"/>
2463
+ <line num="1166" count="22" type="cond" truecount="1" falsecount="0"/>
2464
+ <line num="1167" count="14" type="cond" truecount="0" falsecount="1"/>
1712
2465
  <line num="1168" count="0" type="stmt"/>
1713
- <line num="1177" count="18" type="cond" truecount="1" falsecount="0"/>
2466
+ <line num="1177" count="22" type="cond" truecount="1" falsecount="0"/>
1714
2467
  <line num="1178" count="6" type="stmt"/>
1715
2468
  <line num="1179" count="6" type="stmt"/>
1716
- <line num="1203" count="260" type="stmt"/>
1717
- <line num="1205" count="321" type="cond" truecount="1" falsecount="0"/>
2469
+ <line num="1203" count="276" type="stmt"/>
2470
+ <line num="1205" count="341" type="cond" truecount="1" falsecount="0"/>
1718
2471
  <line num="1206" count="51" type="stmt"/>
1719
2472
  <line num="1207" count="450" type="stmt"/>
1720
- <line num="1220" count="321" type="cond" truecount="1" falsecount="0"/>
2473
+ <line num="1220" count="341" type="cond" truecount="1" falsecount="0"/>
1721
2474
  <line num="1221" count="9" type="stmt"/>
1722
- <line num="1232" count="321" type="cond" truecount="1" falsecount="0"/>
2475
+ <line num="1232" count="341" type="cond" truecount="1" falsecount="0"/>
1723
2476
  <line num="1233" count="2" type="cond" truecount="1" falsecount="1"/>
1724
2477
  <line num="1234" count="0" type="stmt"/>
1725
2478
  <line num="1241" count="2" type="stmt"/>
@@ -1738,47 +2491,47 @@
1738
2491
  <line num="1285" count="2" type="cond" truecount="0" falsecount="1"/>
1739
2492
  <line num="1286" count="0" type="stmt"/>
1740
2493
  <line num="1297" count="2" type="stmt"/>
1741
- <line num="1306" count="86" type="stmt"/>
1742
- <line num="1307" count="86" type="stmt"/>
1743
- <line num="1308" count="86" type="stmt"/>
1744
- <line num="1309" count="86" type="stmt"/>
1745
- <line num="1310" count="86" type="stmt"/>
1746
- <line num="1315" count="86" type="stmt"/>
1747
- <line num="1317" count="86" type="stmt"/>
1748
- <line num="1318" count="424" type="cond" truecount="2" falsecount="0"/>
2494
+ <line num="1306" count="90" type="stmt"/>
2495
+ <line num="1307" count="90" type="stmt"/>
2496
+ <line num="1308" count="90" type="stmt"/>
2497
+ <line num="1309" count="90" type="stmt"/>
2498
+ <line num="1310" count="90" type="stmt"/>
2499
+ <line num="1315" count="90" type="stmt"/>
2500
+ <line num="1317" count="90" type="stmt"/>
2501
+ <line num="1318" count="448" type="cond" truecount="2" falsecount="0"/>
1749
2502
  <line num="1319" count="0" type="stmt"/>
1750
- <line num="1324" count="86" type="stmt"/>
1751
- <line num="1327" count="20" type="stmt"/>
2503
+ <line num="1324" count="90" type="stmt"/>
2504
+ <line num="1327" count="28" type="stmt"/>
1752
2505
  <line num="1332" count="32" type="stmt"/>
1753
2506
  <line num="1337" count="2" type="stmt"/>
1754
- <line num="1342" count="86" type="stmt"/>
1755
- <line num="1344" count="86" type="stmt"/>
1756
- <line num="1346" count="86" type="stmt"/>
2507
+ <line num="1342" count="90" type="stmt"/>
2508
+ <line num="1344" count="90" type="stmt"/>
2509
+ <line num="1346" count="90" type="stmt"/>
1757
2510
  <line num="1347" count="4" type="stmt"/>
1758
- <line num="1350" count="86" type="stmt"/>
1759
- <line num="1389" count="261" type="stmt"/>
2511
+ <line num="1350" count="90" type="stmt"/>
2512
+ <line num="1389" count="277" type="stmt"/>
1760
2513
  <line num="1390" count="0" type="stmt"/>
1761
- <line num="1398" count="322" type="stmt"/>
1762
- <line num="1399" count="261" type="stmt"/>
2514
+ <line num="1398" count="342" type="stmt"/>
2515
+ <line num="1399" count="277" type="stmt"/>
1763
2516
  <line num="1401" count="0" type="stmt"/>
1764
2517
  <line num="1402" count="0" type="stmt"/>
1765
- <line num="1409" count="261" type="cond" truecount="1" falsecount="0"/>
1766
- <line num="1410" count="261" type="stmt"/>
2518
+ <line num="1409" count="277" type="cond" truecount="1" falsecount="0"/>
2519
+ <line num="1410" count="277" type="stmt"/>
1767
2520
  <line num="1413" count="0" type="stmt"/>
1768
2521
  <line num="1414" count="0" type="stmt"/>
1769
2522
  <line num="1416" count="0" type="stmt"/>
1770
- <line num="1421" count="86" type="stmt"/>
1771
- <line num="1444" count="86" type="stmt"/>
1772
- <line num="1445" count="133" type="cond" truecount="2" falsecount="0"/>
2523
+ <line num="1421" count="90" type="stmt"/>
2524
+ <line num="1444" count="90" type="stmt"/>
2525
+ <line num="1445" count="141" type="cond" truecount="2" falsecount="0"/>
1773
2526
  <line num="1446" count="1" type="stmt"/>
1774
- <line num="1451" count="86" type="stmt"/>
2527
+ <line num="1451" count="90" type="stmt"/>
1775
2528
  <line num="1452" count="2" type="stmt"/>
1776
2529
  <line num="1453" count="0" type="stmt"/>
1777
- <line num="1458" count="86" type="cond" truecount="1" falsecount="1"/>
1778
- <line num="1460" count="86" type="stmt"/>
1779
- <line num="1469" count="141" type="stmt"/>
2530
+ <line num="1458" count="90" type="cond" truecount="1" falsecount="1"/>
2531
+ <line num="1460" count="90" type="stmt"/>
2532
+ <line num="1469" count="149" type="stmt"/>
1780
2533
  <line num="1470" count="0" type="stmt"/>
1781
- <line num="1477" count="131" type="stmt"/>
2534
+ <line num="1477" count="139" type="stmt"/>
1782
2535
  <line num="1479" count="0" type="stmt"/>
1783
2536
  <line num="1518" count="59" type="stmt"/>
1784
2537
  <line num="1519" count="2" type="stmt"/>
@@ -1803,22 +2556,22 @@
1803
2556
  <line num="1614" count="0" type="stmt"/>
1804
2557
  <line num="1620" count="0" type="stmt"/>
1805
2558
  <line num="1623" count="238" type="stmt"/>
1806
- <line num="1668" count="80" type="stmt"/>
1807
- <line num="1669" count="38" type="stmt"/>
2559
+ <line num="1668" count="88" type="stmt"/>
2560
+ <line num="1669" count="42" type="stmt"/>
1808
2561
  <line num="1671" count="0" type="stmt"/>
1809
2562
  <line num="1672" count="0" type="stmt"/>
1810
- <line num="1695" count="130" type="cond" truecount="1" falsecount="0"/>
2563
+ <line num="1695" count="138" type="cond" truecount="1" falsecount="0"/>
1811
2564
  <line num="1696" count="2" type="cond" truecount="1" falsecount="1"/>
1812
2565
  <line num="1697" count="0" type="stmt"/>
1813
2566
  <line num="1703" count="4" type="stmt"/>
1814
2567
  <line num="1705" count="2" type="cond" truecount="0" falsecount="1"/>
1815
2568
  <line num="1706" count="0" type="stmt"/>
1816
- <line num="1717" count="130" type="cond" truecount="2" falsecount="0"/>
1817
- <line num="1718" count="130" type="stmt"/>
1818
- <line num="1720" count="130" type="cond" truecount="1" falsecount="0"/>
1819
- <line num="1721" count="38" type="stmt"/>
1820
- <line num="1722" count="80" type="stmt"/>
1821
- <line num="1727" count="130" type="cond" truecount="1" falsecount="0"/>
2569
+ <line num="1717" count="138" type="cond" truecount="2" falsecount="0"/>
2570
+ <line num="1718" count="138" type="stmt"/>
2571
+ <line num="1720" count="138" type="cond" truecount="1" falsecount="0"/>
2572
+ <line num="1721" count="42" type="stmt"/>
2573
+ <line num="1722" count="88" type="stmt"/>
2574
+ <line num="1727" count="138" type="cond" truecount="1" falsecount="0"/>
1822
2575
  <line num="1728" count="107" type="stmt"/>
1823
2576
  <line num="1729" count="107" type="stmt"/>
1824
2577
  <line num="1730" count="297" type="stmt"/>
@@ -1840,24 +2593,24 @@
1840
2593
  <line num="1798" count="297" type="stmt"/>
1841
2594
  <line num="1809" count="297" type="cond" truecount="1" falsecount="0"/>
1842
2595
  <line num="1810" count="5" type="stmt"/>
1843
- <line num="1824" count="130" type="cond" truecount="1" falsecount="0"/>
1844
- <line num="1825" count="38" type="stmt"/>
1845
- <line num="1827" count="80" type="cond" truecount="1" falsecount="0"/>
2596
+ <line num="1824" count="138" type="cond" truecount="1" falsecount="0"/>
2597
+ <line num="1825" count="42" type="stmt"/>
2598
+ <line num="1827" count="88" type="cond" truecount="1" falsecount="0"/>
1846
2599
  <line num="1828" count="31" type="stmt"/>
1847
2600
  <line num="1829" count="255" type="stmt"/>
1848
- <line num="1842" count="80" type="cond" truecount="1" falsecount="0"/>
2601
+ <line num="1842" count="88" type="cond" truecount="1" falsecount="0"/>
1849
2602
  <line num="1843" count="20" type="stmt"/>
1850
- <line num="1855" count="130" type="cond" truecount="1" falsecount="1"/>
1851
- <line num="1857" count="130" type="stmt"/>
1852
- <line num="1859" count="260" type="cond" truecount="3" falsecount="0"/>
1853
- <line num="1860" count="260" type="stmt"/>
1854
- <line num="1873" count="260" type="cond" truecount="3" falsecount="0"/>
1855
- <line num="1874" count="18" type="stmt"/>
2603
+ <line num="1855" count="138" type="cond" truecount="1" falsecount="1"/>
2604
+ <line num="1857" count="138" type="stmt"/>
2605
+ <line num="1859" count="276" type="cond" truecount="3" falsecount="0"/>
2606
+ <line num="1860" count="276" type="stmt"/>
2607
+ <line num="1873" count="276" type="cond" truecount="3" falsecount="0"/>
2608
+ <line num="1874" count="26" type="stmt"/>
1856
2609
  <line num="1890" count="0" type="cond" truecount="0" falsecount="1"/>
1857
2610
  <line num="1891" count="0" type="stmt"/>
1858
2611
  <line num="1904" count="0" type="cond" truecount="0" falsecount="1"/>
1859
2612
  <line num="1905" count="0" type="stmt"/>
1860
- <line num="1919" count="86" type="stmt"/>
2613
+ <line num="1919" count="90" type="stmt"/>
1861
2614
  </file>
1862
2615
  <file name="groupSchema.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/groupSchema.ts">
1863
2616
  <metrics statements="10" coveredstatements="8" conditionals="3" coveredconditionals="2" methods="5" coveredmethods="4"/>
@@ -1873,7 +2626,7 @@
1873
2626
  <line num="46" count="6" type="stmt"/>
1874
2627
  </file>
1875
2628
  <file name="lintProject.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/lintProject.ts">
1876
- <metrics statements="232" coveredstatements="173" conditionals="154" coveredconditionals="95" methods="19" coveredmethods="10"/>
2629
+ <metrics statements="250" coveredstatements="190" conditionals="161" coveredconditionals="100" methods="21" coveredmethods="12"/>
1877
2630
  <line num="2" count="1" type="stmt"/>
1878
2631
  <line num="7" count="1" type="stmt"/>
1879
2632
  <line num="8" count="1" type="stmt"/>
@@ -1893,219 +2646,237 @@
1893
2646
  <line num="56" count="0" type="stmt"/>
1894
2647
  <line num="57" count="0" type="stmt"/>
1895
2648
  <line num="59" count="0" type="stmt"/>
1896
- <line num="62" count="1" type="stmt"/>
1897
- <line num="66" count="6" type="stmt"/>
1898
- <line num="68" count="6" type="stmt"/>
1899
- <line num="69" count="6" type="stmt"/>
1900
- <line num="72" count="16" type="cond" truecount="0" falsecount="1"/>
1901
- <line num="73" count="0" type="stmt"/>
1902
- <line num="78" count="252" type="stmt"/>
1903
- <line num="79" count="252" type="stmt"/>
1904
- <line num="81" count="252" type="cond" truecount="2" falsecount="0"/>
1905
- <line num="82" count="34" type="stmt"/>
1906
- <line num="83" count="218" type="cond" truecount="2" falsecount="0"/>
1907
- <line num="84" count="32" type="stmt"/>
1908
- <line num="85" count="186" type="cond" truecount="2" falsecount="0"/>
1909
- <line num="86" count="56" type="stmt"/>
1910
- <line num="87" count="130" type="cond" truecount="2" falsecount="0"/>
1911
- <line num="88" count="2" type="stmt"/>
1912
- <line num="89" count="128" type="cond" truecount="2" falsecount="0"/>
1913
- <line num="90" count="40" type="stmt"/>
1914
- <line num="92" count="88" type="stmt"/>
1915
- <line num="95" count="252" type="cond" truecount="0" falsecount="1"/>
1916
- <line num="96" count="0" type="stmt"/>
1917
- <line num="99" count="252" type="stmt"/>
1918
- <line num="106" count="3" type="stmt"/>
1919
- <line num="108" count="3" type="cond" truecount="0" falsecount="1"/>
1920
- <line num="109" count="0" type="stmt"/>
1921
- <line num="112" count="3" type="cond" truecount="0" falsecount="1"/>
1922
- <line num="113" count="0" type="stmt"/>
1923
- <line num="116" count="3" type="stmt"/>
1924
- <line num="117" count="3" type="cond" truecount="1" falsecount="0"/>
1925
- <line num="121" count="1" type="stmt"/>
1926
- <line num="127" count="1" type="cond" truecount="1" falsecount="0"/>
1927
- <line num="128" count="1" type="stmt"/>
1928
- <line num="132" count="2" type="stmt"/>
1929
- <line num="145" count="3" type="cond" truecount="3" falsecount="0"/>
1930
- <line num="146" count="2" type="stmt"/>
1931
- <line num="148" count="1" type="stmt"/>
2649
+ <line num="67" count="69" type="stmt"/>
2650
+ <line num="70" count="85" type="cond" truecount="4" falsecount="0"/>
2651
+ <line num="71" count="77" type="stmt"/>
2652
+ <line num="74" count="8" type="stmt"/>
2653
+ <line num="75" count="16" type="stmt"/>
2654
+ <line num="76" count="16" type="stmt"/>
2655
+ <line num="77" count="16" type="stmt"/>
2656
+ <line num="81" count="69" type="stmt"/>
2657
+ <line num="84" count="1" type="stmt"/>
2658
+ <line num="88" count="6" type="stmt"/>
2659
+ <line num="90" count="6" type="stmt"/>
2660
+ <line num="91" count="6" type="stmt"/>
2661
+ <line num="94" count="16" type="cond" truecount="0" falsecount="1"/>
2662
+ <line num="95" count="0" type="stmt"/>
2663
+ <line num="100" count="304" type="stmt"/>
2664
+ <line num="101" count="304" type="stmt"/>
2665
+ <line num="103" count="304" type="cond" truecount="2" falsecount="0"/>
2666
+ <line num="104" count="52" type="stmt"/>
2667
+ <line num="105" count="252" type="cond" truecount="2" falsecount="0"/>
2668
+ <line num="106" count="44" type="stmt"/>
2669
+ <line num="107" count="208" type="cond" truecount="2" falsecount="0"/>
2670
+ <line num="108" count="60" type="stmt"/>
2671
+ <line num="109" count="148" type="cond" truecount="2" falsecount="0"/>
2672
+ <line num="110" count="2" type="stmt"/>
2673
+ <line num="111" count="146" type="cond" truecount="2" falsecount="0"/>
2674
+ <line num="112" count="40" type="stmt"/>
2675
+ <line num="114" count="106" type="stmt"/>
2676
+ <line num="117" count="304" type="cond" truecount="0" falsecount="1"/>
2677
+ <line num="118" count="0" type="stmt"/>
2678
+ <line num="121" count="304" type="stmt"/>
2679
+ <line num="128" count="3" type="stmt"/>
2680
+ <line num="130" count="3" type="cond" truecount="0" falsecount="1"/>
2681
+ <line num="131" count="0" type="stmt"/>
2682
+ <line num="134" count="3" type="cond" truecount="0" falsecount="1"/>
2683
+ <line num="135" count="0" type="stmt"/>
2684
+ <line num="138" count="3" type="stmt"/>
2685
+ <line num="139" count="3" type="cond" truecount="1" falsecount="0"/>
2686
+ <line num="143" count="1" type="stmt"/>
1932
2687
  <line num="149" count="1" type="cond" truecount="1" falsecount="0"/>
1933
- <line num="153" count="1" type="stmt"/>
1934
- <line num="155" count="0" type="stmt"/>
1935
- <line num="159" count="0" type="cond" truecount="0" falsecount="1"/>
1936
- <line num="160" count="0" type="stmt"/>
1937
- <line num="163" count="0" type="stmt"/>
1938
- <line num="165" count="0" type="cond" truecount="0" falsecount="1"/>
1939
- <line num="166" count="0" type="stmt"/>
1940
- <line num="167" count="0" type="stmt"/>
1941
- <line num="172" count="6" type="stmt"/>
1942
- <line num="194" count="1" type="stmt"/>
1943
- <line num="204" count="1" type="cond" truecount="0" falsecount="1"/>
1944
- <line num="205" count="0" type="stmt"/>
1945
- <line num="206" count="0" type="stmt"/>
1946
- <line num="207" count="0" type="cond" truecount="0" falsecount="1"/>
1947
- <line num="208" count="0" type="stmt"/>
1948
- <line num="210" count="0" type="stmt"/>
1949
- <line num="221" count="1" type="cond" truecount="5" falsecount="1"/>
1950
- <line num="227" count="1" type="cond" truecount="1" falsecount="1"/>
1951
- <line num="228" count="1" type="cond" truecount="1" falsecount="1"/>
1952
- <line num="230" count="1" type="stmt"/>
1953
- <line num="239" count="1" type="cond" truecount="0" falsecount="1"/>
1954
- <line num="240" count="0" type="stmt"/>
1955
- <line num="241" count="0" type="stmt"/>
1956
- <line num="242" count="0" type="stmt"/>
1957
- <line num="252" count="2" type="stmt"/>
1958
- <line num="254" count="2" type="cond" truecount="2" falsecount="0"/>
1959
- <line num="260" count="2" type="stmt"/>
1960
- <line num="261" count="2" type="stmt"/>
1961
- <line num="263" count="4" type="cond" truecount="2" falsecount="0"/>
1962
- <line num="265" count="4" type="cond" truecount="2" falsecount="0"/>
1963
- <line num="269" count="4" type="cond" truecount="5" falsecount="2"/>
1964
- <line num="274" count="4" type="cond" truecount="2" falsecount="0"/>
1965
- <line num="275" count="4" type="stmt"/>
1966
- <line num="277" count="4" type="stmt"/>
1967
- <line num="289" count="2" type="cond" truecount="0" falsecount="1"/>
1968
- <line num="290" count="0" type="cond" truecount="0" falsecount="4"/>
1969
- <line num="291" count="0" type="stmt"/>
1970
- <line num="298" count="0" type="stmt"/>
1971
- <line num="299" count="0" type="stmt"/>
1972
- <line num="300" count="0" type="cond" truecount="0" falsecount="1"/>
1973
- <line num="301" count="0" type="stmt"/>
1974
- <line num="303" count="0" type="stmt"/>
1975
- <line num="304" count="0" type="stmt"/>
1976
- <line num="305" count="0" type="stmt"/>
1977
- <line num="306" count="0" type="stmt"/>
1978
- <line num="307" count="0" type="stmt"/>
1979
- <line num="308" count="0" type="cond" truecount="0" falsecount="3"/>
1980
- <line num="309" count="0" type="stmt"/>
1981
- <line num="311" count="0" type="stmt"/>
1982
- <line num="315" count="0" type="stmt"/>
1983
- <line num="316" count="0" type="stmt"/>
1984
- <line num="321" count="6" type="cond" truecount="1" falsecount="1"/>
1985
- <line num="323" count="6" type="cond" truecount="0" falsecount="1"/>
1986
- <line num="324" count="0" type="stmt"/>
2688
+ <line num="150" count="1" type="stmt"/>
2689
+ <line num="154" count="2" type="stmt"/>
2690
+ <line num="167" count="3" type="cond" truecount="3" falsecount="0"/>
2691
+ <line num="168" count="2" type="stmt"/>
2692
+ <line num="170" count="1" type="stmt"/>
2693
+ <line num="171" count="1" type="cond" truecount="1" falsecount="0"/>
2694
+ <line num="175" count="1" type="stmt"/>
2695
+ <line num="177" count="0" type="stmt"/>
2696
+ <line num="181" count="0" type="cond" truecount="0" falsecount="1"/>
2697
+ <line num="182" count="0" type="stmt"/>
2698
+ <line num="185" count="0" type="stmt"/>
2699
+ <line num="187" count="0" type="cond" truecount="0" falsecount="1"/>
2700
+ <line num="188" count="0" type="stmt"/>
2701
+ <line num="189" count="0" type="stmt"/>
2702
+ <line num="194" count="6" type="stmt"/>
2703
+ <line num="216" count="1" type="stmt"/>
2704
+ <line num="226" count="1" type="cond" truecount="0" falsecount="1"/>
2705
+ <line num="227" count="0" type="stmt"/>
2706
+ <line num="228" count="0" type="stmt"/>
2707
+ <line num="229" count="0" type="cond" truecount="0" falsecount="1"/>
2708
+ <line num="230" count="0" type="stmt"/>
2709
+ <line num="232" count="0" type="stmt"/>
2710
+ <line num="243" count="1" type="cond" truecount="5" falsecount="1"/>
2711
+ <line num="249" count="1" type="cond" truecount="1" falsecount="1"/>
2712
+ <line num="250" count="1" type="cond" truecount="1" falsecount="1"/>
2713
+ <line num="252" count="1" type="stmt"/>
2714
+ <line num="261" count="1" type="cond" truecount="0" falsecount="1"/>
2715
+ <line num="262" count="0" type="stmt"/>
2716
+ <line num="263" count="0" type="stmt"/>
2717
+ <line num="264" count="0" type="stmt"/>
2718
+ <line num="274" count="2" type="stmt"/>
2719
+ <line num="276" count="2" type="cond" truecount="2" falsecount="0"/>
2720
+ <line num="282" count="2" type="stmt"/>
2721
+ <line num="283" count="2" type="stmt"/>
2722
+ <line num="285" count="4" type="cond" truecount="2" falsecount="0"/>
2723
+ <line num="287" count="4" type="cond" truecount="2" falsecount="0"/>
2724
+ <line num="291" count="4" type="cond" truecount="5" falsecount="2"/>
2725
+ <line num="296" count="4" type="cond" truecount="2" falsecount="0"/>
2726
+ <line num="297" count="4" type="stmt"/>
2727
+ <line num="299" count="4" type="stmt"/>
2728
+ <line num="311" count="2" type="cond" truecount="0" falsecount="1"/>
2729
+ <line num="312" count="0" type="cond" truecount="0" falsecount="4"/>
2730
+ <line num="313" count="0" type="stmt"/>
2731
+ <line num="320" count="0" type="stmt"/>
2732
+ <line num="321" count="0" type="stmt"/>
2733
+ <line num="322" count="0" type="cond" truecount="0" falsecount="1"/>
2734
+ <line num="323" count="0" type="stmt"/>
1987
2735
  <line num="325" count="0" type="stmt"/>
1988
2736
  <line num="326" count="0" type="stmt"/>
1989
- <line num="330" count="6" type="stmt"/>
1990
- <line num="331" count="6" type="stmt"/>
1991
- <line num="333" count="6" type="cond" truecount="3" falsecount="0"/>
1992
- <line num="334" count="3" type="cond" truecount="1" falsecount="1"/>
1993
- <line num="336" count="0" type="stmt"/>
1994
- <line num="338" count="3" type="cond" truecount="1" falsecount="0"/>
1995
- <line num="339" count="3" type="stmt"/>
1996
- <line num="342" count="3" type="stmt"/>
1997
- <line num="343" count="34" type="stmt"/>
1998
- <line num="345" count="34" type="cond" truecount="1" falsecount="0"/>
1999
- <line num="346" count="1" type="stmt"/>
2000
- <line num="356" count="34" type="stmt"/>
2001
- <line num="357" count="34" type="stmt"/>
2002
- <line num="358" count="34" type="stmt"/>
2003
- <line num="360" count="34" type="cond" truecount="1" falsecount="2"/>
2004
- <line num="361" count="0" type="stmt"/>
2005
- <line num="364" count="0" type="stmt"/>
2006
- <line num="369" count="6" type="stmt"/>
2007
- <line num="372" count="6" type="stmt"/>
2008
- <line num="373" count="6" type="stmt"/>
2009
- <line num="377" count="6" type="stmt"/>
2010
- <line num="379" count="6" type="cond" truecount="3" falsecount="0"/>
2011
- <line num="380" count="2" type="cond" truecount="1" falsecount="1"/>
2012
- <line num="382" count="2" type="cond" truecount="1" falsecount="0"/>
2013
- <line num="383" count="2" type="stmt"/>
2014
- <line num="386" count="2" type="stmt"/>
2015
- <line num="387" count="32" type="stmt"/>
2016
- <line num="389" count="32" type="cond" truecount="0" falsecount="1"/>
2017
- <line num="390" count="0" type="stmt"/>
2018
- <line num="400" count="32" type="stmt"/>
2019
- <line num="401" count="32" type="stmt"/>
2020
- <line num="402" count="32" type="stmt"/>
2021
- <line num="404" count="32" type="cond" truecount="1" falsecount="2"/>
2022
- <line num="405" count="0" type="stmt"/>
2023
- <line num="408" count="0" type="stmt"/>
2024
- <line num="414" count="6" type="stmt"/>
2025
- <line num="415" count="6" type="stmt"/>
2026
- <line num="416" count="6" type="stmt"/>
2027
- <line num="417" count="80" type="stmt"/>
2028
- <line num="418" count="80" type="stmt"/>
2737
+ <line num="327" count="0" type="stmt"/>
2738
+ <line num="328" count="0" type="stmt"/>
2739
+ <line num="329" count="0" type="stmt"/>
2740
+ <line num="330" count="0" type="cond" truecount="0" falsecount="3"/>
2741
+ <line num="331" count="0" type="stmt"/>
2742
+ <line num="333" count="0" type="stmt"/>
2743
+ <line num="337" count="0" type="stmt"/>
2744
+ <line num="338" count="0" type="stmt"/>
2745
+ <line num="343" count="6" type="cond" truecount="1" falsecount="1"/>
2746
+ <line num="345" count="6" type="cond" truecount="0" falsecount="1"/>
2747
+ <line num="346" count="0" type="stmt"/>
2748
+ <line num="347" count="0" type="stmt"/>
2749
+ <line num="348" count="0" type="stmt"/>
2750
+ <line num="352" count="6" type="stmt"/>
2751
+ <line num="353" count="6" type="stmt"/>
2752
+ <line num="354" count="6" type="stmt"/>
2753
+ <line num="355" count="80" type="stmt"/>
2754
+ <line num="356" count="80" type="stmt"/>
2755
+ <line num="363" count="6" type="stmt"/>
2756
+ <line num="364" count="6" type="stmt"/>
2757
+ <line num="365" count="6" type="stmt"/>
2758
+ <line num="367" count="6" type="stmt"/>
2759
+ <line num="368" count="69" type="stmt"/>
2760
+ <line num="369" count="69" type="stmt"/>
2761
+ <line num="375" count="6" type="cond" truecount="3" falsecount="0"/>
2762
+ <line num="376" count="3" type="cond" truecount="1" falsecount="1"/>
2763
+ <line num="378" count="0" type="stmt"/>
2764
+ <line num="380" count="3" type="cond" truecount="1" falsecount="0"/>
2765
+ <line num="381" count="3" type="stmt"/>
2766
+ <line num="384" count="3" type="stmt"/>
2767
+ <line num="385" count="52" type="stmt"/>
2768
+ <line num="387" count="52" type="cond" truecount="1" falsecount="0"/>
2769
+ <line num="388" count="1" type="stmt"/>
2770
+ <line num="398" count="52" type="stmt"/>
2771
+ <line num="399" count="52" type="cond" truecount="1" falsecount="1"/>
2772
+ <line num="400" count="52" type="stmt"/>
2773
+ <line num="402" count="52" type="cond" truecount="1" falsecount="2"/>
2774
+ <line num="403" count="0" type="stmt"/>
2775
+ <line num="406" count="0" type="stmt"/>
2776
+ <line num="411" count="6" type="stmt"/>
2777
+ <line num="412" count="6" type="stmt"/>
2778
+ <line num="413" count="69" type="stmt"/>
2779
+ <line num="414" count="69" type="cond" truecount="0" falsecount="1"/>
2780
+ <line num="415" count="0" type="stmt"/>
2781
+ <line num="418" count="69" type="stmt"/>
2782
+ <line num="420" count="6" type="stmt"/>
2783
+ <line num="423" count="6" type="stmt"/>
2784
+ <line num="424" count="6" type="stmt"/>
2029
2785
  <line num="425" count="6" type="stmt"/>
2030
- <line num="426" count="6" type="stmt"/>
2031
- <line num="436" count="6" type="cond" truecount="3" falsecount="0"/>
2032
- <line num="437" count="4" type="cond" truecount="1" falsecount="1"/>
2033
- <line num="439" count="4" type="cond" truecount="1" falsecount="0"/>
2034
- <line num="440" count="4" type="stmt"/>
2035
- <line num="443" count="4" type="stmt"/>
2036
- <line num="444" count="52" type="stmt"/>
2037
- <line num="446" count="52" type="cond" truecount="0" falsecount="1"/>
2038
- <line num="447" count="0" type="stmt"/>
2039
- <line num="459" count="52" type="stmt"/>
2040
- <line num="460" count="52" type="stmt"/>
2041
- <line num="462" count="51" type="stmt"/>
2042
- <line num="464" count="51" type="cond" truecount="3" falsecount="0"/>
2043
- <line num="465" count="1" type="stmt"/>
2044
- <line num="468" count="1" type="stmt"/>
2045
- <line num="471" count="52" type="cond" truecount="3" falsecount="0"/>
2046
- <line num="472" count="2" type="stmt"/>
2047
- <line num="473" count="2" type="stmt"/>
2048
- <line num="475" count="0" type="stmt"/>
2049
- <line num="488" count="6" type="stmt"/>
2050
- <line num="489" count="6" type="stmt"/>
2051
- <line num="491" count="6" type="cond" truecount="3" falsecount="0"/>
2052
- <line num="492" count="2" type="cond" truecount="1" falsecount="1"/>
2053
- <line num="494" count="2" type="cond" truecount="1" falsecount="0"/>
2054
- <line num="495" count="2" type="stmt"/>
2055
- <line num="498" count="2" type="stmt"/>
2056
- <line num="499" count="2" type="stmt"/>
2057
- <line num="501" count="2" type="cond" truecount="0" falsecount="1"/>
2058
- <line num="502" count="0" type="stmt"/>
2059
- <line num="514" count="2" type="stmt"/>
2060
- <line num="515" count="2" type="stmt"/>
2061
- <line num="517" count="2" type="stmt"/>
2062
- <line num="519" count="2" type="cond" truecount="1" falsecount="2"/>
2063
- <line num="520" count="0" type="stmt"/>
2064
- <line num="523" count="0" type="stmt"/>
2065
- <line num="526" count="2" type="cond" truecount="1" falsecount="0"/>
2066
- <line num="527" count="2" type="stmt"/>
2067
- <line num="528" count="2" type="stmt"/>
2068
- <line num="530" count="0" type="stmt"/>
2069
- <line num="545" count="6" type="stmt"/>
2070
- <line num="547" count="6" type="cond" truecount="3" falsecount="0"/>
2071
- <line num="548" count="2" type="cond" truecount="1" falsecount="1"/>
2072
- <line num="550" count="2" type="cond" truecount="1" falsecount="0"/>
2786
+ <line num="427" count="6" type="cond" truecount="3" falsecount="0"/>
2787
+ <line num="428" count="2" type="cond" truecount="1" falsecount="1"/>
2788
+ <line num="430" count="2" type="cond" truecount="1" falsecount="0"/>
2789
+ <line num="431" count="2" type="stmt"/>
2790
+ <line num="434" count="2" type="stmt"/>
2791
+ <line num="435" count="44" type="stmt"/>
2792
+ <line num="437" count="44" type="cond" truecount="0" falsecount="1"/>
2793
+ <line num="438" count="0" type="stmt"/>
2794
+ <line num="448" count="44" type="stmt"/>
2795
+ <line num="449" count="44" type="stmt"/>
2796
+ <line num="450" count="44" type="stmt"/>
2797
+ <line num="452" count="44" type="cond" truecount="1" falsecount="2"/>
2798
+ <line num="453" count="0" type="stmt"/>
2799
+ <line num="456" count="0" type="stmt"/>
2800
+ <line num="462" count="6" type="stmt"/>
2801
+ <line num="463" count="6" type="stmt"/>
2802
+ <line num="473" count="6" type="cond" truecount="3" falsecount="0"/>
2803
+ <line num="474" count="4" type="cond" truecount="1" falsecount="1"/>
2804
+ <line num="476" count="4" type="cond" truecount="1" falsecount="0"/>
2805
+ <line num="477" count="4" type="stmt"/>
2806
+ <line num="480" count="4" type="stmt"/>
2807
+ <line num="481" count="56" type="stmt"/>
2808
+ <line num="483" count="56" type="cond" truecount="0" falsecount="1"/>
2809
+ <line num="484" count="0" type="stmt"/>
2810
+ <line num="496" count="56" type="stmt"/>
2811
+ <line num="497" count="56" type="stmt"/>
2812
+ <line num="499" count="55" type="stmt"/>
2813
+ <line num="501" count="55" type="cond" truecount="3" falsecount="0"/>
2814
+ <line num="502" count="1" type="stmt"/>
2815
+ <line num="505" count="1" type="stmt"/>
2816
+ <line num="508" count="56" type="cond" truecount="3" falsecount="0"/>
2817
+ <line num="509" count="2" type="stmt"/>
2818
+ <line num="510" count="2" type="stmt"/>
2819
+ <line num="512" count="0" type="stmt"/>
2820
+ <line num="525" count="6" type="stmt"/>
2821
+ <line num="526" count="6" type="stmt"/>
2822
+ <line num="528" count="6" type="cond" truecount="3" falsecount="0"/>
2823
+ <line num="529" count="2" type="cond" truecount="1" falsecount="1"/>
2824
+ <line num="531" count="2" type="cond" truecount="1" falsecount="0"/>
2825
+ <line num="532" count="2" type="stmt"/>
2826
+ <line num="535" count="2" type="stmt"/>
2827
+ <line num="536" count="2" type="stmt"/>
2828
+ <line num="538" count="2" type="cond" truecount="0" falsecount="1"/>
2829
+ <line num="539" count="0" type="stmt"/>
2073
2830
  <line num="551" count="2" type="stmt"/>
2831
+ <line num="552" count="2" type="stmt"/>
2074
2832
  <line num="554" count="2" type="stmt"/>
2075
- <line num="555" count="40" type="stmt"/>
2076
- <line num="557" count="40" type="cond" truecount="0" falsecount="1"/>
2077
- <line num="558" count="0" type="stmt"/>
2078
- <line num="568" count="40" type="stmt"/>
2079
- <line num="569" count="40" type="stmt"/>
2080
- <line num="571" count="40" type="stmt"/>
2081
- <line num="573" count="40" type="cond" truecount="1" falsecount="2"/>
2082
- <line num="574" count="0" type="stmt"/>
2083
- <line num="577" count="0" type="stmt"/>
2084
- <line num="583" count="6" type="stmt"/>
2085
- <line num="585" count="6" type="stmt"/>
2086
- <line num="591" count="6" type="cond" truecount="3" falsecount="0"/>
2087
- <line num="592" count="3" type="cond" truecount="1" falsecount="1"/>
2088
- <line num="594" count="3" type="cond" truecount="1" falsecount="0"/>
2089
- <line num="595" count="3" type="stmt"/>
2090
- <line num="598" count="3" type="stmt"/>
2091
- <line num="599" count="88" type="stmt"/>
2092
- <line num="601" count="88" type="cond" truecount="0" falsecount="1"/>
2093
- <line num="602" count="0" type="stmt"/>
2094
- <line num="612" count="88" type="stmt"/>
2095
- <line num="613" count="88" type="stmt"/>
2096
- <line num="615" count="88" type="stmt"/>
2097
- <line num="617" count="88" type="cond" truecount="3" falsecount="0"/>
2098
- <line num="618" count="1" type="stmt"/>
2099
- <line num="621" count="0" type="stmt"/>
2100
- <line num="626" count="6" type="stmt"/>
2101
- <line num="632" count="1" type="stmt"/>
2102
- <line num="635" count="1" type="stmt"/>
2103
- <line num="637" count="1" type="stmt"/>
2104
- <line num="653" count="1" type="cond" truecount="1" falsecount="0"/>
2105
- <line num="654" count="1" type="stmt"/>
2106
- <line num="655" count="1" type="cond" truecount="1" falsecount="1"/>
2107
- <line num="658" count="1" type="cond" truecount="0" falsecount="1"/>
2108
- <line num="659" count="0" type="stmt"/>
2833
+ <line num="556" count="2" type="cond" truecount="1" falsecount="2"/>
2834
+ <line num="557" count="0" type="stmt"/>
2835
+ <line num="560" count="0" type="stmt"/>
2836
+ <line num="563" count="2" type="cond" truecount="1" falsecount="0"/>
2837
+ <line num="564" count="2" type="stmt"/>
2838
+ <line num="565" count="2" type="stmt"/>
2839
+ <line num="567" count="0" type="stmt"/>
2840
+ <line num="582" count="6" type="stmt"/>
2841
+ <line num="584" count="6" type="cond" truecount="3" falsecount="0"/>
2842
+ <line num="585" count="2" type="cond" truecount="1" falsecount="1"/>
2843
+ <line num="587" count="2" type="cond" truecount="1" falsecount="0"/>
2844
+ <line num="588" count="2" type="stmt"/>
2845
+ <line num="591" count="2" type="stmt"/>
2846
+ <line num="592" count="40" type="stmt"/>
2847
+ <line num="594" count="40" type="cond" truecount="0" falsecount="1"/>
2848
+ <line num="595" count="0" type="stmt"/>
2849
+ <line num="605" count="40" type="stmt"/>
2850
+ <line num="606" count="40" type="stmt"/>
2851
+ <line num="608" count="40" type="stmt"/>
2852
+ <line num="610" count="40" type="cond" truecount="1" falsecount="2"/>
2853
+ <line num="611" count="0" type="stmt"/>
2854
+ <line num="614" count="0" type="stmt"/>
2855
+ <line num="620" count="6" type="stmt"/>
2856
+ <line num="622" count="6" type="stmt"/>
2857
+ <line num="628" count="6" type="cond" truecount="3" falsecount="0"/>
2858
+ <line num="629" count="3" type="cond" truecount="1" falsecount="1"/>
2859
+ <line num="631" count="3" type="cond" truecount="1" falsecount="0"/>
2860
+ <line num="632" count="3" type="stmt"/>
2861
+ <line num="635" count="3" type="stmt"/>
2862
+ <line num="636" count="106" type="stmt"/>
2863
+ <line num="638" count="106" type="cond" truecount="0" falsecount="1"/>
2864
+ <line num="639" count="0" type="stmt"/>
2865
+ <line num="649" count="106" type="stmt"/>
2866
+ <line num="650" count="106" type="stmt"/>
2867
+ <line num="652" count="106" type="stmt"/>
2868
+ <line num="654" count="106" type="cond" truecount="3" falsecount="0"/>
2869
+ <line num="655" count="1" type="stmt"/>
2870
+ <line num="658" count="0" type="stmt"/>
2871
+ <line num="663" count="6" type="stmt"/>
2872
+ <line num="669" count="1" type="stmt"/>
2873
+ <line num="672" count="1" type="stmt"/>
2874
+ <line num="674" count="1" type="stmt"/>
2875
+ <line num="690" count="1" type="cond" truecount="1" falsecount="0"/>
2876
+ <line num="691" count="1" type="stmt"/>
2877
+ <line num="692" count="1" type="cond" truecount="1" falsecount="1"/>
2878
+ <line num="695" count="1" type="cond" truecount="0" falsecount="1"/>
2879
+ <line num="696" count="0" type="stmt"/>
2109
2880
  </file>
2110
2881
  <file name="mutationNotation.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/mutationNotation.ts">
2111
2882
  <metrics statements="145" coveredstatements="135" conditionals="157" coveredconditionals="121" methods="8" coveredmethods="8"/>
@@ -2276,7 +3047,7 @@
2276
3047
  </file>
2277
3048
  <file name="schema.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/schema.ts">
2278
3049
  <metrics statements="182" coveredstatements="165" conditionals="190" coveredconditionals="164" methods="25" coveredmethods="22"/>
2279
- <line num="2" count="3" type="stmt"/>
3050
+ <line num="2" count="4" type="stmt"/>
2280
3051
  <line num="6" count="59" type="cond" truecount="3" falsecount="4"/>
2281
3052
  <line num="8" count="45" type="stmt"/>
2282
3053
  <line num="10" count="3" type="stmt"/>
@@ -2285,7 +3056,7 @@
2285
3056
  <line num="16" count="0" type="cond" truecount="0" falsecount="3"/>
2286
3057
  <line num="18" count="0" type="stmt"/>
2287
3058
  <line num="20" count="0" type="stmt"/>
2288
- <line num="46" count="3" type="stmt"/>
3059
+ <line num="46" count="4" type="stmt"/>
2289
3060
  <line num="51" count="675" type="cond" truecount="3" falsecount="0"/>
2290
3061
  <line num="52" count="674" type="stmt"/>
2291
3062
  <line num="53" count="674" type="stmt"/>
@@ -2305,23 +3076,23 @@
2305
3076
  <line num="86" count="7" type="stmt"/>
2306
3077
  <line num="87" count="13" type="cond" truecount="3" falsecount="0"/>
2307
3078
  <line num="88" count="13" type="stmt"/>
2308
- <line num="98" count="3" type="stmt"/>
2309
- <line num="103" count="1194" type="cond" truecount="2" falsecount="1"/>
2310
- <line num="104" count="1194" type="stmt"/>
2311
- <line num="105" count="1194" type="stmt"/>
2312
- <line num="106" count="1194" type="stmt"/>
2313
- <line num="107" count="1194" type="cond" truecount="2" falsecount="0"/>
2314
- <line num="108" count="1194" type="cond" truecount="5" falsecount="0"/>
2315
- <line num="109" count="6" type="stmt"/>
2316
- <line num="115" count="1194" type="cond" truecount="4" falsecount="0"/>
3079
+ <line num="98" count="4" type="stmt"/>
3080
+ <line num="103" count="1386" type="cond" truecount="2" falsecount="1"/>
3081
+ <line num="104" count="1386" type="stmt"/>
3082
+ <line num="105" count="1386" type="stmt"/>
3083
+ <line num="106" count="1386" type="stmt"/>
3084
+ <line num="107" count="1386" type="cond" truecount="2" falsecount="0"/>
3085
+ <line num="108" count="1386" type="cond" truecount="5" falsecount="0"/>
3086
+ <line num="109" count="7" type="stmt"/>
3087
+ <line num="115" count="1386" type="cond" truecount="4" falsecount="0"/>
2317
3088
  <line num="116" count="3" type="stmt"/>
2318
3089
  <line num="117" count="3" type="cond" truecount="3" falsecount="0"/>
2319
3090
  <line num="118" count="1" type="stmt"/>
2320
- <line num="125" count="1194" type="cond" truecount="4" falsecount="0"/>
3091
+ <line num="125" count="1386" type="cond" truecount="4" falsecount="0"/>
2321
3092
  <line num="126" count="3" type="stmt"/>
2322
3093
  <line num="127" count="3" type="cond" truecount="3" falsecount="0"/>
2323
3094
  <line num="128" count="1" type="stmt"/>
2324
- <line num="135" count="1194" type="cond" truecount="4" falsecount="0"/>
3095
+ <line num="135" count="1386" type="cond" truecount="4" falsecount="0"/>
2325
3096
  <line num="136" count="1" type="stmt"/>
2326
3097
  <line num="137" count="3" type="stmt"/>
2327
3098
  <line num="138" count="3" type="cond" truecount="1" falsecount="0"/>
@@ -2329,18 +3100,18 @@
2329
3100
  <line num="140" count="0" type="stmt"/>
2330
3101
  <line num="146" count="3" type="cond" truecount="3" falsecount="0"/>
2331
3102
  <line num="147" count="1" type="stmt"/>
2332
- <line num="156" count="1194" type="cond" truecount="3" falsecount="0"/>
2333
- <line num="157" count="86" type="stmt"/>
2334
- <line num="159" count="1194" type="cond" truecount="3" falsecount="0"/>
2335
- <line num="160" count="215" type="stmt"/>
2336
- <line num="161" count="404" type="stmt"/>
2337
- <line num="168" count="1194" type="cond" truecount="3" falsecount="0"/>
2338
- <line num="169" count="11" type="stmt"/>
2339
- <line num="175" count="1194" type="cond" truecount="3" falsecount="0"/>
2340
- <line num="176" count="12" type="stmt"/>
2341
- <line num="177" count="23" type="cond" truecount="3" falsecount="0"/>
2342
- <line num="178" count="23" type="stmt"/>
2343
- <line num="188" count="3" type="stmt"/>
3103
+ <line num="156" count="1386" type="cond" truecount="3" falsecount="0"/>
3104
+ <line num="157" count="97" type="stmt"/>
3105
+ <line num="159" count="1386" type="cond" truecount="3" falsecount="0"/>
3106
+ <line num="160" count="236" type="stmt"/>
3107
+ <line num="161" count="433" type="stmt"/>
3108
+ <line num="168" count="1386" type="cond" truecount="3" falsecount="0"/>
3109
+ <line num="169" count="13" type="stmt"/>
3110
+ <line num="175" count="1386" type="cond" truecount="3" falsecount="0"/>
3111
+ <line num="176" count="23" type="stmt"/>
3112
+ <line num="177" count="45" type="cond" truecount="3" falsecount="0"/>
3113
+ <line num="178" count="45" type="stmt"/>
3114
+ <line num="188" count="4" type="stmt"/>
2344
3115
  <line num="193" count="1195" type="cond" truecount="2" falsecount="1"/>
2345
3116
  <line num="194" count="1195" type="stmt"/>
2346
3117
  <line num="195" count="1195" type="stmt"/>
@@ -2406,48 +3177,48 @@
2406
3177
  <line num="325" count="0" type="stmt"/>
2407
3178
  <line num="326" count="0" type="stmt"/>
2408
3179
  <line num="329" count="3" type="stmt"/>
2409
- <line num="336" count="3" type="stmt"/>
2410
- <line num="341" count="1194" type="cond" truecount="2" falsecount="1"/>
2411
- <line num="342" count="1194" type="stmt"/>
2412
- <line num="343" count="1194" type="stmt"/>
2413
- <line num="344" count="1194" type="stmt"/>
2414
- <line num="345" count="1194" type="stmt"/>
2415
- <line num="346" count="1194" type="stmt"/>
2416
- <line num="347" count="1194" type="cond" truecount="5" falsecount="0"/>
3180
+ <line num="336" count="4" type="stmt"/>
3181
+ <line num="341" count="1386" type="cond" truecount="2" falsecount="1"/>
3182
+ <line num="342" count="1386" type="stmt"/>
3183
+ <line num="343" count="1386" type="stmt"/>
3184
+ <line num="344" count="1386" type="stmt"/>
3185
+ <line num="345" count="1386" type="stmt"/>
3186
+ <line num="346" count="1386" type="stmt"/>
3187
+ <line num="347" count="1386" type="cond" truecount="5" falsecount="0"/>
2417
3188
  <line num="348" count="4" type="stmt"/>
2418
- <line num="354" count="1194" type="stmt"/>
2419
- <line num="355" count="6" type="cond" truecount="3" falsecount="0"/>
3189
+ <line num="354" count="1386" type="stmt"/>
3190
+ <line num="355" count="12" type="cond" truecount="3" falsecount="0"/>
2420
3191
  <line num="356" count="1" type="stmt"/>
2421
- <line num="362" count="6" type="cond" truecount="3" falsecount="0"/>
3192
+ <line num="362" count="12" type="cond" truecount="3" falsecount="0"/>
2422
3193
  <line num="363" count="1" type="stmt"/>
2423
- <line num="369" count="6" type="cond" truecount="1" falsecount="0"/>
3194
+ <line num="369" count="12" type="cond" truecount="1" falsecount="0"/>
2424
3195
  <line num="370" count="4" type="stmt"/>
2425
3196
  <line num="371" count="6" type="stmt"/>
2426
3197
  <line num="372" count="5" type="cond" truecount="1" falsecount="0"/>
2427
3198
  <line num="373" count="2" type="stmt"/>
2428
3199
  <line num="378" count="2" type="stmt"/>
2429
- <line num="384" count="1194" type="cond" truecount="3" falsecount="0"/>
2430
- <line num="385" count="3" type="stmt"/>
2431
- <line num="387" count="1194" type="cond" truecount="4" falsecount="0"/>
2432
- <line num="388" count="1" type="stmt"/>
2433
- <line num="389" count="3" type="stmt"/>
2434
- <line num="390" count="3" type="cond" truecount="1" falsecount="0"/>
2435
- <line num="393" count="1194" type="cond" truecount="3" falsecount="0"/>
2436
- <line num="394" count="87" type="stmt"/>
2437
- <line num="396" count="1194" type="cond" truecount="3" falsecount="0"/>
2438
- <line num="397" count="215" type="stmt"/>
2439
- <line num="398" count="404" type="stmt"/>
2440
- <line num="401" count="1194" type="cond" truecount="3" falsecount="0"/>
2441
- <line num="402" count="11" type="stmt"/>
2442
- <line num="408" count="1194" type="cond" truecount="3" falsecount="0"/>
2443
- <line num="409" count="12" type="stmt"/>
2444
- <line num="410" count="23" type="cond" truecount="3" falsecount="0"/>
2445
- <line num="411" count="23" type="stmt"/>
2446
- <line num="418" count="3" type="stmt"/>
2447
- <line num="419" count="2971" type="stmt"/>
2448
- <line num="432" count="3" type="stmt"/>
2449
- <line num="441" count="3" type="cond" truecount="0" falsecount="1"/>
2450
- <line num="442" count="117" type="stmt"/>
3200
+ <line num="384" count="1386" type="cond" truecount="3" falsecount="0"/>
3201
+ <line num="385" count="4" type="stmt"/>
3202
+ <line num="387" count="1386" type="cond" truecount="4" falsecount="0"/>
3203
+ <line num="388" count="4" type="stmt"/>
3204
+ <line num="389" count="8" type="stmt"/>
3205
+ <line num="390" count="8" type="cond" truecount="1" falsecount="0"/>
3206
+ <line num="393" count="1386" type="cond" truecount="3" falsecount="0"/>
3207
+ <line num="394" count="98" type="stmt"/>
3208
+ <line num="396" count="1386" type="cond" truecount="3" falsecount="0"/>
3209
+ <line num="397" count="236" type="stmt"/>
3210
+ <line num="398" count="433" type="stmt"/>
3211
+ <line num="401" count="1386" type="cond" truecount="3" falsecount="0"/>
3212
+ <line num="402" count="13" type="stmt"/>
3213
+ <line num="408" count="1386" type="cond" truecount="3" falsecount="0"/>
3214
+ <line num="409" count="23" type="stmt"/>
3215
+ <line num="410" count="45" type="cond" truecount="3" falsecount="0"/>
3216
+ <line num="411" count="45" type="stmt"/>
3217
+ <line num="418" count="4" type="stmt"/>
3218
+ <line num="419" count="3018" type="stmt"/>
3219
+ <line num="432" count="4" type="stmt"/>
3220
+ <line num="441" count="4" type="cond" truecount="0" falsecount="1"/>
3221
+ <line num="442" count="121" type="stmt"/>
2451
3222
  <line num="443" count="423" type="stmt"/>
2452
3223
  <line num="466" count="33" type="stmt"/>
2453
3224
  <line num="467" count="2" type="stmt"/>
@@ -2457,14 +3228,14 @@
2457
3228
  <line num="486" count="423" type="stmt"/>
2458
3229
  <line num="487" count="423" type="stmt"/>
2459
3230
  <line num="488" count="423" type="stmt"/>
2460
- <line num="491" count="117" type="stmt"/>
3231
+ <line num="491" count="121" type="stmt"/>
2461
3232
  </file>
2462
3233
  <file name="segmentSchema.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/segmentSchema.ts">
2463
3234
  <metrics statements="4" coveredstatements="4" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
2464
3235
  <line num="1" count="2" type="stmt"/>
2465
3236
  <line num="5" count="2" type="stmt"/>
2466
- <line num="6" count="23" type="stmt"/>
2467
- <line num="14" count="23" type="stmt"/>
3237
+ <line num="6" count="27" type="stmt"/>
3238
+ <line num="14" count="27" type="stmt"/>
2468
3239
  </file>
2469
3240
  <file name="testSchema.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/linter/testSchema.ts">
2470
3241
  <metrics statements="21" coveredstatements="13" conditionals="8" coveredconditionals="6" methods="12" coveredmethods="4"/>
@@ -2473,15 +3244,15 @@
2473
3244
  <line num="10" count="6" type="cond" truecount="1" falsecount="1"/>
2474
3245
  <line num="12" count="6" type="stmt"/>
2475
3246
  <line num="24" count="6" type="stmt"/>
2476
- <line num="27" count="18" type="stmt"/>
3247
+ <line num="27" count="33" type="stmt"/>
2477
3248
  <line num="28" count="0" type="stmt"/>
2478
3249
  <line num="45" count="6" type="stmt"/>
2479
- <line num="48" count="70" type="stmt"/>
3250
+ <line num="48" count="73" type="stmt"/>
2480
3251
  <line num="49" count="0" type="stmt"/>
2481
- <line num="67" count="399" type="cond" truecount="1" falsecount="0"/>
3252
+ <line num="67" count="408" type="cond" truecount="1" falsecount="0"/>
2482
3253
  <line num="69" count="3" type="stmt"/>
2483
- <line num="73" count="396" type="cond" truecount="1" falsecount="0"/>
2484
- <line num="77" count="396" type="stmt"/>
3254
+ <line num="73" count="405" type="cond" truecount="1" falsecount="0"/>
3255
+ <line num="77" count="405" type="stmt"/>
2485
3256
  <line num="80" count="0" type="stmt"/>
2486
3257
  <line num="82" count="0" type="stmt"/>
2487
3258
  <line num="90" count="0" type="stmt"/>
@@ -2585,21 +3356,21 @@
2585
3356
  <metrics statements="98" coveredstatements="93" conditionals="61" coveredconditionals="47" methods="12" coveredmethods="12"/>
2586
3357
  <file name="index.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/parsers/index.ts">
2587
3358
  <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
2588
- <line num="1" count="4" type="stmt"/>
2589
- <line num="2" count="4" type="stmt"/>
2590
- <line num="15" count="4" type="stmt"/>
3359
+ <line num="1" count="5" type="stmt"/>
3360
+ <line num="2" count="5" type="stmt"/>
3361
+ <line num="15" count="5" type="stmt"/>
2591
3362
  </file>
2592
3363
  <file name="json.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/parsers/json.ts">
2593
3364
  <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="2" coveredmethods="2"/>
2594
- <line num="3" count="5" type="stmt"/>
3365
+ <line num="3" count="6" type="stmt"/>
2595
3366
  <line num="6" count="3" type="stmt"/>
2596
3367
  <line num="9" count="2" type="stmt"/>
2597
3368
  </file>
2598
3369
  <file name="yml.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/parsers/yml.ts">
2599
3370
  <metrics statements="92" coveredstatements="87" conditionals="61" coveredconditionals="47" methods="10" coveredmethods="10"/>
2600
- <line num="1" count="5" type="stmt"/>
2601
- <line num="3" count="5" type="stmt"/>
2602
- <line num="5" count="5" type="stmt"/>
3371
+ <line num="1" count="6" type="stmt"/>
3372
+ <line num="3" count="6" type="stmt"/>
3373
+ <line num="5" count="6" type="stmt"/>
2603
3374
  <line num="10" count="8" type="cond" truecount="0" falsecount="1"/>
2604
3375
  <line num="11" count="8" type="cond" truecount="1" falsecount="0"/>
2605
3376
  <line num="12" count="8" type="stmt"/>
@@ -2677,8 +3448,8 @@
2677
3448
  <line num="134" count="5" type="cond" truecount="1" falsecount="0"/>
2678
3449
  <line num="135" count="5" type="stmt"/>
2679
3450
  <line num="138" count="2" type="stmt"/>
2680
- <line num="141" count="5" type="stmt"/>
2681
- <line num="144" count="393" type="stmt"/>
3451
+ <line num="141" count="6" type="stmt"/>
3452
+ <line num="144" count="481" type="stmt"/>
2682
3453
  <line num="147" count="7" type="cond" truecount="3" falsecount="0"/>
2683
3454
  <line num="148" count="3" type="stmt"/>
2684
3455
  <line num="151" count="4" type="stmt"/>
@@ -2815,7 +3586,7 @@
2815
3586
  </file>
2816
3587
  <file name="git.ts" path="/home/runner/work/featurevisor/featurevisor/packages/core/src/utils/git.ts">
2817
3588
  <metrics statements="77" coveredstatements="2" conditionals="48" coveredconditionals="0" methods="6" coveredmethods="0"/>
2818
- <line num="1" count="4" type="stmt"/>
3589
+ <line num="1" count="5" type="stmt"/>
2819
3590
  <line num="9" count="0" type="stmt"/>
2820
3591
  <line num="15" count="0" type="stmt"/>
2821
3592
  <line num="23" count="0" type="stmt"/>
@@ -2849,7 +3620,7 @@
2849
3620
  <line num="62" count="0" type="cond" truecount="0" falsecount="1"/>
2850
3621
  <line num="63" count="0" type="stmt"/>
2851
3622
  <line num="66" count="0" type="stmt"/>
2852
- <line num="69" count="4" type="stmt"/>
3623
+ <line num="69" count="5" type="stmt"/>
2853
3624
  <line num="73" count="0" type="stmt"/>
2854
3625
  <line num="74" count="0" type="stmt"/>
2855
3626
  <line num="76" count="0" type="stmt"/>