@featurevisor/core 2.25.0 → 2.26.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.
- package/CHANGELOG.md +22 -0
- package/coverage/clover.xml +1499 -1476
- package/coverage/coverage-final.json +18 -17
- package/coverage/lcov-report/builder/allocator.ts.html +1 -1
- package/coverage/lcov-report/builder/buildDatafile.ts.html +1 -1
- package/coverage/lcov-report/builder/buildScopedConditions.ts.html +1 -1
- package/coverage/lcov-report/builder/buildScopedDatafile.ts.html +1 -1
- package/coverage/lcov-report/builder/buildScopedSegments.ts.html +1 -1
- package/coverage/lcov-report/builder/convertToV1.ts.html +1 -1
- package/coverage/lcov-report/builder/getFeatureRanges.ts.html +1 -1
- package/coverage/lcov-report/builder/hashes.ts.html +1 -1
- package/coverage/lcov-report/builder/index.html +1 -1
- package/coverage/lcov-report/builder/mutateVariables.ts.html +1 -1
- package/coverage/lcov-report/builder/mutator.ts.html +52 -52
- package/coverage/lcov-report/builder/revision.ts.html +1 -1
- package/coverage/lcov-report/builder/traffic.ts.html +1 -1
- package/coverage/lcov-report/config/index.html +1 -1
- package/coverage/lcov-report/config/index.ts.html +1 -1
- package/coverage/lcov-report/config/projectConfig.ts.html +15 -15
- package/coverage/lcov-report/datasource/adapter.ts.html +1 -1
- package/coverage/lcov-report/datasource/datasource.ts.html +18 -18
- package/coverage/lcov-report/datasource/filesystemAdapter.ts.html +43 -43
- package/coverage/lcov-report/datasource/index.html +1 -1
- package/coverage/lcov-report/datasource/index.ts.html +1 -1
- package/coverage/lcov-report/generate-code/index.html +1 -1
- package/coverage/lcov-report/generate-code/typescript.ts.html +3 -3
- package/coverage/lcov-report/index.html +18 -18
- package/coverage/lcov-report/linter/attributeSchema.ts.html +130 -130
- package/coverage/lcov-report/linter/checkCircularDependency.ts.html +11 -11
- package/coverage/lcov-report/linter/checkPercentageExceedingSlot.ts.html +15 -15
- package/coverage/lcov-report/linter/conditionSchema.ts.html +150 -150
- package/coverage/lcov-report/linter/featureSchema.ts.html +458 -443
- package/coverage/lcov-report/linter/groupSchema.ts.html +24 -27
- package/coverage/lcov-report/linter/index.html +83 -68
- package/coverage/lcov-report/linter/lintProject.ts.html +158 -158
- package/coverage/lcov-report/linter/mutationNotation.ts.html +104 -104
- package/coverage/lcov-report/linter/printError.ts.html +79 -28
- package/coverage/lcov-report/linter/schema.ts.html +129 -135
- package/coverage/lcov-report/linter/segmentSchema.ts.html +15 -9
- package/coverage/lcov-report/linter/testSchema.ts.html +67 -94
- package/coverage/lcov-report/linter/zodHelpers.ts.html +133 -0
- package/coverage/lcov-report/list/index.html +1 -1
- package/coverage/lcov-report/list/matrix.ts.html +1 -1
- package/coverage/lcov-report/tester/cliFormat.ts.html +6 -6
- package/coverage/lcov-report/tester/helpers.ts.html +1 -1
- package/coverage/lcov-report/tester/index.html +1 -1
- package/coverage/lcov-report/utils/extractKeys.ts.html +1 -1
- package/coverage/lcov-report/utils/git.ts.html +1 -1
- package/coverage/lcov-report/utils/index.html +1 -1
- package/coverage/lcov-report/utils/index.ts.html +1 -1
- package/coverage/lcov-report/utils/pretty.ts.html +1 -1
- package/coverage/lcov.info +3031 -2984
- package/lib/generate-code/typescript.js +2 -2
- package/lib/linter/attributeSchema.d.ts +19 -352
- package/lib/linter/attributeSchema.spec.js.map +1 -1
- package/lib/linter/conditionSchema.d.ts +1 -1
- package/lib/linter/conditionSchema.js +2 -3
- package/lib/linter/conditionSchema.js.map +1 -1
- package/lib/linter/conditionSchema.spec.js.map +1 -1
- package/lib/linter/featureSchema.d.ts +75 -964
- package/lib/linter/featureSchema.js +64 -53
- package/lib/linter/featureSchema.js.map +1 -1
- package/lib/linter/featureSchema.spec.js +28 -0
- package/lib/linter/featureSchema.spec.js.map +1 -1
- package/lib/linter/groupSchema.d.ts +4 -28
- package/lib/linter/groupSchema.js +3 -5
- package/lib/linter/groupSchema.js.map +1 -1
- package/lib/linter/lintProject.spec.js +101 -13
- package/lib/linter/lintProject.spec.js.map +1 -1
- package/lib/linter/printError.js +21 -7
- package/lib/linter/printError.js.map +1 -1
- package/lib/linter/schema.d.ts +9 -2
- package/lib/linter/schema.js +2 -6
- package/lib/linter/schema.js.map +1 -1
- package/lib/linter/schema.spec.js +3 -2
- package/lib/linter/schema.spec.js.map +1 -1
- package/lib/linter/segmentSchema.d.ts +1 -9
- package/lib/linter/segmentSchema.js +3 -1
- package/lib/linter/segmentSchema.js.map +1 -1
- package/lib/linter/segmentSchema.spec.js.map +1 -1
- package/lib/linter/testSchema.d.ts +16 -222
- package/lib/linter/testSchema.js +23 -38
- package/lib/linter/testSchema.js.map +1 -1
- package/lib/linter/testSchema.spec.d.ts +1 -0
- package/lib/linter/testSchema.spec.js +162 -0
- package/lib/linter/testSchema.spec.js.map +1 -0
- package/lib/linter/zodHelpers.d.ts +2 -0
- package/lib/linter/zodHelpers.js +15 -0
- package/lib/linter/zodHelpers.js.map +1 -0
- package/package.json +3 -3
- package/src/generate-code/typescript.ts +2 -2
- package/src/linter/attributeSchema.spec.ts +3 -3
- package/src/linter/conditionSchema.spec.ts +3 -3
- package/src/linter/conditionSchema.ts +4 -4
- package/src/linter/featureSchema.spec.ts +39 -4
- package/src/linter/featureSchema.ts +82 -77
- package/src/linter/groupSchema.ts +11 -12
- package/src/linter/lintProject.spec.ts +121 -13
- package/src/linter/printError.ts +27 -10
- package/src/linter/schema.spec.ts +12 -11
- package/src/linter/schema.ts +7 -9
- package/src/linter/segmentSchema.spec.ts +5 -5
- package/src/linter/segmentSchema.ts +3 -1
- package/src/linter/testSchema.spec.ts +193 -0
- package/src/linter/testSchema.ts +36 -45
- package/src/linter/zodHelpers.ts +16 -0
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">86.
|
|
26
|
+
<span class="strong">86.63% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>175/202</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">90.
|
|
47
|
+
<span class="strong">90.71% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>166/183</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -553,16 +553,16 @@
|
|
|
553
553
|
<a name='L488'></a><a href='#L488'>488</a>
|
|
554
554
|
<a name='L489'></a><a href='#L489'>489</a>
|
|
555
555
|
<a name='L490'></a><a href='#L490'>490</a>
|
|
556
|
-
<a name='L491'></a><a href='#L491'>491</a>
|
|
557
|
-
<
|
|
558
|
-
<
|
|
556
|
+
<a name='L491'></a><a href='#L491'>491</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
557
|
+
<span class="cline-any cline-yes">4x</span>
|
|
558
|
+
<span class="cline-any cline-neutral"> </span>
|
|
559
559
|
<span class="cline-any cline-yes">4x</span>
|
|
560
560
|
<span class="cline-any cline-neutral"> </span>
|
|
561
561
|
<span class="cline-any cline-neutral"> </span>
|
|
562
562
|
<span class="cline-any cline-neutral"> </span>
|
|
563
|
-
<span class="cline-any cline-yes">
|
|
563
|
+
<span class="cline-any cline-yes">70x</span>
|
|
564
564
|
<span class="cline-any cline-neutral"> </span>
|
|
565
|
-
<span class="cline-any cline-yes">
|
|
565
|
+
<span class="cline-any cline-yes">56x</span>
|
|
566
566
|
<span class="cline-any cline-neutral"> </span>
|
|
567
567
|
<span class="cline-any cline-yes">3x</span>
|
|
568
568
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -605,13 +605,13 @@
|
|
|
605
605
|
<span class="cline-any cline-neutral"> </span>
|
|
606
606
|
<span class="cline-any cline-neutral"> </span>
|
|
607
607
|
<span class="cline-any cline-neutral"> </span>
|
|
608
|
-
<span class="cline-any cline-yes">
|
|
609
|
-
<span class="cline-any cline-yes">
|
|
610
|
-
<span class="cline-any cline-yes">
|
|
611
|
-
<span class="cline-any cline-yes">
|
|
612
|
-
<span class="cline-any cline-yes">
|
|
613
|
-
<span class="cline-any cline-yes">
|
|
614
|
-
<span class="cline-any cline-yes">
|
|
608
|
+
<span class="cline-any cline-yes">950x</span>
|
|
609
|
+
<span class="cline-any cline-yes">949x</span>
|
|
610
|
+
<span class="cline-any cline-yes">949x</span>
|
|
611
|
+
<span class="cline-any cline-yes">949x</span>
|
|
612
|
+
<span class="cline-any cline-yes">26x</span>
|
|
613
|
+
<span class="cline-any cline-yes">70x</span>
|
|
614
|
+
<span class="cline-any cline-yes">70x</span>
|
|
615
615
|
<span class="cline-any cline-yes">8x</span>
|
|
616
616
|
<span class="cline-any cline-neutral"> </span>
|
|
617
617
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -620,29 +620,29 @@
|
|
|
620
620
|
<span class="cline-any cline-neutral"> </span>
|
|
621
621
|
<span class="cline-any cline-neutral"> </span>
|
|
622
622
|
<span class="cline-any cline-neutral"> </span>
|
|
623
|
-
<span class="cline-any cline-yes">
|
|
624
|
-
<span class="cline-any cline-yes">
|
|
623
|
+
<span class="cline-any cline-yes">949x</span>
|
|
624
|
+
<span class="cline-any cline-yes">52x</span>
|
|
625
625
|
<span class="cline-any cline-neutral"> </span>
|
|
626
|
-
<span class="cline-any cline-yes">
|
|
627
|
-
<span class="cline-any cline-yes">
|
|
628
|
-
<span class="cline-any cline-yes">
|
|
626
|
+
<span class="cline-any cline-yes">949x</span>
|
|
627
|
+
<span class="cline-any cline-yes">148x</span>
|
|
628
|
+
<span class="cline-any cline-yes">275x</span>
|
|
629
629
|
<span class="cline-any cline-neutral"> </span>
|
|
630
630
|
<span class="cline-any cline-neutral"> </span>
|
|
631
631
|
<span class="cline-any cline-neutral"> </span>
|
|
632
632
|
<span class="cline-any cline-neutral"> </span>
|
|
633
633
|
<span class="cline-any cline-neutral"> </span>
|
|
634
634
|
<span class="cline-any cline-neutral"> </span>
|
|
635
|
-
<span class="cline-any cline-yes">
|
|
635
|
+
<span class="cline-any cline-yes">949x</span>
|
|
636
636
|
<span class="cline-any cline-yes">2x</span>
|
|
637
637
|
<span class="cline-any cline-neutral"> </span>
|
|
638
638
|
<span class="cline-any cline-neutral"> </span>
|
|
639
639
|
<span class="cline-any cline-neutral"> </span>
|
|
640
640
|
<span class="cline-any cline-neutral"> </span>
|
|
641
641
|
<span class="cline-any cline-neutral"> </span>
|
|
642
|
-
<span class="cline-any cline-yes">
|
|
643
|
-
<span class="cline-any cline-yes">
|
|
644
|
-
<span class="cline-any cline-yes">
|
|
645
|
-
<span class="cline-any cline-yes">
|
|
642
|
+
<span class="cline-any cline-yes">949x</span>
|
|
643
|
+
<span class="cline-any cline-yes">9x</span>
|
|
644
|
+
<span class="cline-any cline-yes">17x</span>
|
|
645
|
+
<span class="cline-any cline-yes">17x</span>
|
|
646
646
|
<span class="cline-any cline-neutral"> </span>
|
|
647
647
|
<span class="cline-any cline-neutral"> </span>
|
|
648
648
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -657,21 +657,21 @@
|
|
|
657
657
|
<span class="cline-any cline-neutral"> </span>
|
|
658
658
|
<span class="cline-any cline-neutral"> </span>
|
|
659
659
|
<span class="cline-any cline-neutral"> </span>
|
|
660
|
-
<span class="cline-any cline-yes">
|
|
661
|
-
<span class="cline-any cline-yes">
|
|
662
|
-
<span class="cline-any cline-yes">
|
|
663
|
-
<span class="cline-any cline-yes">
|
|
664
|
-
<span class="cline-any cline-yes">
|
|
665
|
-
<span class="cline-any cline-yes">
|
|
660
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
661
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
662
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
663
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
664
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
665
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
666
666
|
<span class="cline-any cline-yes">7x</span>
|
|
667
667
|
<span class="cline-any cline-neutral"> </span>
|
|
668
668
|
<span class="cline-any cline-neutral"> </span>
|
|
669
669
|
<span class="cline-any cline-neutral"> </span>
|
|
670
670
|
<span class="cline-any cline-neutral"> </span>
|
|
671
671
|
<span class="cline-any cline-neutral"> </span>
|
|
672
|
-
<span class="cline-any cline-yes">
|
|
673
|
-
<span class="cline-any cline-yes">
|
|
674
|
-
<span class="cline-any cline-yes">
|
|
672
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
673
|
+
<span class="cline-any cline-yes">4x</span>
|
|
674
|
+
<span class="cline-any cline-yes">4x</span>
|
|
675
675
|
<span class="cline-any cline-yes">1x</span>
|
|
676
676
|
<span class="cline-any cline-neutral"> </span>
|
|
677
677
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -679,9 +679,9 @@
|
|
|
679
679
|
<span class="cline-any cline-neutral"> </span>
|
|
680
680
|
<span class="cline-any cline-neutral"> </span>
|
|
681
681
|
<span class="cline-any cline-neutral"> </span>
|
|
682
|
-
<span class="cline-any cline-yes">
|
|
683
|
-
<span class="cline-any cline-yes">
|
|
684
|
-
<span class="cline-any cline-yes">
|
|
682
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
683
|
+
<span class="cline-any cline-yes">4x</span>
|
|
684
|
+
<span class="cline-any cline-yes">4x</span>
|
|
685
685
|
<span class="cline-any cline-yes">1x</span>
|
|
686
686
|
<span class="cline-any cline-neutral"> </span>
|
|
687
687
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -689,7 +689,7 @@
|
|
|
689
689
|
<span class="cline-any cline-neutral"> </span>
|
|
690
690
|
<span class="cline-any cline-neutral"> </span>
|
|
691
691
|
<span class="cline-any cline-neutral"> </span>
|
|
692
|
-
<span class="cline-any cline-yes">
|
|
692
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
693
693
|
<span class="cline-any cline-yes">1x</span>
|
|
694
694
|
<span class="cline-any cline-yes">3x</span>
|
|
695
695
|
<span class="cline-any cline-yes">3x</span>
|
|
@@ -710,29 +710,29 @@
|
|
|
710
710
|
<span class="cline-any cline-neutral"> </span>
|
|
711
711
|
<span class="cline-any cline-neutral"> </span>
|
|
712
712
|
<span class="cline-any cline-neutral"> </span>
|
|
713
|
-
<span class="cline-any cline-yes">
|
|
714
|
-
<span class="cline-any cline-yes">
|
|
713
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
714
|
+
<span class="cline-any cline-yes">137x</span>
|
|
715
715
|
<span class="cline-any cline-neutral"> </span>
|
|
716
|
-
<span class="cline-any cline-yes">
|
|
717
|
-
<span class="cline-any cline-yes">
|
|
718
|
-
<span class="cline-any cline-yes">
|
|
716
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
717
|
+
<span class="cline-any cline-yes">334x</span>
|
|
718
|
+
<span class="cline-any cline-yes">619x</span>
|
|
719
719
|
<span class="cline-any cline-neutral"> </span>
|
|
720
720
|
<span class="cline-any cline-neutral"> </span>
|
|
721
721
|
<span class="cline-any cline-neutral"> </span>
|
|
722
722
|
<span class="cline-any cline-neutral"> </span>
|
|
723
723
|
<span class="cline-any cline-neutral"> </span>
|
|
724
724
|
<span class="cline-any cline-neutral"> </span>
|
|
725
|
-
<span class="cline-any cline-yes">
|
|
726
|
-
<span class="cline-any cline-yes">
|
|
725
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
726
|
+
<span class="cline-any cline-yes">15x</span>
|
|
727
727
|
<span class="cline-any cline-neutral"> </span>
|
|
728
728
|
<span class="cline-any cline-neutral"> </span>
|
|
729
729
|
<span class="cline-any cline-neutral"> </span>
|
|
730
730
|
<span class="cline-any cline-neutral"> </span>
|
|
731
731
|
<span class="cline-any cline-neutral"> </span>
|
|
732
|
-
<span class="cline-any cline-yes">
|
|
733
|
-
<span class="cline-any cline-yes">
|
|
734
|
-
<span class="cline-any cline-yes">
|
|
735
|
-
<span class="cline-any cline-yes">
|
|
732
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
733
|
+
<span class="cline-any cline-yes">27x</span>
|
|
734
|
+
<span class="cline-any cline-yes">53x</span>
|
|
735
|
+
<span class="cline-any cline-yes">53x</span>
|
|
736
736
|
<span class="cline-any cline-neutral"> </span>
|
|
737
737
|
<span class="cline-any cline-neutral"> </span>
|
|
738
738
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -747,22 +747,22 @@
|
|
|
747
747
|
<span class="cline-any cline-neutral"> </span>
|
|
748
748
|
<span class="cline-any cline-neutral"> </span>
|
|
749
749
|
<span class="cline-any cline-neutral"> </span>
|
|
750
|
-
<span class="cline-any cline-yes">
|
|
751
|
-
<span class="cline-any cline-yes">
|
|
752
|
-
<span class="cline-any cline-yes">
|
|
753
|
-
<span class="cline-any cline-yes">
|
|
754
|
-
<span class="cline-any cline-yes">
|
|
755
|
-
<span class="cline-any cline-yes">
|
|
756
|
-
<span class="cline-any cline-yes">
|
|
750
|
+
<span class="cline-any cline-yes">1672x</span>
|
|
751
|
+
<span class="cline-any cline-yes">1672x</span>
|
|
752
|
+
<span class="cline-any cline-yes">1672x</span>
|
|
753
|
+
<span class="cline-any cline-yes">1672x</span>
|
|
754
|
+
<span class="cline-any cline-yes">1672x</span>
|
|
755
|
+
<span class="cline-any cline-yes">1672x</span>
|
|
756
|
+
<span class="cline-any cline-yes">1672x</span>
|
|
757
757
|
<span class="cline-any cline-yes">3x</span>
|
|
758
758
|
<span class="cline-any cline-neutral"> </span>
|
|
759
759
|
<span class="cline-any cline-neutral"> </span>
|
|
760
760
|
<span class="cline-any cline-neutral"> </span>
|
|
761
761
|
<span class="cline-any cline-neutral"> </span>
|
|
762
762
|
<span class="cline-any cline-neutral"> </span>
|
|
763
|
-
<span class="cline-any cline-yes">
|
|
764
|
-
<span class="cline-any cline-yes">
|
|
765
|
-
<span class="cline-any cline-yes">
|
|
763
|
+
<span class="cline-any cline-yes">1672x</span>
|
|
764
|
+
<span class="cline-any cline-yes">18x</span>
|
|
765
|
+
<span class="cline-any cline-yes">18x</span>
|
|
766
766
|
<span class="cline-any cline-neutral"> </span>
|
|
767
767
|
<span class="cline-any cline-yes">3x</span>
|
|
768
768
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -771,36 +771,36 @@
|
|
|
771
771
|
<span class="cline-any cline-neutral"> </span>
|
|
772
772
|
<span class="cline-any cline-neutral"> </span>
|
|
773
773
|
<span class="cline-any cline-neutral"> </span>
|
|
774
|
-
<span class="cline-any cline-yes">
|
|
775
|
-
<span class="cline-any cline-yes">
|
|
776
|
-
<span class="cline-any cline-yes">
|
|
777
|
-
<span class="cline-any cline-yes">
|
|
778
|
-
<span class="cline-any cline-yes">
|
|
774
|
+
<span class="cline-any cline-yes">1672x</span>
|
|
775
|
+
<span class="cline-any cline-yes">77x</span>
|
|
776
|
+
<span class="cline-any cline-yes">77x</span>
|
|
777
|
+
<span class="cline-any cline-yes">77x</span>
|
|
778
|
+
<span class="cline-any cline-yes">77x</span>
|
|
779
779
|
<span class="cline-any cline-yes">1x</span>
|
|
780
780
|
<span class="cline-any cline-yes">1x</span>
|
|
781
781
|
<span class="cline-any cline-neutral"> </span>
|
|
782
782
|
<span class="cline-any cline-no"> </span>
|
|
783
783
|
<span class="cline-any cline-neutral"> </span>
|
|
784
784
|
<span class="cline-any cline-neutral"> </span>
|
|
785
|
-
<span class="cline-any cline-yes">
|
|
785
|
+
<span class="cline-any cline-yes">77x</span>
|
|
786
786
|
<span class="cline-any cline-neutral"> </span>
|
|
787
|
-
<span class="cline-any cline-yes">
|
|
788
|
-
<span class="cline-any cline-yes">
|
|
789
|
-
<span class="cline-any cline-yes">
|
|
787
|
+
<span class="cline-any cline-yes">1672x</span>
|
|
788
|
+
<span class="cline-any cline-yes">23x</span>
|
|
789
|
+
<span class="cline-any cline-yes">23x</span>
|
|
790
790
|
<span class="cline-any cline-yes">1x</span>
|
|
791
791
|
<span class="cline-any cline-neutral"> </span>
|
|
792
792
|
<span class="cline-any cline-neutral"> </span>
|
|
793
793
|
<span class="cline-any cline-neutral"> </span>
|
|
794
794
|
<span class="cline-any cline-neutral"> </span>
|
|
795
795
|
<span class="cline-any cline-neutral"> </span>
|
|
796
|
-
<span class="cline-any cline-yes">
|
|
796
|
+
<span class="cline-any cline-yes">23x</span>
|
|
797
797
|
<span class="cline-any cline-yes">1x</span>
|
|
798
798
|
<span class="cline-any cline-neutral"> </span>
|
|
799
799
|
<span class="cline-any cline-neutral"> </span>
|
|
800
800
|
<span class="cline-any cline-neutral"> </span>
|
|
801
801
|
<span class="cline-any cline-neutral"> </span>
|
|
802
802
|
<span class="cline-any cline-neutral"> </span>
|
|
803
|
-
<span class="cline-any cline-yes">
|
|
803
|
+
<span class="cline-any cline-yes">23x</span>
|
|
804
804
|
<span class="cline-any cline-yes">1x</span>
|
|
805
805
|
<span class="cline-any cline-neutral"> </span>
|
|
806
806
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -808,26 +808,26 @@
|
|
|
808
808
|
<span class="cline-any cline-neutral"> </span>
|
|
809
809
|
<span class="cline-any cline-neutral"> </span>
|
|
810
810
|
<span class="cline-any cline-neutral"> </span>
|
|
811
|
-
<span class="cline-any cline-yes">
|
|
812
|
-
<span class="cline-any cline-yes">
|
|
813
|
-
<span class="cline-any cline-yes">
|
|
814
|
-
<span class="cline-any cline-yes">
|
|
815
|
-
<span class="cline-any cline-yes">
|
|
816
|
-
<span class="cline-any cline-yes">
|
|
811
|
+
<span class="cline-any cline-yes">1672x</span>
|
|
812
|
+
<span class="cline-any cline-yes">20x</span>
|
|
813
|
+
<span class="cline-any cline-yes">56x</span>
|
|
814
|
+
<span class="cline-any cline-yes">56x</span>
|
|
815
|
+
<span class="cline-any cline-yes">54x</span>
|
|
816
|
+
<span class="cline-any cline-yes">54x</span>
|
|
817
817
|
<span class="cline-any cline-no"> </span>
|
|
818
818
|
<span class="cline-any cline-neutral"> </span>
|
|
819
819
|
<span class="cline-any cline-neutral"> </span>
|
|
820
820
|
<span class="cline-any cline-neutral"> </span>
|
|
821
821
|
<span class="cline-any cline-neutral"> </span>
|
|
822
822
|
<span class="cline-any cline-neutral"> </span>
|
|
823
|
-
<span class="cline-any cline-yes">
|
|
823
|
+
<span class="cline-any cline-yes">54x</span>
|
|
824
824
|
<span class="cline-any cline-yes">1x</span>
|
|
825
825
|
<span class="cline-any cline-neutral"> </span>
|
|
826
826
|
<span class="cline-any cline-neutral"> </span>
|
|
827
827
|
<span class="cline-any cline-neutral"> </span>
|
|
828
828
|
<span class="cline-any cline-neutral"> </span>
|
|
829
829
|
<span class="cline-any cline-neutral"> </span>
|
|
830
|
-
<span class="cline-any cline-yes">
|
|
830
|
+
<span class="cline-any cline-yes">54x</span>
|
|
831
831
|
<span class="cline-any cline-no"> </span>
|
|
832
832
|
<span class="cline-any cline-neutral"> </span>
|
|
833
833
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -837,29 +837,29 @@
|
|
|
837
837
|
<span class="cline-any cline-neutral"> </span>
|
|
838
838
|
<span class="cline-any cline-neutral"> </span>
|
|
839
839
|
<span class="cline-any cline-neutral"> </span>
|
|
840
|
-
<span class="cline-any cline-yes">
|
|
841
|
-
<span class="cline-any cline-yes">
|
|
840
|
+
<span class="cline-any cline-yes">1672x</span>
|
|
841
|
+
<span class="cline-any cline-yes">123x</span>
|
|
842
842
|
<span class="cline-any cline-neutral"> </span>
|
|
843
|
-
<span class="cline-any cline-yes">
|
|
844
|
-
<span class="cline-any cline-yes">
|
|
845
|
-
<span class="cline-any cline-yes">
|
|
843
|
+
<span class="cline-any cline-yes">1672x</span>
|
|
844
|
+
<span class="cline-any cline-yes">312x</span>
|
|
845
|
+
<span class="cline-any cline-yes">587x</span>
|
|
846
846
|
<span class="cline-any cline-neutral"> </span>
|
|
847
847
|
<span class="cline-any cline-neutral"> </span>
|
|
848
848
|
<span class="cline-any cline-neutral"> </span>
|
|
849
849
|
<span class="cline-any cline-neutral"> </span>
|
|
850
850
|
<span class="cline-any cline-neutral"> </span>
|
|
851
851
|
<span class="cline-any cline-neutral"> </span>
|
|
852
|
-
<span class="cline-any cline-yes">
|
|
853
|
-
<span class="cline-any cline-yes">
|
|
852
|
+
<span class="cline-any cline-yes">1672x</span>
|
|
853
|
+
<span class="cline-any cline-yes">13x</span>
|
|
854
854
|
<span class="cline-any cline-neutral"> </span>
|
|
855
855
|
<span class="cline-any cline-neutral"> </span>
|
|
856
856
|
<span class="cline-any cline-neutral"> </span>
|
|
857
857
|
<span class="cline-any cline-neutral"> </span>
|
|
858
858
|
<span class="cline-any cline-neutral"> </span>
|
|
859
|
-
<span class="cline-any cline-yes">
|
|
860
|
-
<span class="cline-any cline-yes">
|
|
861
|
-
<span class="cline-any cline-yes">
|
|
862
|
-
<span class="cline-any cline-yes">
|
|
859
|
+
<span class="cline-any cline-yes">1672x</span>
|
|
860
|
+
<span class="cline-any cline-yes">15x</span>
|
|
861
|
+
<span class="cline-any cline-yes">29x</span>
|
|
862
|
+
<span class="cline-any cline-yes">29x</span>
|
|
863
863
|
<span class="cline-any cline-neutral"> </span>
|
|
864
864
|
<span class="cline-any cline-neutral"> </span>
|
|
865
865
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -895,20 +895,20 @@
|
|
|
895
895
|
<span class="cline-any cline-neutral"> </span>
|
|
896
896
|
<span class="cline-any cline-neutral"> </span>
|
|
897
897
|
<span class="cline-any cline-neutral"> </span>
|
|
898
|
-
<span class="cline-any cline-yes">
|
|
899
|
-
<span class="cline-any cline-yes">
|
|
900
|
-
<span class="cline-any cline-yes">
|
|
901
|
-
<span class="cline-any cline-yes">
|
|
902
|
-
<span class="cline-any cline-yes">
|
|
903
|
-
<span class="cline-any cline-yes">
|
|
904
|
-
<span class="cline-any cline-yes">
|
|
898
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
899
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
900
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
901
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
902
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
903
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
904
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
905
905
|
<span class="cline-any cline-yes">4x</span>
|
|
906
906
|
<span class="cline-any cline-neutral"> </span>
|
|
907
907
|
<span class="cline-any cline-neutral"> </span>
|
|
908
908
|
<span class="cline-any cline-neutral"> </span>
|
|
909
909
|
<span class="cline-any cline-neutral"> </span>
|
|
910
910
|
<span class="cline-any cline-neutral"> </span>
|
|
911
|
-
<span class="cline-any cline-yes">
|
|
911
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
912
912
|
<span class="cline-any cline-yes">12x</span>
|
|
913
913
|
<span class="cline-any cline-yes">1x</span>
|
|
914
914
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -938,34 +938,34 @@
|
|
|
938
938
|
<span class="cline-any cline-neutral"> </span>
|
|
939
939
|
<span class="cline-any cline-neutral"> </span>
|
|
940
940
|
<span class="cline-any cline-neutral"> </span>
|
|
941
|
-
<span class="cline-any cline-yes">
|
|
941
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
942
942
|
<span class="cline-any cline-yes">4x</span>
|
|
943
943
|
<span class="cline-any cline-neutral"> </span>
|
|
944
|
-
<span class="cline-any cline-yes">
|
|
944
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
945
945
|
<span class="cline-any cline-yes">4x</span>
|
|
946
946
|
<span class="cline-any cline-yes">8x</span>
|
|
947
947
|
<span class="cline-any cline-yes">8x</span>
|
|
948
948
|
<span class="cline-any cline-neutral"> </span>
|
|
949
949
|
<span class="cline-any cline-neutral"> </span>
|
|
950
|
-
<span class="cline-any cline-yes">
|
|
951
|
-
<span class="cline-any cline-yes">
|
|
950
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
951
|
+
<span class="cline-any cline-yes">138x</span>
|
|
952
952
|
<span class="cline-any cline-neutral"> </span>
|
|
953
|
-
<span class="cline-any cline-yes">
|
|
954
|
-
<span class="cline-any cline-yes">
|
|
955
|
-
<span class="cline-any cline-yes">
|
|
953
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
954
|
+
<span class="cline-any cline-yes">334x</span>
|
|
955
|
+
<span class="cline-any cline-yes">619x</span>
|
|
956
956
|
<span class="cline-any cline-neutral"> </span>
|
|
957
957
|
<span class="cline-any cline-neutral"> </span>
|
|
958
|
-
<span class="cline-any cline-yes">
|
|
959
|
-
<span class="cline-any cline-yes">
|
|
958
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
959
|
+
<span class="cline-any cline-yes">15x</span>
|
|
960
960
|
<span class="cline-any cline-neutral"> </span>
|
|
961
961
|
<span class="cline-any cline-neutral"> </span>
|
|
962
962
|
<span class="cline-any cline-neutral"> </span>
|
|
963
963
|
<span class="cline-any cline-neutral"> </span>
|
|
964
964
|
<span class="cline-any cline-neutral"> </span>
|
|
965
|
-
<span class="cline-any cline-yes">
|
|
966
|
-
<span class="cline-any cline-yes">
|
|
967
|
-
<span class="cline-any cline-yes">
|
|
968
|
-
<span class="cline-any cline-yes">
|
|
965
|
+
<span class="cline-any cline-yes">1896x</span>
|
|
966
|
+
<span class="cline-any cline-yes">27x</span>
|
|
967
|
+
<span class="cline-any cline-yes">53x</span>
|
|
968
|
+
<span class="cline-any cline-yes">53x</span>
|
|
969
969
|
<span class="cline-any cline-neutral"> </span>
|
|
970
970
|
<span class="cline-any cline-neutral"> </span>
|
|
971
971
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -973,7 +973,7 @@
|
|
|
973
973
|
<span class="cline-any cline-neutral"> </span>
|
|
974
974
|
<span class="cline-any cline-neutral"> </span>
|
|
975
975
|
<span class="cline-any cline-yes">4x</span>
|
|
976
|
-
<span class="cline-any cline-yes">
|
|
976
|
+
<span class="cline-any cline-yes">4x</span>
|
|
977
977
|
<span class="cline-any cline-neutral"> </span>
|
|
978
978
|
<span class="cline-any cline-neutral"> </span>
|
|
979
979
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -996,9 +996,8 @@
|
|
|
996
996
|
<span class="cline-any cline-neutral"> </span>
|
|
997
997
|
<span class="cline-any cline-neutral"> </span>
|
|
998
998
|
<span class="cline-any cline-yes">4x</span>
|
|
999
|
-
<span class="cline-any cline-yes">
|
|
1000
|
-
<span class="cline-any cline-yes">
|
|
1001
|
-
<span class="cline-any cline-neutral"> </span>
|
|
999
|
+
<span class="cline-any cline-yes">125x</span>
|
|
1000
|
+
<span class="cline-any cline-yes">110x</span>
|
|
1002
1001
|
<span class="cline-any cline-neutral"> </span>
|
|
1003
1002
|
<span class="cline-any cline-neutral"> </span>
|
|
1004
1003
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1020,17 +1019,14 @@
|
|
|
1020
1019
|
<span class="cline-any cline-neutral"> </span>
|
|
1021
1020
|
<span class="cline-any cline-neutral"> </span>
|
|
1022
1021
|
<span class="cline-any cline-neutral"> </span>
|
|
1023
|
-
<span class="cline-any cline-yes">
|
|
1022
|
+
<span class="cline-any cline-yes">42x</span>
|
|
1024
1023
|
<span class="cline-any cline-yes">2x</span>
|
|
1025
1024
|
<span class="cline-any cline-neutral"> </span>
|
|
1026
1025
|
<span class="cline-any cline-neutral"> </span>
|
|
1027
1026
|
<span class="cline-any cline-neutral"> </span>
|
|
1028
1027
|
<span class="cline-any cline-neutral"> </span>
|
|
1029
1028
|
<span class="cline-any cline-neutral"> </span>
|
|
1030
|
-
<span class="cline-any cline-
|
|
1031
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1032
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1033
|
-
<span class="cline-any cline-yes">423x</span>
|
|
1029
|
+
<span class="cline-any cline-yes">587x</span>
|
|
1034
1030
|
<span class="cline-any cline-yes">2x</span>
|
|
1035
1031
|
<span class="cline-any cline-neutral"> </span>
|
|
1036
1032
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1039,17 +1035,19 @@
|
|
|
1039
1035
|
<span class="cline-any cline-neutral"> </span>
|
|
1040
1036
|
<span class="cline-any cline-neutral"> </span>
|
|
1041
1037
|
<span class="cline-any cline-neutral"> </span>
|
|
1042
|
-
<span class="cline-any cline-yes">
|
|
1043
|
-
<span class="cline-any cline-yes">
|
|
1044
|
-
<span class="cline-any cline-yes">
|
|
1045
|
-
<span class="cline-any cline-yes">
|
|
1038
|
+
<span class="cline-any cline-yes">587x</span>
|
|
1039
|
+
<span class="cline-any cline-yes">587x</span>
|
|
1040
|
+
<span class="cline-any cline-yes">587x</span>
|
|
1041
|
+
<span class="cline-any cline-yes">587x</span>
|
|
1046
1042
|
<span class="cline-any cline-neutral"> </span>
|
|
1047
1043
|
<span class="cline-any cline-neutral"> </span>
|
|
1048
|
-
<span class="cline-any cline-yes">
|
|
1044
|
+
<span class="cline-any cline-yes">125x</span>
|
|
1049
1045
|
<span class="cline-any cline-neutral"> </span>
|
|
1050
1046
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import type { Schema, SchemaKey, Value } from "@featurevisor/types";
|
|
1051
1047
|
import { z } from "zod";
|
|
1052
1048
|
|
|
1049
|
+
import { refineWithMessage } from "./zodHelpers";
|
|
1050
|
+
|
|
1053
1051
|
/** Returns true if value matches the schema type. */
|
|
1054
1052
|
function valueMatchesType(v: unknown, type: string): boolean {
|
|
1055
1053
|
switch (type) {
|
|
@@ -1509,15 +1507,11 @@ export function getSchemaZodSchema(schemaKeys: SchemaKey[] = <span class="branch
|
|
|
1509
1507
|
additionalProperties: schemaZodSchema.optional(),
|
|
1510
1508
|
// Annotations: default?: Value; examples?: Value[];
|
|
1511
1509
|
|
|
1512
|
-
schema:
|
|
1513
|
-
.string()
|
|
1514
|
-
.
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
message: `Unknown schema "${value}"`,
|
|
1518
|
-
}),
|
|
1519
|
-
)
|
|
1520
|
-
.optional(),
|
|
1510
|
+
schema: refineWithMessage(
|
|
1511
|
+
z.string(),
|
|
1512
|
+
(value) => schemaKeys.includes(value),
|
|
1513
|
+
(value) => `Unknown schema "${value}"`,
|
|
1514
|
+
).optional(),
|
|
1521
1515
|
oneOf: z.array(schemaZodSchema).min(2).optional(),
|
|
1522
1516
|
})
|
|
1523
1517
|
.strict()
|
|
@@ -1546,7 +1540,7 @@ export function getSchemaZodSchema(schemaKeys: SchemaKey[] = <span class="branch
|
|
|
1546
1540
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1547
1541
|
Code coverage generated by
|
|
1548
1542
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1549
|
-
at 2026-04-
|
|
1543
|
+
at 2026-04-26T16:47:51.164Z
|
|
1550
1544
|
</div>
|
|
1551
1545
|
<script src="../prettify.js"></script>
|
|
1552
1546
|
<script>
|
|
@@ -25,28 +25,28 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>5/5</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">100% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>2/2</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>2/2</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>5/5</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -78,20 +78,24 @@
|
|
|
78
78
|
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
79
|
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
80
|
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
-
<a name='L16'></a><a href='#L16'>16</a
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
82
84
|
<span class="cline-any cline-neutral"> </span>
|
|
83
85
|
<span class="cline-any cline-neutral"> </span>
|
|
84
86
|
<span class="cline-any cline-neutral"> </span>
|
|
85
87
|
<span class="cline-any cline-yes">2x</span>
|
|
86
|
-
<span class="cline-any cline-yes">
|
|
88
|
+
<span class="cline-any cline-yes">28x</span>
|
|
87
89
|
<span class="cline-any cline-neutral"> </span>
|
|
88
90
|
<span class="cline-any cline-neutral"> </span>
|
|
89
91
|
<span class="cline-any cline-neutral"> </span>
|
|
92
|
+
<span class="cline-any cline-yes">3x</span>
|
|
90
93
|
<span class="cline-any cline-neutral"> </span>
|
|
91
94
|
<span class="cline-any cline-neutral"> </span>
|
|
92
95
|
<span class="cline-any cline-neutral"> </span>
|
|
93
96
|
<span class="cline-any cline-neutral"> </span>
|
|
94
|
-
<span class="cline-any cline-
|
|
97
|
+
<span class="cline-any cline-neutral"> </span>
|
|
98
|
+
<span class="cline-any cline-yes">28x</span>
|
|
95
99
|
<span class="cline-any cline-neutral"> </span>
|
|
96
100
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { z } from "zod";
|
|
97
101
|
|
|
@@ -101,7 +105,9 @@ export function getSegmentZodSchema(projectConfig: ProjectConfig, conditionsZodS
|
|
|
101
105
|
const segmentZodSchema = z
|
|
102
106
|
.object({
|
|
103
107
|
archived: z.boolean().optional(),
|
|
104
|
-
description: z.string(
|
|
108
|
+
description: z.string({
|
|
109
|
+
error: (issue) => (issue.input === undefined ? "Required" : undefined),
|
|
110
|
+
}),
|
|
105
111
|
conditions: conditionsZodSchema,
|
|
106
112
|
})
|
|
107
113
|
.strict();
|
|
@@ -115,7 +121,7 @@ export function getSegmentZodSchema(projectConfig: ProjectConfig, conditionsZodS
|
|
|
115
121
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
116
122
|
Code coverage generated by
|
|
117
123
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
118
|
-
at 2026-04-
|
|
124
|
+
at 2026-04-26T16:47:51.164Z
|
|
119
125
|
</div>
|
|
120
126
|
<script src="../prettify.js"></script>
|
|
121
127
|
<script>
|