@featurevisor/sdk 0.46.0 → 0.46.2
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 +16 -0
- package/coverage/clover.xml +238 -238
- package/coverage/coverage-final.json +8 -8
- package/coverage/lcov-report/bucket.ts.html +4 -4
- package/coverage/lcov-report/conditions.ts.html +61 -61
- package/coverage/lcov-report/datafileReader.ts.html +9 -9
- package/coverage/lcov-report/emitter.ts.html +22 -22
- package/coverage/lcov-report/feature.ts.html +16 -16
- package/coverage/lcov-report/index.html +37 -37
- package/coverage/lcov-report/instance.ts.html +235 -235
- package/coverage/lcov-report/logger.ts.html +8 -8
- package/coverage/lcov-report/segments.ts.html +3 -3
- package/coverage/lcov.info +407 -407
- package/dist/index.js.gz +0 -0
- package/package.json +2 -2
- package/src/conditions.spec.ts +140 -0
- package/src/instance.spec.ts +130 -3
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">69.38% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>281/405</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">56.93% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>119/209</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">78.43% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>40/51</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">69.67% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>278/399</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -1462,27 +1462,27 @@
|
|
|
1462
1462
|
<span class="cline-any cline-neutral"> </span>
|
|
1463
1463
|
<span class="cline-any cline-neutral"> </span>
|
|
1464
1464
|
<span class="cline-any cline-yes">1x</span>
|
|
1465
|
-
<span class="cline-any cline-
|
|
1466
|
-
<span class="cline-any cline-
|
|
1465
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1466
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1467
1467
|
<span class="cline-any cline-no"> </span>
|
|
1468
1468
|
<span class="cline-any cline-neutral"> </span>
|
|
1469
1469
|
<span class="cline-any cline-neutral"> </span>
|
|
1470
|
-
<span class="cline-any cline-
|
|
1470
|
+
<span class="cline-any cline-yes">6x</span>
|
|
1471
1471
|
<span class="cline-any cline-neutral"> </span>
|
|
1472
|
-
<span class="cline-any cline-
|
|
1472
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1473
1473
|
<span class="cline-any cline-neutral"> </span>
|
|
1474
|
-
<span class="cline-any cline-
|
|
1474
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1475
1475
|
<span class="cline-any cline-neutral"> </span>
|
|
1476
1476
|
<span class="cline-any cline-no"> </span>
|
|
1477
1477
|
<span class="cline-any cline-neutral"> </span>
|
|
1478
|
-
<span class="cline-any cline-
|
|
1478
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1479
1479
|
<span class="cline-any cline-neutral"> </span>
|
|
1480
|
-
<span class="cline-any cline-
|
|
1480
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1481
1481
|
<span class="cline-any cline-neutral"> </span>
|
|
1482
|
-
<span class="cline-any cline-
|
|
1482
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1483
1483
|
<span class="cline-any cline-neutral"> </span>
|
|
1484
1484
|
<span class="cline-any cline-neutral"> </span>
|
|
1485
|
-
<span class="cline-any cline-
|
|
1485
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1486
1486
|
<span class="cline-any cline-neutral"> </span>
|
|
1487
1487
|
<span class="cline-any cline-neutral"> </span>
|
|
1488
1488
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1517,54 +1517,54 @@
|
|
|
1517
1517
|
<span class="cline-any cline-neutral"> </span>
|
|
1518
1518
|
<span class="cline-any cline-neutral"> </span>
|
|
1519
1519
|
<span class="cline-any cline-neutral"> </span>
|
|
1520
|
-
<span class="cline-any cline-yes">
|
|
1521
|
-
<span class="cline-any cline-yes">
|
|
1522
|
-
<span class="cline-any cline-yes">
|
|
1523
|
-
<span class="cline-any cline-yes">
|
|
1524
|
-
<span class="cline-any cline-yes">
|
|
1525
|
-
<span class="cline-any cline-yes">
|
|
1526
|
-
<span class="cline-any cline-yes">
|
|
1527
|
-
<span class="cline-any cline-yes">
|
|
1528
|
-
<span class="cline-any cline-yes">
|
|
1529
|
-
<span class="cline-any cline-yes">
|
|
1520
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1521
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1522
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1523
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1524
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1525
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1526
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1527
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1528
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1529
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1530
1530
|
<span class="cline-any cline-neutral"> </span>
|
|
1531
1531
|
<span class="cline-any cline-neutral"> </span>
|
|
1532
|
-
<span class="cline-any cline-yes">
|
|
1533
|
-
<span class="cline-any cline-yes">
|
|
1532
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1533
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1534
1534
|
<span class="cline-any cline-neutral"> </span>
|
|
1535
1535
|
<span class="cline-any cline-neutral"> </span>
|
|
1536
1536
|
<span class="cline-any cline-neutral"> </span>
|
|
1537
1537
|
<span class="cline-any cline-neutral"> </span>
|
|
1538
1538
|
<span class="cline-any cline-neutral"> </span>
|
|
1539
|
-
<span class="cline-any cline-yes">
|
|
1539
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1540
1540
|
<span class="cline-any cline-yes">2x</span>
|
|
1541
1541
|
<span class="cline-any cline-neutral"> </span>
|
|
1542
1542
|
<span class="cline-any cline-neutral"> </span>
|
|
1543
|
-
<span class="cline-any cline-yes">
|
|
1543
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1544
1544
|
<span class="cline-any cline-yes">1x</span>
|
|
1545
1545
|
<span class="cline-any cline-neutral"> </span>
|
|
1546
1546
|
<span class="cline-any cline-neutral"> </span>
|
|
1547
|
-
<span class="cline-any cline-yes">
|
|
1547
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1548
1548
|
<span class="cline-any cline-yes">1x</span>
|
|
1549
1549
|
<span class="cline-any cline-neutral"> </span>
|
|
1550
1550
|
<span class="cline-any cline-neutral"> </span>
|
|
1551
|
-
<span class="cline-any cline-yes">
|
|
1551
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1552
1552
|
<span class="cline-any cline-yes">1x</span>
|
|
1553
1553
|
<span class="cline-any cline-neutral"> </span>
|
|
1554
1554
|
<span class="cline-any cline-neutral"> </span>
|
|
1555
1555
|
<span class="cline-any cline-neutral"> </span>
|
|
1556
|
-
<span class="cline-any cline-yes">
|
|
1557
|
-
<span class="cline-any cline-yes">
|
|
1558
|
-
<span class="cline-any cline-yes">
|
|
1556
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1557
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1558
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1559
1559
|
<span class="cline-any cline-neutral"> </span>
|
|
1560
|
-
<span class="cline-any cline-yes">
|
|
1561
|
-
<span class="cline-any cline-yes">
|
|
1562
|
-
<span class="cline-any cline-yes">
|
|
1560
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1561
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1562
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1563
1563
|
<span class="cline-any cline-neutral"> </span>
|
|
1564
|
-
<span class="cline-any cline-yes">
|
|
1564
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1565
1565
|
<span class="cline-any cline-neutral"> </span>
|
|
1566
1566
|
<span class="cline-any cline-neutral"> </span>
|
|
1567
|
-
<span class="cline-any cline-yes">
|
|
1567
|
+
<span class="cline-any cline-yes">17x</span>
|
|
1568
1568
|
<span class="cline-any cline-yes">3x</span>
|
|
1569
1569
|
<span class="cline-any cline-neutral"> </span>
|
|
1570
1570
|
<span class="cline-any cline-yes">3x</span>
|
|
@@ -1581,11 +1581,11 @@
|
|
|
1581
1581
|
<span class="cline-any cline-neutral"> </span>
|
|
1582
1582
|
<span class="cline-any cline-no"> </span>
|
|
1583
1583
|
<span class="cline-any cline-neutral"> </span>
|
|
1584
|
-
<span class="cline-any cline-yes">
|
|
1585
|
-
<span class="cline-any cline-yes">
|
|
1586
|
-
<span class="cline-any cline-yes">
|
|
1584
|
+
<span class="cline-any cline-yes">14x</span>
|
|
1585
|
+
<span class="cline-any cline-yes">14x</span>
|
|
1586
|
+
<span class="cline-any cline-yes">14x</span>
|
|
1587
1587
|
<span class="cline-any cline-neutral"> </span>
|
|
1588
|
-
<span class="cline-any cline-yes">
|
|
1588
|
+
<span class="cline-any cline-yes">14x</span>
|
|
1589
1589
|
<span class="cline-any cline-yes">8x</span>
|
|
1590
1590
|
<span class="cline-any cline-neutral"> </span>
|
|
1591
1591
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1612,8 +1612,8 @@
|
|
|
1612
1612
|
<span class="cline-any cline-neutral"> </span>
|
|
1613
1613
|
<span class="cline-any cline-neutral"> </span>
|
|
1614
1614
|
<span class="cline-any cline-neutral"> </span>
|
|
1615
|
-
<span class="cline-any cline-yes">
|
|
1616
|
-
<span class="cline-any cline-yes">
|
|
1615
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1616
|
+
<span class="cline-any cline-yes">21x</span>
|
|
1617
1617
|
<span class="cline-any cline-neutral"> </span>
|
|
1618
1618
|
<span class="cline-any cline-neutral"> </span>
|
|
1619
1619
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1630,7 +1630,7 @@
|
|
|
1630
1630
|
<span class="cline-any cline-neutral"> </span>
|
|
1631
1631
|
<span class="cline-any cline-neutral"> </span>
|
|
1632
1632
|
<span class="cline-any cline-neutral"> </span>
|
|
1633
|
-
<span class="cline-any cline-yes">
|
|
1633
|
+
<span class="cline-any cline-yes">62x</span>
|
|
1634
1634
|
<span class="cline-any cline-neutral"> </span>
|
|
1635
1635
|
<span class="cline-any cline-neutral"> </span>
|
|
1636
1636
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1639,14 +1639,14 @@
|
|
|
1639
1639
|
<span class="cline-any cline-neutral"> </span>
|
|
1640
1640
|
<span class="cline-any cline-neutral"> </span>
|
|
1641
1641
|
<span class="cline-any cline-neutral"> </span>
|
|
1642
|
-
<span class="cline-any cline-yes">
|
|
1642
|
+
<span class="cline-any cline-yes">60x</span>
|
|
1643
1643
|
<span class="cline-any cline-neutral"> </span>
|
|
1644
1644
|
<span class="cline-any cline-neutral"> </span>
|
|
1645
1645
|
<span class="cline-any cline-neutral"> </span>
|
|
1646
1646
|
<span class="cline-any cline-neutral"> </span>
|
|
1647
|
-
<span class="cline-any cline-yes">
|
|
1648
|
-
<span class="cline-any cline-yes">
|
|
1649
|
-
<span class="cline-any cline-yes">
|
|
1647
|
+
<span class="cline-any cline-yes">60x</span>
|
|
1648
|
+
<span class="cline-any cline-yes">53x</span>
|
|
1649
|
+
<span class="cline-any cline-yes">53x</span>
|
|
1650
1650
|
<span class="cline-any cline-yes">7x</span>
|
|
1651
1651
|
<span class="cline-any cline-yes">2x</span>
|
|
1652
1652
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -1659,17 +1659,17 @@
|
|
|
1659
1659
|
<span class="cline-any cline-no"> </span>
|
|
1660
1660
|
<span class="cline-any cline-neutral"> </span>
|
|
1661
1661
|
<span class="cline-any cline-neutral"> </span>
|
|
1662
|
-
<span class="cline-any cline-yes">
|
|
1662
|
+
<span class="cline-any cline-yes">60x</span>
|
|
1663
1663
|
<span class="cline-any cline-neutral"> </span>
|
|
1664
|
-
<span class="cline-any cline-yes">
|
|
1665
|
-
<span class="cline-any cline-yes">
|
|
1664
|
+
<span class="cline-any cline-yes">60x</span>
|
|
1665
|
+
<span class="cline-any cline-yes">67x</span>
|
|
1666
1666
|
<span class="cline-any cline-neutral"> </span>
|
|
1667
|
-
<span class="cline-any cline-yes">
|
|
1667
|
+
<span class="cline-any cline-yes">67x</span>
|
|
1668
1668
|
<span class="cline-any cline-yes">12x</span>
|
|
1669
1669
|
<span class="cline-any cline-neutral"> </span>
|
|
1670
1670
|
<span class="cline-any cline-neutral"> </span>
|
|
1671
|
-
<span class="cline-any cline-yes">
|
|
1672
|
-
<span class="cline-any cline-yes">
|
|
1671
|
+
<span class="cline-any cline-yes">55x</span>
|
|
1672
|
+
<span class="cline-any cline-yes">47x</span>
|
|
1673
1673
|
<span class="cline-any cline-neutral"> </span>
|
|
1674
1674
|
<span class="cline-any cline-neutral"> </span>
|
|
1675
1675
|
<span class="cline-any cline-yes">8x</span>
|
|
@@ -1678,27 +1678,27 @@
|
|
|
1678
1678
|
<span class="cline-any cline-neutral"> </span>
|
|
1679
1679
|
<span class="cline-any cline-neutral"> </span>
|
|
1680
1680
|
<span class="cline-any cline-neutral"> </span>
|
|
1681
|
-
<span class="cline-any cline-yes">
|
|
1681
|
+
<span class="cline-any cline-yes">60x</span>
|
|
1682
1682
|
<span class="cline-any cline-neutral"> </span>
|
|
1683
|
-
<span class="cline-any cline-yes">
|
|
1683
|
+
<span class="cline-any cline-yes">60x</span>
|
|
1684
1684
|
<span class="cline-any cline-neutral"> </span>
|
|
1685
|
-
<span class="cline-any cline-yes">
|
|
1685
|
+
<span class="cline-any cline-yes">60x</span>
|
|
1686
1686
|
<span class="cline-any cline-yes">10x</span>
|
|
1687
1687
|
<span class="cline-any cline-neutral"> </span>
|
|
1688
1688
|
<span class="cline-any cline-neutral"> </span>
|
|
1689
|
-
<span class="cline-any cline-yes">
|
|
1689
|
+
<span class="cline-any cline-yes">50x</span>
|
|
1690
1690
|
<span class="cline-any cline-neutral"> </span>
|
|
1691
1691
|
<span class="cline-any cline-neutral"> </span>
|
|
1692
1692
|
<span class="cline-any cline-neutral"> </span>
|
|
1693
|
-
<span class="cline-any cline-yes">
|
|
1693
|
+
<span class="cline-any cline-yes">60x</span>
|
|
1694
1694
|
<span class="cline-any cline-neutral"> </span>
|
|
1695
|
-
<span class="cline-any cline-yes">
|
|
1695
|
+
<span class="cline-any cline-yes">60x</span>
|
|
1696
1696
|
<span class="cline-any cline-neutral"> </span>
|
|
1697
|
-
<span class="cline-any cline-yes">
|
|
1697
|
+
<span class="cline-any cline-yes">60x</span>
|
|
1698
1698
|
<span class="cline-any cline-no"> </span>
|
|
1699
1699
|
<span class="cline-any cline-neutral"> </span>
|
|
1700
1700
|
<span class="cline-any cline-neutral"> </span>
|
|
1701
|
-
<span class="cline-any cline-yes">
|
|
1701
|
+
<span class="cline-any cline-yes">60x</span>
|
|
1702
1702
|
<span class="cline-any cline-neutral"> </span>
|
|
1703
1703
|
<span class="cline-any cline-neutral"> </span>
|
|
1704
1704
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1779,11 +1779,11 @@
|
|
|
1779
1779
|
<span class="cline-any cline-neutral"> </span>
|
|
1780
1780
|
<span class="cline-any cline-neutral"> </span>
|
|
1781
1781
|
<span class="cline-any cline-neutral"> </span>
|
|
1782
|
-
<span class="cline-any cline-yes">
|
|
1783
|
-
<span class="cline-any cline-yes">
|
|
1782
|
+
<span class="cline-any cline-yes">39x</span>
|
|
1783
|
+
<span class="cline-any cline-yes">39x</span>
|
|
1784
1784
|
<span class="cline-any cline-neutral"> </span>
|
|
1785
1785
|
<span class="cline-any cline-neutral"> </span>
|
|
1786
|
-
<span class="cline-any cline-yes">
|
|
1786
|
+
<span class="cline-any cline-yes">39x</span>
|
|
1787
1787
|
<span class="cline-any cline-neutral"> </span>
|
|
1788
1788
|
<span class="cline-any cline-neutral"> </span>
|
|
1789
1789
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1801,7 +1801,7 @@
|
|
|
1801
1801
|
<span class="cline-any cline-neutral"> </span>
|
|
1802
1802
|
<span class="cline-any cline-neutral"> </span>
|
|
1803
1803
|
<span class="cline-any cline-neutral"> </span>
|
|
1804
|
-
<span class="cline-any cline-yes">
|
|
1804
|
+
<span class="cline-any cline-yes">37x</span>
|
|
1805
1805
|
<span class="cline-any cline-neutral"> </span>
|
|
1806
1806
|
<span class="cline-any cline-neutral"> </span>
|
|
1807
1807
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1820,10 +1820,10 @@
|
|
|
1820
1820
|
<span class="cline-any cline-yes">1x</span>
|
|
1821
1821
|
<span class="cline-any cline-neutral"> </span>
|
|
1822
1822
|
<span class="cline-any cline-neutral"> </span>
|
|
1823
|
-
<span class="cline-any cline-yes">
|
|
1823
|
+
<span class="cline-any cline-yes">36x</span>
|
|
1824
1824
|
<span class="cline-any cline-neutral"> </span>
|
|
1825
1825
|
<span class="cline-any cline-neutral"> </span>
|
|
1826
|
-
<span class="cline-any cline-yes">
|
|
1826
|
+
<span class="cline-any cline-yes">36x</span>
|
|
1827
1827
|
<span class="cline-any cline-no"> </span>
|
|
1828
1828
|
<span class="cline-any cline-neutral"> </span>
|
|
1829
1829
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1835,16 +1835,16 @@
|
|
|
1835
1835
|
<span class="cline-any cline-neutral"> </span>
|
|
1836
1836
|
<span class="cline-any cline-neutral"> </span>
|
|
1837
1837
|
<span class="cline-any cline-neutral"> </span>
|
|
1838
|
-
<span class="cline-any cline-yes">
|
|
1838
|
+
<span class="cline-any cline-yes">36x</span>
|
|
1839
1839
|
<span class="cline-any cline-yes">1x</span>
|
|
1840
1840
|
<span class="cline-any cline-neutral"> </span>
|
|
1841
1841
|
<span class="cline-any cline-neutral"> </span>
|
|
1842
|
-
<span class="cline-any cline-yes">
|
|
1842
|
+
<span class="cline-any cline-yes">36x</span>
|
|
1843
1843
|
<span class="cline-any cline-neutral"> </span>
|
|
1844
1844
|
<span class="cline-any cline-neutral"> </span>
|
|
1845
|
-
<span class="cline-any cline-yes">
|
|
1845
|
+
<span class="cline-any cline-yes">36x</span>
|
|
1846
1846
|
<span class="cline-any cline-neutral"> </span>
|
|
1847
|
-
<span class="cline-any cline-yes">
|
|
1847
|
+
<span class="cline-any cline-yes">36x</span>
|
|
1848
1848
|
<span class="cline-any cline-no"> </span>
|
|
1849
1849
|
<span class="cline-any cline-neutral"> </span>
|
|
1850
1850
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1857,7 +1857,7 @@
|
|
|
1857
1857
|
<span class="cline-any cline-neutral"> </span>
|
|
1858
1858
|
<span class="cline-any cline-neutral"> </span>
|
|
1859
1859
|
<span class="cline-any cline-neutral"> </span>
|
|
1860
|
-
<span class="cline-any cline-yes">
|
|
1860
|
+
<span class="cline-any cline-yes">36x</span>
|
|
1861
1861
|
<span class="cline-any cline-yes">4x</span>
|
|
1862
1862
|
<span class="cline-any cline-neutral"> </span>
|
|
1863
1863
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1896,13 +1896,13 @@
|
|
|
1896
1896
|
<span class="cline-any cline-neutral"> </span>
|
|
1897
1897
|
<span class="cline-any cline-neutral"> </span>
|
|
1898
1898
|
<span class="cline-any cline-neutral"> </span>
|
|
1899
|
-
<span class="cline-any cline-yes">
|
|
1899
|
+
<span class="cline-any cline-yes">34x</span>
|
|
1900
1900
|
<span class="cline-any cline-neutral"> </span>
|
|
1901
|
-
<span class="cline-any cline-yes">
|
|
1901
|
+
<span class="cline-any cline-yes">34x</span>
|
|
1902
1902
|
<span class="cline-any cline-neutral"> </span>
|
|
1903
|
-
<span class="cline-any cline-yes">
|
|
1903
|
+
<span class="cline-any cline-yes">34x</span>
|
|
1904
1904
|
<span class="cline-any cline-neutral"> </span>
|
|
1905
|
-
<span class="cline-any cline-yes">
|
|
1905
|
+
<span class="cline-any cline-yes">34x</span>
|
|
1906
1906
|
<span class="cline-any cline-no"> </span>
|
|
1907
1907
|
<span class="cline-any cline-no"> </span>
|
|
1908
1908
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1934,7 +1934,7 @@
|
|
|
1934
1934
|
<span class="cline-any cline-neutral"> </span>
|
|
1935
1935
|
<span class="cline-any cline-neutral"> </span>
|
|
1936
1936
|
<span class="cline-any cline-neutral"> </span>
|
|
1937
|
-
<span class="cline-any cline-yes">
|
|
1937
|
+
<span class="cline-any cline-yes">34x</span>
|
|
1938
1938
|
<span class="cline-any cline-no"> </span>
|
|
1939
1939
|
<span class="cline-any cline-neutral"> </span>
|
|
1940
1940
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1950,9 +1950,9 @@
|
|
|
1950
1950
|
<span class="cline-any cline-neutral"> </span>
|
|
1951
1951
|
<span class="cline-any cline-neutral"> </span>
|
|
1952
1952
|
<span class="cline-any cline-neutral"> </span>
|
|
1953
|
-
<span class="cline-any cline-yes">
|
|
1953
|
+
<span class="cline-any cline-yes">34x</span>
|
|
1954
1954
|
<span class="cline-any cline-neutral"> </span>
|
|
1955
|
-
<span class="cline-any cline-yes">
|
|
1955
|
+
<span class="cline-any cline-yes">33x</span>
|
|
1956
1956
|
<span class="cline-any cline-neutral"> </span>
|
|
1957
1957
|
<span class="cline-any cline-neutral"> </span>
|
|
1958
1958
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1961,7 +1961,7 @@
|
|
|
1961
1961
|
<span class="cline-any cline-neutral"> </span>
|
|
1962
1962
|
<span class="cline-any cline-neutral"> </span>
|
|
1963
1963
|
<span class="cline-any cline-neutral"> </span>
|
|
1964
|
-
<span class="cline-any cline-yes">
|
|
1964
|
+
<span class="cline-any cline-yes">33x</span>
|
|
1965
1965
|
<span class="cline-any cline-neutral"> </span>
|
|
1966
1966
|
<span class="cline-any cline-neutral"> </span>
|
|
1967
1967
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2003,12 +2003,12 @@
|
|
|
2003
2003
|
<span class="cline-any cline-neutral"> </span>
|
|
2004
2004
|
<span class="cline-any cline-neutral"> </span>
|
|
2005
2005
|
<span class="cline-any cline-neutral"> </span>
|
|
2006
|
-
<span class="cline-any cline-yes">
|
|
2007
|
-
<span class="cline-any cline-yes">
|
|
2006
|
+
<span class="cline-any cline-yes">17x</span>
|
|
2007
|
+
<span class="cline-any cline-yes">17x</span>
|
|
2008
2008
|
<span class="cline-any cline-neutral"> </span>
|
|
2009
|
-
<span class="cline-any cline-yes">
|
|
2009
|
+
<span class="cline-any cline-yes">17x</span>
|
|
2010
2010
|
<span class="cline-any cline-neutral"> </span>
|
|
2011
|
-
<span class="cline-any cline-yes">
|
|
2011
|
+
<span class="cline-any cline-yes">17x</span>
|
|
2012
2012
|
<span class="cline-any cline-no"> </span>
|
|
2013
2013
|
<span class="cline-any cline-neutral"> </span>
|
|
2014
2014
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2020,7 +2020,7 @@
|
|
|
2020
2020
|
<span class="cline-any cline-neutral"> </span>
|
|
2021
2021
|
<span class="cline-any cline-neutral"> </span>
|
|
2022
2022
|
<span class="cline-any cline-neutral"> </span>
|
|
2023
|
-
<span class="cline-any cline-yes">
|
|
2023
|
+
<span class="cline-any cline-yes">17x</span>
|
|
2024
2024
|
<span class="cline-any cline-yes">2x</span>
|
|
2025
2025
|
<span class="cline-any cline-neutral"> </span>
|
|
2026
2026
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -2037,7 +2037,7 @@
|
|
|
2037
2037
|
<span class="cline-any cline-neutral"> </span>
|
|
2038
2038
|
<span class="cline-any cline-neutral"> </span>
|
|
2039
2039
|
<span class="cline-any cline-neutral"> </span>
|
|
2040
|
-
<span class="cline-any cline-yes">
|
|
2040
|
+
<span class="cline-any cline-yes">15x</span>
|
|
2041
2041
|
<span class="cline-any cline-neutral"> </span>
|
|
2042
2042
|
<span class="cline-any cline-neutral"> </span>
|
|
2043
2043
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2057,10 +2057,10 @@
|
|
|
2057
2057
|
<span class="cline-any cline-yes">1x</span>
|
|
2058
2058
|
<span class="cline-any cline-neutral"> </span>
|
|
2059
2059
|
<span class="cline-any cline-neutral"> </span>
|
|
2060
|
-
<span class="cline-any cline-yes">
|
|
2060
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2061
2061
|
<span class="cline-any cline-neutral"> </span>
|
|
2062
2062
|
<span class="cline-any cline-neutral"> </span>
|
|
2063
|
-
<span class="cline-any cline-yes">
|
|
2063
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2064
2064
|
<span class="cline-any cline-no"> </span>
|
|
2065
2065
|
<span class="cline-any cline-neutral"> </span>
|
|
2066
2066
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2072,7 +2072,7 @@
|
|
|
2072
2072
|
<span class="cline-any cline-neutral"> </span>
|
|
2073
2073
|
<span class="cline-any cline-neutral"> </span>
|
|
2074
2074
|
<span class="cline-any cline-neutral"> </span>
|
|
2075
|
-
<span class="cline-any cline-yes">
|
|
2075
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2076
2076
|
<span class="cline-any cline-no"> </span>
|
|
2077
2077
|
<span class="cline-any cline-neutral"> </span>
|
|
2078
2078
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2083,12 +2083,12 @@
|
|
|
2083
2083
|
<span class="cline-any cline-no"> </span>
|
|
2084
2084
|
<span class="cline-any cline-neutral"> </span>
|
|
2085
2085
|
<span class="cline-any cline-neutral"> </span>
|
|
2086
|
-
<span class="cline-any cline-yes">
|
|
2086
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2087
2087
|
<span class="cline-any cline-neutral"> </span>
|
|
2088
2088
|
<span class="cline-any cline-neutral"> </span>
|
|
2089
|
-
<span class="cline-any cline-yes">
|
|
2089
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2090
2090
|
<span class="cline-any cline-neutral"> </span>
|
|
2091
|
-
<span class="cline-any cline-yes">
|
|
2091
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2092
2092
|
<span class="cline-any cline-no"> </span>
|
|
2093
2093
|
<span class="cline-any cline-neutral"> </span>
|
|
2094
2094
|
<span class="cline-any cline-no"> </span>
|
|
@@ -2105,9 +2105,9 @@
|
|
|
2105
2105
|
<span class="cline-any cline-neutral"> </span>
|
|
2106
2106
|
<span class="cline-any cline-neutral"> </span>
|
|
2107
2107
|
<span class="cline-any cline-neutral"> </span>
|
|
2108
|
-
<span class="cline-any cline-yes">
|
|
2108
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2109
2109
|
<span class="cline-any cline-neutral"> </span>
|
|
2110
|
-
<span class="cline-any cline-yes">
|
|
2110
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2111
2111
|
<span class="cline-any cline-neutral"> </span>
|
|
2112
2112
|
<span class="cline-any cline-neutral"> </span>
|
|
2113
2113
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2115,9 +2115,9 @@
|
|
|
2115
2115
|
<span class="cline-any cline-neutral"> </span>
|
|
2116
2116
|
<span class="cline-any cline-neutral"> </span>
|
|
2117
2117
|
<span class="cline-any cline-neutral"> </span>
|
|
2118
|
-
<span class="cline-any cline-yes">
|
|
2118
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2119
2119
|
<span class="cline-any cline-neutral"> </span>
|
|
2120
|
-
<span class="cline-any cline-yes">
|
|
2120
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2121
2121
|
<span class="cline-any cline-no"> </span>
|
|
2122
2122
|
<span class="cline-any cline-neutral"> </span>
|
|
2123
2123
|
<span class="cline-any cline-no"> </span>
|
|
@@ -2136,20 +2136,20 @@
|
|
|
2136
2136
|
<span class="cline-any cline-neutral"> </span>
|
|
2137
2137
|
<span class="cline-any cline-neutral"> </span>
|
|
2138
2138
|
<span class="cline-any cline-neutral"> </span>
|
|
2139
|
-
<span class="cline-any cline-yes">
|
|
2140
|
-
<span class="cline-any cline-yes">
|
|
2139
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2140
|
+
<span class="cline-any cline-yes">19x</span>
|
|
2141
2141
|
<span class="cline-any cline-neutral"> </span>
|
|
2142
|
-
<span class="cline-any cline-yes">
|
|
2143
|
-
<span class="cline-any cline-yes">
|
|
2142
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2143
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2144
2144
|
<span class="cline-any cline-neutral"> </span>
|
|
2145
2145
|
<span class="cline-any cline-neutral"> </span>
|
|
2146
2146
|
<span class="cline-any cline-neutral"> </span>
|
|
2147
2147
|
<span class="cline-any cline-neutral"> </span>
|
|
2148
2148
|
<span class="cline-any cline-neutral"> </span>
|
|
2149
2149
|
<span class="cline-any cline-neutral"> </span>
|
|
2150
|
-
<span class="cline-any cline-yes">
|
|
2150
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2151
2151
|
<span class="cline-any cline-neutral"> </span>
|
|
2152
|
-
<span class="cline-any cline-yes">
|
|
2152
|
+
<span class="cline-any cline-yes">14x</span>
|
|
2153
2153
|
<span class="cline-any cline-neutral"> </span>
|
|
2154
2154
|
<span class="cline-any cline-neutral"> </span>
|
|
2155
2155
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2179,15 +2179,15 @@
|
|
|
2179
2179
|
<span class="cline-any cline-neutral"> </span>
|
|
2180
2180
|
<span class="cline-any cline-neutral"> </span>
|
|
2181
2181
|
<span class="cline-any cline-neutral"> </span>
|
|
2182
|
-
<span class="cline-any cline-yes">
|
|
2183
|
-
<span class="cline-any cline-yes">
|
|
2182
|
+
<span class="cline-any cline-yes">16x</span>
|
|
2183
|
+
<span class="cline-any cline-yes">16x</span>
|
|
2184
2184
|
<span class="cline-any cline-neutral"> </span>
|
|
2185
|
-
<span class="cline-any cline-yes">
|
|
2185
|
+
<span class="cline-any cline-yes">16x</span>
|
|
2186
2186
|
<span class="cline-any cline-yes">3x</span>
|
|
2187
2187
|
<span class="cline-any cline-neutral"> </span>
|
|
2188
2188
|
<span class="cline-any cline-neutral"> </span>
|
|
2189
|
-
<span class="cline-any cline-yes">
|
|
2190
|
-
<span class="cline-any cline-yes">
|
|
2189
|
+
<span class="cline-any cline-yes">13x</span>
|
|
2190
|
+
<span class="cline-any cline-yes">13x</span>
|
|
2191
2191
|
<span class="cline-any cline-neutral"> </span>
|
|
2192
2192
|
<span class="cline-any cline-neutral"> </span>
|
|
2193
2193
|
<span class="cline-any cline-no"> </span>
|
|
@@ -2253,12 +2253,12 @@
|
|
|
2253
2253
|
<span class="cline-any cline-neutral"> </span>
|
|
2254
2254
|
<span class="cline-any cline-neutral"> </span>
|
|
2255
2255
|
<span class="cline-any cline-neutral"> </span>
|
|
2256
|
-
<span class="cline-any cline-
|
|
2257
|
-
<span class="cline-any cline-
|
|
2256
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2257
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2258
2258
|
<span class="cline-any cline-neutral"> </span>
|
|
2259
|
-
<span class="cline-any cline-
|
|
2259
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2260
2260
|
<span class="cline-any cline-neutral"> </span>
|
|
2261
|
-
<span class="cline-any cline-
|
|
2261
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2262
2262
|
<span class="cline-any cline-no"> </span>
|
|
2263
2263
|
<span class="cline-any cline-neutral"> </span>
|
|
2264
2264
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2270,7 +2270,7 @@
|
|
|
2270
2270
|
<span class="cline-any cline-neutral"> </span>
|
|
2271
2271
|
<span class="cline-any cline-neutral"> </span>
|
|
2272
2272
|
<span class="cline-any cline-neutral"> </span>
|
|
2273
|
-
<span class="cline-any cline-
|
|
2273
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2274
2274
|
<span class="cline-any cline-no"> </span>
|
|
2275
2275
|
<span class="cline-any cline-neutral"> </span>
|
|
2276
2276
|
<span class="cline-any cline-no"> </span>
|
|
@@ -2292,7 +2292,7 @@
|
|
|
2292
2292
|
<span class="cline-any cline-neutral"> </span>
|
|
2293
2293
|
<span class="cline-any cline-neutral"> </span>
|
|
2294
2294
|
<span class="cline-any cline-neutral"> </span>
|
|
2295
|
-
<span class="cline-any cline-
|
|
2295
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2296
2296
|
<span class="cline-any cline-neutral"> </span>
|
|
2297
2297
|
<span class="cline-any cline-neutral"> </span>
|
|
2298
2298
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2316,10 +2316,10 @@
|
|
|
2316
2316
|
<span class="cline-any cline-neutral"> </span>
|
|
2317
2317
|
<span class="cline-any cline-neutral"> </span>
|
|
2318
2318
|
<span class="cline-any cline-neutral"> </span>
|
|
2319
|
-
<span class="cline-any cline-
|
|
2319
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2320
2320
|
<span class="cline-any cline-neutral"> </span>
|
|
2321
2321
|
<span class="cline-any cline-neutral"> </span>
|
|
2322
|
-
<span class="cline-any cline-
|
|
2322
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2323
2323
|
<span class="cline-any cline-no"> </span>
|
|
2324
2324
|
<span class="cline-any cline-neutral"> </span>
|
|
2325
2325
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2331,12 +2331,12 @@
|
|
|
2331
2331
|
<span class="cline-any cline-no"> </span>
|
|
2332
2332
|
<span class="cline-any cline-neutral"> </span>
|
|
2333
2333
|
<span class="cline-any cline-neutral"> </span>
|
|
2334
|
-
<span class="cline-any cline-
|
|
2335
|
-
<span class="cline-any cline-
|
|
2334
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2335
|
+
<span class="cline-any cline-yes">42x</span>
|
|
2336
2336
|
<span class="cline-any cline-neutral"> </span>
|
|
2337
2337
|
<span class="cline-any cline-neutral"> </span>
|
|
2338
2338
|
<span class="cline-any cline-neutral"> </span>
|
|
2339
|
-
<span class="cline-any cline-
|
|
2339
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2340
2340
|
<span class="cline-any cline-no"> </span>
|
|
2341
2341
|
<span class="cline-any cline-neutral"> </span>
|
|
2342
2342
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2348,12 +2348,12 @@
|
|
|
2348
2348
|
<span class="cline-any cline-no"> </span>
|
|
2349
2349
|
<span class="cline-any cline-neutral"> </span>
|
|
2350
2350
|
<span class="cline-any cline-neutral"> </span>
|
|
2351
|
-
<span class="cline-any cline-
|
|
2351
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2352
2352
|
<span class="cline-any cline-neutral"> </span>
|
|
2353
2353
|
<span class="cline-any cline-neutral"> </span>
|
|
2354
|
-
<span class="cline-any cline-
|
|
2354
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2355
2355
|
<span class="cline-any cline-neutral"> </span>
|
|
2356
|
-
<span class="cline-any cline-
|
|
2356
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2357
2357
|
<span class="cline-any cline-no"> </span>
|
|
2358
2358
|
<span class="cline-any cline-neutral"> </span>
|
|
2359
2359
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2368,9 +2368,9 @@
|
|
|
2368
2368
|
<span class="cline-any cline-neutral"> </span>
|
|
2369
2369
|
<span class="cline-any cline-neutral"> </span>
|
|
2370
2370
|
<span class="cline-any cline-neutral"> </span>
|
|
2371
|
-
<span class="cline-any cline-
|
|
2371
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2372
2372
|
<span class="cline-any cline-neutral"> </span>
|
|
2373
|
-
<span class="cline-any cline-
|
|
2373
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2374
2374
|
<span class="cline-any cline-neutral"> </span>
|
|
2375
2375
|
<span class="cline-any cline-neutral"> </span>
|
|
2376
2376
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2378,9 +2378,9 @@
|
|
|
2378
2378
|
<span class="cline-any cline-neutral"> </span>
|
|
2379
2379
|
<span class="cline-any cline-neutral"> </span>
|
|
2380
2380
|
<span class="cline-any cline-neutral"> </span>
|
|
2381
|
-
<span class="cline-any cline-
|
|
2381
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2382
2382
|
<span class="cline-any cline-neutral"> </span>
|
|
2383
|
-
<span class="cline-any cline-
|
|
2383
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2384
2384
|
<span class="cline-any cline-neutral"> </span>
|
|
2385
2385
|
<span class="cline-any cline-neutral"> </span>
|
|
2386
2386
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2400,14 +2400,14 @@
|
|
|
2400
2400
|
<span class="cline-any cline-neutral"> </span>
|
|
2401
2401
|
<span class="cline-any cline-neutral"> </span>
|
|
2402
2402
|
<span class="cline-any cline-neutral"> </span>
|
|
2403
|
-
<span class="cline-any cline-
|
|
2404
|
-
<span class="cline-any cline-
|
|
2403
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2404
|
+
<span class="cline-any cline-yes">24x</span>
|
|
2405
2405
|
<span class="cline-any cline-neutral"> </span>
|
|
2406
|
-
<span class="cline-any cline-
|
|
2407
|
-
<span class="cline-any cline-
|
|
2406
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2407
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2408
2408
|
<span class="cline-any cline-neutral"> </span>
|
|
2409
|
-
<span class="cline-any cline-
|
|
2410
|
-
<span class="cline-any cline-
|
|
2409
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2410
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2411
2411
|
<span class="cline-any cline-no"> </span>
|
|
2412
2412
|
<span class="cline-any cline-no"> </span>
|
|
2413
2413
|
<span class="cline-any cline-no"> </span>
|
|
@@ -2446,8 +2446,8 @@
|
|
|
2446
2446
|
<span class="cline-any cline-neutral"> </span>
|
|
2447
2447
|
<span class="cline-any cline-neutral"> </span>
|
|
2448
2448
|
<span class="cline-any cline-neutral"> </span>
|
|
2449
|
-
<span class="cline-any cline-
|
|
2450
|
-
<span class="cline-any cline-
|
|
2449
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2450
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2451
2451
|
<span class="cline-any cline-neutral"> </span>
|
|
2452
2452
|
<span class="cline-any cline-neutral"> </span>
|
|
2453
2453
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2457,9 +2457,9 @@
|
|
|
2457
2457
|
<span class="cline-any cline-neutral"> </span>
|
|
2458
2458
|
<span class="cline-any cline-neutral"> </span>
|
|
2459
2459
|
<span class="cline-any cline-neutral"> </span>
|
|
2460
|
-
<span class="cline-any cline-
|
|
2460
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2461
2461
|
<span class="cline-any cline-neutral"> </span>
|
|
2462
|
-
<span class="cline-any cline-
|
|
2462
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2463
2463
|
<span class="cline-any cline-neutral"> </span>
|
|
2464
2464
|
<span class="cline-any cline-neutral"> </span>
|
|
2465
2465
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2467,7 +2467,7 @@
|
|
|
2467
2467
|
<span class="cline-any cline-neutral"> </span>
|
|
2468
2468
|
<span class="cline-any cline-neutral"> </span>
|
|
2469
2469
|
<span class="cline-any cline-neutral"> </span>
|
|
2470
|
-
<span class="cline-any cline-
|
|
2470
|
+
<span class="cline-any cline-yes">10x</span>
|
|
2471
2471
|
<span class="cline-any cline-neutral"> </span>
|
|
2472
2472
|
<span class="cline-any cline-neutral"> </span>
|
|
2473
2473
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2476,9 +2476,9 @@
|
|
|
2476
2476
|
<span class="cline-any cline-neutral"> </span>
|
|
2477
2477
|
<span class="cline-any cline-neutral"> </span>
|
|
2478
2478
|
<span class="cline-any cline-neutral"> </span>
|
|
2479
|
-
<span class="cline-any cline-
|
|
2479
|
+
<span class="cline-any cline-yes">10x</span>
|
|
2480
2480
|
<span class="cline-any cline-neutral"> </span>
|
|
2481
|
-
<span class="cline-any cline-
|
|
2481
|
+
<span class="cline-any cline-yes">10x</span>
|
|
2482
2482
|
<span class="cline-any cline-neutral"> </span>
|
|
2483
2483
|
<span class="cline-any cline-no"> </span>
|
|
2484
2484
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2496,19 +2496,19 @@
|
|
|
2496
2496
|
<span class="cline-any cline-neutral"> </span>
|
|
2497
2497
|
<span class="cline-any cline-neutral"> </span>
|
|
2498
2498
|
<span class="cline-any cline-neutral"> </span>
|
|
2499
|
-
<span class="cline-any cline-
|
|
2500
|
-
<span class="cline-any cline-
|
|
2499
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2500
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2501
2501
|
<span class="cline-any cline-neutral"> </span>
|
|
2502
|
-
<span class="cline-any cline-
|
|
2503
|
-
<span class="cline-any cline-
|
|
2502
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2503
|
+
<span class="cline-any cline-yes">12x</span>
|
|
2504
2504
|
<span class="cline-any cline-neutral"> </span>
|
|
2505
2505
|
<span class="cline-any cline-neutral"> </span>
|
|
2506
2506
|
<span class="cline-any cline-neutral"> </span>
|
|
2507
2507
|
<span class="cline-any cline-neutral"> </span>
|
|
2508
|
-
<span class="cline-any cline-
|
|
2508
|
+
<span class="cline-any cline-yes">2x</span>
|
|
2509
2509
|
<span class="cline-any cline-neutral"> </span>
|
|
2510
2510
|
<span class="cline-any cline-neutral"> </span>
|
|
2511
|
-
<span class="cline-any cline-
|
|
2511
|
+
<span class="cline-any cline-yes">10x</span>
|
|
2512
2512
|
<span class="cline-any cline-neutral"> </span>
|
|
2513
2513
|
<span class="cline-any cline-neutral"> </span>
|
|
2514
2514
|
<span class="cline-any cline-no"> </span>
|
|
@@ -2524,9 +2524,9 @@
|
|
|
2524
2524
|
<span class="cline-any cline-neutral"> </span>
|
|
2525
2525
|
<span class="cline-any cline-neutral"> </span>
|
|
2526
2526
|
<span class="cline-any cline-neutral"> </span>
|
|
2527
|
-
<span class="cline-any cline-
|
|
2527
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2528
2528
|
<span class="cline-any cline-neutral"> </span>
|
|
2529
|
-
<span class="cline-any cline-
|
|
2529
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2530
2530
|
<span class="cline-any cline-neutral"> </span>
|
|
2531
2531
|
<span class="cline-any cline-neutral"> </span>
|
|
2532
2532
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2534,9 +2534,9 @@
|
|
|
2534
2534
|
<span class="cline-any cline-neutral"> </span>
|
|
2535
2535
|
<span class="cline-any cline-neutral"> </span>
|
|
2536
2536
|
<span class="cline-any cline-neutral"> </span>
|
|
2537
|
-
<span class="cline-any cline-
|
|
2537
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2538
2538
|
<span class="cline-any cline-neutral"> </span>
|
|
2539
|
-
<span class="cline-any cline-
|
|
2539
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2540
2540
|
<span class="cline-any cline-neutral"> </span>
|
|
2541
2541
|
<span class="cline-any cline-neutral"> </span>
|
|
2542
2542
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2544,9 +2544,9 @@
|
|
|
2544
2544
|
<span class="cline-any cline-neutral"> </span>
|
|
2545
2545
|
<span class="cline-any cline-neutral"> </span>
|
|
2546
2546
|
<span class="cline-any cline-neutral"> </span>
|
|
2547
|
-
<span class="cline-any cline-
|
|
2547
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2548
2548
|
<span class="cline-any cline-neutral"> </span>
|
|
2549
|
-
<span class="cline-any cline-
|
|
2549
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2550
2550
|
<span class="cline-any cline-neutral"> </span>
|
|
2551
2551
|
<span class="cline-any cline-neutral"> </span>
|
|
2552
2552
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2564,9 +2564,9 @@
|
|
|
2564
2564
|
<span class="cline-any cline-neutral"> </span>
|
|
2565
2565
|
<span class="cline-any cline-neutral"> </span>
|
|
2566
2566
|
<span class="cline-any cline-neutral"> </span>
|
|
2567
|
-
<span class="cline-any cline-
|
|
2567
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2568
2568
|
<span class="cline-any cline-neutral"> </span>
|
|
2569
|
-
<span class="cline-any cline-
|
|
2569
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2570
2570
|
<span class="cline-any cline-neutral"> </span>
|
|
2571
2571
|
<span class="cline-any cline-neutral"> </span>
|
|
2572
2572
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2574,9 +2574,9 @@
|
|
|
2574
2574
|
<span class="cline-any cline-neutral"> </span>
|
|
2575
2575
|
<span class="cline-any cline-neutral"> </span>
|
|
2576
2576
|
<span class="cline-any cline-neutral"> </span>
|
|
2577
|
-
<span class="cline-any cline-
|
|
2577
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2578
2578
|
<span class="cline-any cline-neutral"> </span>
|
|
2579
|
-
<span class="cline-any cline-
|
|
2579
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2580
2580
|
<span class="cline-any cline-neutral"> </span>
|
|
2581
2581
|
<span class="cline-any cline-neutral"> </span>
|
|
2582
2582
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -2584,14 +2584,14 @@
|
|
|
2584
2584
|
<span class="cline-any cline-neutral"> </span>
|
|
2585
2585
|
<span class="cline-any cline-neutral"> </span>
|
|
2586
2586
|
<span class="cline-any cline-neutral"> </span>
|
|
2587
|
-
<span class="cline-any cline-
|
|
2587
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2588
2588
|
<span class="cline-any cline-neutral"> </span>
|
|
2589
|
-
<span class="cline-any cline-
|
|
2589
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2590
2590
|
<span class="cline-any cline-neutral"> </span>
|
|
2591
2591
|
<span class="cline-any cline-neutral"> </span>
|
|
2592
2592
|
<span class="cline-any cline-neutral"> </span>
|
|
2593
2593
|
<span class="cline-any cline-yes">1x</span>
|
|
2594
|
-
<span class="cline-any cline-yes">
|
|
2594
|
+
<span class="cline-any cline-yes">17x</span>
|
|
2595
2595
|
<span class="cline-any cline-neutral"> </span>
|
|
2596
2596
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
2597
2597
|
Context,
|
|
@@ -2726,28 +2726,28 @@ function fetchDatafileContent(
|
|
|
2726
2726
|
type FieldType = string | VariableType;
|
|
2727
2727
|
type ValueType = VariableValue;
|
|
2728
2728
|
|
|
2729
|
-
export function
|
|
2730
|
-
|
|
2731
|
-
|
|
2729
|
+
export function getValueByType(value: ValueType, fieldType: FieldType): ValueType {
|
|
2730
|
+
try {
|
|
2731
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (value === undefined) {
|
|
2732
2732
|
<span class="cstat-no" title="statement not covered" > return undefined;</span>
|
|
2733
2733
|
}
|
|
2734
2734
|
|
|
2735
|
-
|
|
2735
|
+
switch (fieldType) {
|
|
2736
2736
|
case "string":
|
|
2737
|
-
<span class="
|
|
2737
|
+
return typeof value === "string" ? value : <span class="branch-1 cbranch-no" title="branch not covered" >undefined;</span>
|
|
2738
2738
|
case "integer":
|
|
2739
|
-
|
|
2740
|
-
case "double"
|
|
2739
|
+
return parseInt(value as string, 10);
|
|
2740
|
+
<span class="branch-2 cbranch-no" title="branch not covered" > case "double":</span>
|
|
2741
2741
|
<span class="cstat-no" title="statement not covered" > return parseFloat(value as string);</span>
|
|
2742
2742
|
case "boolean":
|
|
2743
|
-
|
|
2743
|
+
return value === true;
|
|
2744
2744
|
case "array":
|
|
2745
|
-
<span class="
|
|
2745
|
+
return Array.isArray(value) ? value : <span class="branch-1 cbranch-no" title="branch not covered" >undefined;</span>
|
|
2746
2746
|
case "object":
|
|
2747
|
-
<span class="
|
|
2747
|
+
return typeof value === "object" ? value : <span class="branch-1 cbranch-no" title="branch not covered" >undefined;</span>
|
|
2748
2748
|
// @NOTE: `json` is not handled here intentionally
|
|
2749
2749
|
default:
|
|
2750
|
-
|
|
2750
|
+
return value;
|
|
2751
2751
|
}
|
|
2752
2752
|
} catch (e) {
|
|
2753
2753
|
<span class="cstat-no" title="statement not covered" > return undefined;</span>
|
|
@@ -3511,19 +3511,19 @@ export class FeaturevisorInstance {
|
|
|
3511
3511
|
/**
|
|
3512
3512
|
* Variable
|
|
3513
3513
|
*/
|
|
3514
|
-
|
|
3514
|
+
evaluateVariable(
|
|
3515
3515
|
featureKey: FeatureKey | Feature,
|
|
3516
3516
|
variableKey: VariableKey,
|
|
3517
3517
|
context: Context = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
|
|
3518
3518
|
): Evaluation {
|
|
3519
3519
|
let evaluation: Evaluation;
|
|
3520
3520
|
|
|
3521
|
-
|
|
3522
|
-
const key = <span class="
|
|
3521
|
+
try {
|
|
3522
|
+
const key = typeof featureKey === "string" ? featureKey : <span class="branch-1 cbranch-no" title="branch not covered" >featureKey.key;</span>
|
|
3523
3523
|
|
|
3524
|
-
const flag =
|
|
3524
|
+
const flag = this.evaluateFlag(featureKey, context);
|
|
3525
3525
|
|
|
3526
|
-
|
|
3526
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (flag.enabled === false) {
|
|
3527
3527
|
<span class="cstat-no" title="statement not covered" > evaluation = {</span>
|
|
3528
3528
|
featureKey: key,
|
|
3529
3529
|
reason: EvaluationReason.DISABLED,
|
|
@@ -3535,7 +3535,7 @@ export class FeaturevisorInstance {
|
|
|
3535
3535
|
}
|
|
3536
3536
|
|
|
3537
3537
|
// sticky
|
|
3538
|
-
|
|
3538
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (this.stickyFeatures && <span class="branch-1 cbranch-no" title="branch not covered" >this.stickyFeatures[key])</span> {
|
|
3539
3539
|
const variables = <span class="cstat-no" title="statement not covered" >this.stickyFeatures[key].variables;</span>
|
|
3540
3540
|
|
|
3541
3541
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (variables) {</span>
|
|
@@ -3557,11 +3557,11 @@ export class FeaturevisorInstance {
|
|
|
3557
3557
|
}
|
|
3558
3558
|
|
|
3559
3559
|
// initial
|
|
3560
|
-
|
|
3560
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
3561
3561
|
this.statuses &&
|
|
3562
3562
|
!this.statuses.ready &&
|
|
3563
|
-
this.initialFeatures
|
|
3564
|
-
this.initialFeatures[key]
|
|
3563
|
+
<span class="branch-2 cbranch-no" title="branch not covered" > this.initialFeatures </span>&&
|
|
3564
|
+
<span class="branch-3 cbranch-no" title="branch not covered" > this.initialFeatures[key]</span>
|
|
3565
3565
|
) {
|
|
3566
3566
|
const variables = <span class="cstat-no" title="statement not covered" >this.initialFeatures[key].variables;</span>
|
|
3567
3567
|
|
|
@@ -3581,10 +3581,10 @@ export class FeaturevisorInstance {
|
|
|
3581
3581
|
}
|
|
3582
3582
|
}
|
|
3583
3583
|
|
|
3584
|
-
const feature =
|
|
3584
|
+
const feature = this.getFeature(featureKey);
|
|
3585
3585
|
|
|
3586
3586
|
// not found
|
|
3587
|
-
|
|
3587
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!feature) {
|
|
3588
3588
|
<span class="cstat-no" title="statement not covered" > evaluation = {</span>
|
|
3589
3589
|
featureKey: key,
|
|
3590
3590
|
reason: EvaluationReason.NOT_FOUND,
|
|
@@ -3596,12 +3596,12 @@ export class FeaturevisorInstance {
|
|
|
3596
3596
|
<span class="cstat-no" title="statement not covered" > return evaluation;</span>
|
|
3597
3597
|
}
|
|
3598
3598
|
|
|
3599
|
-
const variableSchema =
|
|
3600
|
-
? feature.variablesSchema.find(
|
|
3601
|
-
: undefined
|
|
3599
|
+
const variableSchema = Array.isArray(feature.variablesSchema)
|
|
3600
|
+
? feature.variablesSchema.find((v) => v.key === variableKey)
|
|
3601
|
+
: <span class="branch-1 cbranch-no" title="branch not covered" >undefined;</span>
|
|
3602
3602
|
|
|
3603
3603
|
// variable schema not found
|
|
3604
|
-
|
|
3604
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!variableSchema) {
|
|
3605
3605
|
<span class="cstat-no" title="statement not covered" > evaluation = {</span>
|
|
3606
3606
|
featureKey: key,
|
|
3607
3607
|
reason: EvaluationReason.NOT_FOUND,
|
|
@@ -3613,12 +3613,12 @@ export class FeaturevisorInstance {
|
|
|
3613
3613
|
<span class="cstat-no" title="statement not covered" > return evaluation;</span>
|
|
3614
3614
|
}
|
|
3615
3615
|
|
|
3616
|
-
const finalContext = <span class="
|
|
3616
|
+
const finalContext = this.interceptContext ? <span class="branch-0 cbranch-no" title="branch not covered" >this.interceptContext(context) </span>: context;
|
|
3617
3617
|
|
|
3618
3618
|
// forced
|
|
3619
|
-
const force =
|
|
3619
|
+
const force = findForceFromFeature(feature, context, this.datafileReader);
|
|
3620
3620
|
|
|
3621
|
-
|
|
3621
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (force && <span class="branch-1 cbranch-no" title="branch not covered" >force.variables </span>&& <span class="branch-2 cbranch-no" title="branch not covered" >typeof force.variables[variableKey] !== "undefined")</span> {
|
|
3622
3622
|
<span class="cstat-no" title="statement not covered" > evaluation = {</span>
|
|
3623
3623
|
featureKey: feature.key,
|
|
3624
3624
|
reason: EvaluationReason.FORCED,
|
|
@@ -3633,9 +3633,9 @@ export class FeaturevisorInstance {
|
|
|
3633
3633
|
}
|
|
3634
3634
|
|
|
3635
3635
|
// bucketing
|
|
3636
|
-
const bucketValue =
|
|
3636
|
+
const bucketValue = this.getBucketValue(feature, finalContext);
|
|
3637
3637
|
|
|
3638
|
-
const { matchedTraffic, matchedAllocation } =
|
|
3638
|
+
const { matchedTraffic, matchedAllocation } = getMatchedTrafficAndAllocation(
|
|
3639
3639
|
feature.traffic,
|
|
3640
3640
|
finalContext,
|
|
3641
3641
|
bucketValue,
|
|
@@ -3643,11 +3643,11 @@ export class FeaturevisorInstance {
|
|
|
3643
3643
|
this.logger,
|
|
3644
3644
|
);
|
|
3645
3645
|
|
|
3646
|
-
|
|
3646
|
+
if (matchedTraffic) {
|
|
3647
3647
|
// override from rule
|
|
3648
|
-
|
|
3648
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
3649
3649
|
matchedTraffic.variables &&
|
|
3650
|
-
typeof matchedTraffic.variables[variableKey] !== "undefined"
|
|
3650
|
+
<span class="branch-1 cbranch-no" title="branch not covered" > typeof matchedTraffic.variables[variableKey] !== "undefined"</span>
|
|
3651
3651
|
) {
|
|
3652
3652
|
<span class="cstat-no" title="statement not covered" > evaluation = {</span>
|
|
3653
3653
|
featureKey: feature.key,
|
|
@@ -3665,14 +3665,14 @@ export class FeaturevisorInstance {
|
|
|
3665
3665
|
}
|
|
3666
3666
|
|
|
3667
3667
|
// regular allocation
|
|
3668
|
-
|
|
3669
|
-
const variation =
|
|
3668
|
+
if (matchedAllocation && matchedAllocation.variation && Array.isArray(feature.variations)) {
|
|
3669
|
+
const variation = feature.variations.find((v) => v.value === matchedAllocation.variation);
|
|
3670
3670
|
|
|
3671
|
-
|
|
3672
|
-
const variableFromVariation =
|
|
3671
|
+
if (variation && variation.variables) {
|
|
3672
|
+
const variableFromVariation = variation.variables.find((v) => v.key === variableKey);
|
|
3673
3673
|
|
|
3674
|
-
|
|
3675
|
-
|
|
3674
|
+
if (variableFromVariation) {
|
|
3675
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (variableFromVariation.overrides) {
|
|
3676
3676
|
const override = <span class="cstat-no" title="statement not covered" >variableFromVariation.overrides.find(<span class="fstat-no" title="function not covered" >(o</span>) => {</span>
|
|
3677
3677
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (o.conditions) {</span>
|
|
3678
3678
|
<span class="cstat-no" title="statement not covered" > return allConditionsAreMatched(</span>
|
|
@@ -3711,8 +3711,8 @@ export class FeaturevisorInstance {
|
|
|
3711
3711
|
}
|
|
3712
3712
|
}
|
|
3713
3713
|
|
|
3714
|
-
|
|
3715
|
-
|
|
3714
|
+
if (typeof variableFromVariation.value !== "undefined") {
|
|
3715
|
+
evaluation = {
|
|
3716
3716
|
featureKey: feature.key,
|
|
3717
3717
|
reason: EvaluationReason.ALLOCATED,
|
|
3718
3718
|
variableKey,
|
|
@@ -3722,9 +3722,9 @@ export class FeaturevisorInstance {
|
|
|
3722
3722
|
ruleKey: matchedTraffic.key,
|
|
3723
3723
|
};
|
|
3724
3724
|
|
|
3725
|
-
|
|
3725
|
+
this.logger.debug("allocated variable", evaluation);
|
|
3726
3726
|
|
|
3727
|
-
|
|
3727
|
+
return evaluation;
|
|
3728
3728
|
}
|
|
3729
3729
|
}
|
|
3730
3730
|
}
|
|
@@ -3732,7 +3732,7 @@ export class FeaturevisorInstance {
|
|
|
3732
3732
|
}
|
|
3733
3733
|
|
|
3734
3734
|
// fall back to default
|
|
3735
|
-
|
|
3735
|
+
evaluation = {
|
|
3736
3736
|
featureKey: feature.key,
|
|
3737
3737
|
reason: EvaluationReason.DEFAULTED,
|
|
3738
3738
|
variableKey,
|
|
@@ -3741,9 +3741,9 @@ export class FeaturevisorInstance {
|
|
|
3741
3741
|
bucketValue,
|
|
3742
3742
|
};
|
|
3743
3743
|
|
|
3744
|
-
|
|
3744
|
+
this.logger.debug("using default value", evaluation);
|
|
3745
3745
|
|
|
3746
|
-
|
|
3746
|
+
return evaluation;
|
|
3747
3747
|
} catch (e) {
|
|
3748
3748
|
<span class="cstat-no" title="statement not covered" > evaluation = {</span>
|
|
3749
3749
|
featureKey: typeof featureKey === "string" ? featureKey : featureKey.key,
|
|
@@ -3756,24 +3756,24 @@ export class FeaturevisorInstance {
|
|
|
3756
3756
|
}
|
|
3757
3757
|
}
|
|
3758
3758
|
|
|
3759
|
-
|
|
3759
|
+
getVariable(
|
|
3760
3760
|
featureKey: FeatureKey | Feature,
|
|
3761
3761
|
variableKey: string,
|
|
3762
3762
|
context: Context = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
|
|
3763
3763
|
): VariableValue | undefined {
|
|
3764
|
-
|
|
3765
|
-
const evaluation =
|
|
3764
|
+
try {
|
|
3765
|
+
const evaluation = this.evaluateVariable(featureKey, variableKey, context);
|
|
3766
3766
|
|
|
3767
|
-
|
|
3768
|
-
|
|
3767
|
+
if (typeof evaluation.variableValue !== "undefined") {
|
|
3768
|
+
if (
|
|
3769
3769
|
evaluation.variableSchema &&
|
|
3770
3770
|
evaluation.variableSchema.type === "json" &&
|
|
3771
3771
|
typeof evaluation.variableValue === "string"
|
|
3772
3772
|
) {
|
|
3773
|
-
|
|
3773
|
+
return JSON.parse(evaluation.variableValue);
|
|
3774
3774
|
}
|
|
3775
3775
|
|
|
3776
|
-
|
|
3776
|
+
return evaluation.variableValue;
|
|
3777
3777
|
}
|
|
3778
3778
|
|
|
3779
3779
|
<span class="cstat-no" title="statement not covered" > return undefined;</span>
|
|
@@ -3784,34 +3784,34 @@ export class FeaturevisorInstance {
|
|
|
3784
3784
|
}
|
|
3785
3785
|
}
|
|
3786
3786
|
|
|
3787
|
-
|
|
3787
|
+
getVariableBoolean(
|
|
3788
3788
|
featureKey: FeatureKey | Feature,
|
|
3789
3789
|
variableKey: string,
|
|
3790
3790
|
context: Context = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
|
|
3791
3791
|
): boolean | undefined {
|
|
3792
|
-
const variableValue =
|
|
3792
|
+
const variableValue = this.getVariable(featureKey, variableKey, context);
|
|
3793
3793
|
|
|
3794
|
-
|
|
3794
|
+
return getValueByType(variableValue, "boolean") as boolean | undefined;
|
|
3795
3795
|
}
|
|
3796
3796
|
|
|
3797
|
-
|
|
3797
|
+
getVariableString(
|
|
3798
3798
|
featureKey: FeatureKey | Feature,
|
|
3799
3799
|
variableKey: string,
|
|
3800
3800
|
context: Context = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
|
|
3801
3801
|
): string | undefined {
|
|
3802
|
-
const variableValue =
|
|
3802
|
+
const variableValue = this.getVariable(featureKey, variableKey, context);
|
|
3803
3803
|
|
|
3804
|
-
|
|
3804
|
+
return getValueByType(variableValue, "string") as string | undefined;
|
|
3805
3805
|
}
|
|
3806
3806
|
|
|
3807
|
-
|
|
3807
|
+
getVariableInteger(
|
|
3808
3808
|
featureKey: FeatureKey | Feature,
|
|
3809
3809
|
variableKey: string,
|
|
3810
3810
|
context: Context = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
|
|
3811
3811
|
): number | undefined {
|
|
3812
|
-
const variableValue =
|
|
3812
|
+
const variableValue = this.getVariable(featureKey, variableKey, context);
|
|
3813
3813
|
|
|
3814
|
-
|
|
3814
|
+
return getValueByType(variableValue, "integer") as number | undefined;
|
|
3815
3815
|
}
|
|
3816
3816
|
|
|
3817
3817
|
<span class="fstat-no" title="function not covered" > getVariableDouble(</span>
|
|
@@ -3824,34 +3824,34 @@ export class FeaturevisorInstance {
|
|
|
3824
3824
|
<span class="cstat-no" title="statement not covered" > return getValueByType(variableValue, "double") as number | undefined;</span>
|
|
3825
3825
|
}
|
|
3826
3826
|
|
|
3827
|
-
|
|
3827
|
+
getVariableArray(
|
|
3828
3828
|
featureKey: FeatureKey | Feature,
|
|
3829
3829
|
variableKey: string,
|
|
3830
3830
|
context: Context = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
|
|
3831
3831
|
): string[] | undefined {
|
|
3832
|
-
const variableValue =
|
|
3832
|
+
const variableValue = this.getVariable(featureKey, variableKey, context);
|
|
3833
3833
|
|
|
3834
|
-
|
|
3834
|
+
return getValueByType(variableValue, "array") as string[] | undefined;
|
|
3835
3835
|
}
|
|
3836
3836
|
|
|
3837
|
-
|
|
3837
|
+
getVariableObject<T>(
|
|
3838
3838
|
featureKey: FeatureKey | Feature,
|
|
3839
3839
|
variableKey: string,
|
|
3840
3840
|
context: Context = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
|
|
3841
3841
|
): T | undefined {
|
|
3842
|
-
const variableValue =
|
|
3842
|
+
const variableValue = this.getVariable(featureKey, variableKey, context);
|
|
3843
3843
|
|
|
3844
|
-
|
|
3844
|
+
return getValueByType(variableValue, "object") as T | undefined;
|
|
3845
3845
|
}
|
|
3846
3846
|
|
|
3847
|
-
|
|
3847
|
+
getVariableJSON<T>(
|
|
3848
3848
|
featureKey: FeatureKey | Feature,
|
|
3849
3849
|
variableKey: string,
|
|
3850
3850
|
context: Context = <span class="branch-0 cbranch-no" title="branch not covered" >{},</span>
|
|
3851
3851
|
): T | undefined {
|
|
3852
|
-
const variableValue =
|
|
3852
|
+
const variableValue = this.getVariable(featureKey, variableKey, context);
|
|
3853
3853
|
|
|
3854
|
-
|
|
3854
|
+
return getValueByType(variableValue, "json") as T | undefined;
|
|
3855
3855
|
}
|
|
3856
3856
|
}
|
|
3857
3857
|
|
|
@@ -3865,7 +3865,7 @@ export function createInstance(options: InstanceOptions): FeaturevisorInstance {
|
|
|
3865
3865
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
3866
3866
|
Code coverage generated by
|
|
3867
3867
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
3868
|
-
at 2023-08-
|
|
3868
|
+
at 2023-08-31T21:39:57.137Z
|
|
3869
3869
|
</div>
|
|
3870
3870
|
<script src="prettify.js"></script>
|
|
3871
3871
|
<script>
|