@featurevisor/react 0.43.0 → 0.44.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 CHANGED
@@ -3,6 +3,25 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.44.2](https://github.com/fahad19/featurevisor/compare/v0.44.1...v0.44.2) (2023-08-12)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * useStatus React hook ([#124](https://github.com/fahad19/featurevisor/issues/124)) ([d042979](https://github.com/fahad19/featurevisor/commit/d042979d4f01d11eff88cfb545fe68fc8d0c8e98))
12
+
13
+
14
+
15
+
16
+
17
+ # [0.44.0](https://github.com/fahad19/featurevisor/compare/v0.43.0...v0.44.0) (2023-08-07)
18
+
19
+ **Note:** Version bump only for package @featurevisor/react
20
+
21
+
22
+
23
+
24
+
6
25
  # [0.43.0](https://github.com/fahad19/featurevisor/compare/v0.42.1...v0.43.0) (2023-08-05)
7
26
 
8
27
  **Note:** Version bump only for package @featurevisor/react
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1691270147018" clover="3.2.0">
3
- <project timestamp="1691270147018" name="All files">
4
- <metrics statements="44" coveredstatements="38" conditionals="5" coveredconditionals="1" methods="10" coveredmethods="7" elements="59" coveredelements="46" complexity="0" loc="44" ncloc="44" packages="1" files="8" classes="8"/>
2
+ <coverage generated="1691842315394" clover="3.2.0">
3
+ <project timestamp="1691842315394" name="All files">
4
+ <metrics statements="42" coveredstatements="41" conditionals="4" coveredconditionals="0" methods="10" coveredmethods="9" elements="56" coveredelements="50" complexity="0" loc="42" ncloc="42" packages="1" files="8" classes="8"/>
5
5
  <file name="FeaturevisorContext.ts" path="/home/runner/work/featurevisor/featurevisor/packages/react/src/FeaturevisorContext.ts">
6
6
  <metrics statements="2" coveredstatements="2" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
7
7
  <line num="1" count="6" type="stmt"/>
@@ -38,21 +38,19 @@
38
38
  <line num="9" count="7" type="stmt"/>
39
39
  </file>
40
40
  <file name="useStatus.ts" path="/home/runner/work/featurevisor/featurevisor/packages/react/src/useStatus.ts">
41
- <metrics statements="14" coveredstatements="8" conditionals="1" coveredconditionals="1" methods="4" coveredmethods="1"/>
41
+ <metrics statements="12" coveredstatements="11" conditionals="0" coveredconditionals="0" methods="4" coveredmethods="3"/>
42
42
  <line num="1" count="1" type="stmt"/>
43
43
  <line num="3" count="1" type="stmt"/>
44
44
  <line num="9" count="1" type="stmt"/>
45
45
  <line num="10" count="1" type="stmt"/>
46
46
  <line num="11" count="1" type="stmt"/>
47
47
  <line num="13" count="1" type="stmt"/>
48
- <line num="15" count="1" type="cond" truecount="1" falsecount="0"/>
49
- <line num="16" count="1" type="stmt"/>
50
- <line num="19" count="0" type="stmt"/>
51
- <line num="21" count="0" type="stmt"/>
52
- <line num="24" count="0" type="stmt"/>
53
- <line num="26" count="0" type="stmt"/>
54
- <line num="27" count="0" type="stmt"/>
55
- <line num="31" count="0" type="stmt"/>
48
+ <line num="15" count="1" type="stmt"/>
49
+ <line num="17" count="0" type="stmt"/>
50
+ <line num="20" count="1" type="stmt"/>
51
+ <line num="22" count="1" type="stmt"/>
52
+ <line num="23" count="1" type="stmt"/>
53
+ <line num="27" count="1" type="stmt"/>
56
54
  </file>
57
55
  <file name="useVariable.ts" path="/home/runner/work/featurevisor/featurevisor/packages/react/src/useVariable.ts">
58
56
  <metrics statements="5" coveredstatements="5" conditionals="1" coveredconditionals="0" methods="1" coveredmethods="1"/>
@@ -3,7 +3,7 @@
3
3
  ,"/home/runner/work/featurevisor/featurevisor/packages/react/src/activateFeature.ts": {"path":"/home/runner/work/featurevisor/featurevisor/packages/react/src/activateFeature.ts","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":34}},"1":{"start":{"line":7,"column":2},"end":{"line":7,"column":null}},"2":{"start":{"line":9,"column":14},"end":{"line":9,"column":22}},"3":{"start":{"line":11,"column":2},"end":{"line":11,"column":43}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":16}}},"fnMap":{"0":{"name":"activateFeature","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":31}},"loc":{"start":{"line":7,"column":23},"end":{"line":12,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":7,"column":null}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":7,"column":null}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1},"f":{"0":1},"b":{"0":[0]}}
4
4
  ,"/home/runner/work/featurevisor/featurevisor/packages/react/src/useFlag.ts": {"path":"/home/runner/work/featurevisor/featurevisor/packages/react/src/useFlag.ts","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":34}},"1":{"start":{"line":5,"column":48},"end":{"line":5,"column":null}},"2":{"start":{"line":6,"column":14},"end":{"line":6,"column":22}},"3":{"start":{"line":8,"column":2},"end":{"line":8,"column":44}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":16}}},"fnMap":{"0":{"name":"useFlag","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":23}},"loc":{"start":{"line":5,"column":69},"end":{"line":9,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":48},"end":{"line":5,"column":null}},"type":"if","locations":[{"start":{"line":5,"column":48},"end":{"line":5,"column":null}}]}},"s":{"0":1,"1":2,"2":2,"3":2,"4":1},"f":{"0":2},"b":{"0":[0]}}
5
5
  ,"/home/runner/work/featurevisor/featurevisor/packages/react/src/useSdk.ts": {"path":"/home/runner/work/featurevisor/featurevisor/packages/react/src/useSdk.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":31}},"1":{"start":{"line":4,"column":0},"end":{"line":4,"column":60}},"2":{"start":{"line":7,"column":14},"end":{"line":7,"column":51}},"3":{"start":{"line":9,"column":2},"end":{"line":9,"column":37}},"4":{"start":{"line":6,"column":0},"end":{"line":6,"column":16}}},"fnMap":{"0":{"name":"useSdk","decl":{"start":{"line":6,"column":16},"end":{"line":6,"column":22}},"loc":{"start":{"line":6,"column":22},"end":{"line":10,"column":1}}}},"branchMap":{},"s":{"0":6,"1":6,"2":7,"3":7,"4":6},"f":{"0":7},"b":{}}
6
- ,"/home/runner/work/featurevisor/featurevisor/packages/react/src/useStatus.ts": {"path":"/home/runner/work/featurevisor/featurevisor/packages/react/src/useStatus.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":31}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":34}},"2":{"start":{"line":10,"column":14},"end":{"line":10,"column":22}},"3":{"start":{"line":11,"column":24},"end":{"line":11,"column":37}},"4":{"start":{"line":13,"column":32},"end":{"line":13,"column":61}},"5":{"start":{"line":13,"column":16},"end":{"line":13,"column":18}},"6":{"start":{"line":13,"column":28},"end":{"line":13,"column":32}},"7":{"start":{"line":15,"column":2},"end":{"line":17,"column":null}},"8":{"start":{"line":16,"column":4},"end":{"line":16,"column":23}},"9":{"start":{"line":19,"column":2},"end":{"line":29,"column":9}},"10":{"start":{"line":21,"column":6},"end":{"line":21,"column":23}},"11":{"start":{"line":24,"column":4},"end":{"line":24,"column":33}},"12":{"start":{"line":26,"column":4},"end":{"line":28,"column":6}},"13":{"start":{"line":27,"column":6},"end":{"line":27,"column":36}},"14":{"start":{"line":31,"column":2},"end":{"line":31,"column":21}},"15":{"start":{"line":9,"column":0},"end":{"line":9,"column":16}}},"fnMap":{"0":{"name":"useStatus","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":25}},"loc":{"start":{"line":9,"column":25},"end":{"line":32,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":19,"column":18},"end":{"line":19,"column":null}},"loc":{"start":{"line":19,"column":18},"end":{"line":29,"column":3}}},"2":{"name":"handleReady","decl":{"start":{"line":20,"column":13},"end":{"line":20,"column":24}},"loc":{"start":{"line":20,"column":24},"end":{"line":22,"column":5}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":26,"column":11},"end":{"line":26,"column":null}},"loc":{"start":{"line":26,"column":11},"end":{"line":28,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":2},"end":{"line":17,"column":null}},"type":"if","locations":[{"start":{"line":15,"column":2},"end":{"line":17,"column":null}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":1},"f":{"0":1,"1":0,"2":0,"3":0},"b":{"0":[1]}}
6
+ ,"/home/runner/work/featurevisor/featurevisor/packages/react/src/useStatus.ts": {"path":"/home/runner/work/featurevisor/featurevisor/packages/react/src/useStatus.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":31}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":34}},"2":{"start":{"line":10,"column":14},"end":{"line":10,"column":22}},"3":{"start":{"line":11,"column":24},"end":{"line":11,"column":37}},"4":{"start":{"line":13,"column":32},"end":{"line":13,"column":61}},"5":{"start":{"line":13,"column":16},"end":{"line":13,"column":18}},"6":{"start":{"line":13,"column":28},"end":{"line":13,"column":32}},"7":{"start":{"line":15,"column":2},"end":{"line":25,"column":9}},"8":{"start":{"line":17,"column":6},"end":{"line":17,"column":23}},"9":{"start":{"line":20,"column":4},"end":{"line":20,"column":33}},"10":{"start":{"line":22,"column":4},"end":{"line":24,"column":6}},"11":{"start":{"line":23,"column":6},"end":{"line":23,"column":36}},"12":{"start":{"line":27,"column":2},"end":{"line":27,"column":21}},"13":{"start":{"line":9,"column":0},"end":{"line":9,"column":16}}},"fnMap":{"0":{"name":"useStatus","decl":{"start":{"line":9,"column":16},"end":{"line":9,"column":25}},"loc":{"start":{"line":9,"column":25},"end":{"line":28,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":18},"end":{"line":15,"column":null}},"loc":{"start":{"line":15,"column":18},"end":{"line":25,"column":3}}},"2":{"name":"handleReady","decl":{"start":{"line":16,"column":13},"end":{"line":16,"column":24}},"loc":{"start":{"line":16,"column":24},"end":{"line":18,"column":5}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":22,"column":11},"end":{"line":22,"column":null}},"loc":{"start":{"line":22,"column":11},"end":{"line":24,"column":5}}}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":0,"9":1,"10":1,"11":1,"12":1,"13":1},"f":{"0":1,"1":1,"2":0,"3":1},"b":{}}
7
7
  ,"/home/runner/work/featurevisor/featurevisor/packages/react/src/useVariable.ts": {"path":"/home/runner/work/featurevisor/featurevisor/packages/react/src/useVariable.ts","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":34}},"1":{"start":{"line":8,"column":2},"end":{"line":8,"column":null}},"2":{"start":{"line":10,"column":14},"end":{"line":10,"column":22}},"3":{"start":{"line":12,"column":2},"end":{"line":12,"column":59}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":16}}},"fnMap":{"0":{"name":"useVariable","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":27}},"loc":{"start":{"line":8,"column":23},"end":{"line":13,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":2},"end":{"line":8,"column":null}},"type":"if","locations":[{"start":{"line":8,"column":2},"end":{"line":8,"column":null}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1},"f":{"0":1},"b":{"0":[0]}}
8
8
  ,"/home/runner/work/featurevisor/featurevisor/packages/react/src/useVariation.ts": {"path":"/home/runner/work/featurevisor/featurevisor/packages/react/src/useVariation.ts","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":34}},"1":{"start":{"line":7,"column":2},"end":{"line":7,"column":null}},"2":{"start":{"line":9,"column":14},"end":{"line":9,"column":22}},"3":{"start":{"line":11,"column":2},"end":{"line":11,"column":47}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":16}}},"fnMap":{"0":{"name":"useVariation","decl":{"start":{"line":5,"column":16},"end":{"line":5,"column":28}},"loc":{"start":{"line":7,"column":23},"end":{"line":12,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":2},"end":{"line":7,"column":null}},"type":"if","locations":[{"start":{"line":7,"column":2},"end":{"line":7,"column":null}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1},"f":{"0":1},"b":{"0":[0]}}
9
9
  }
@@ -82,7 +82,7 @@ export const FeaturevisorContext = React.createContext&lt;FeaturevisorInstance |
82
82
  <div class='footer quiet pad2 space-top1 center small'>
83
83
  Code coverage generated by
84
84
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
85
- at 2023-08-05T21:15:46.999Z
85
+ at 2023-08-12T12:11:55.384Z
86
86
  </div>
87
87
  <script src="prettify.js"></script>
88
88
  <script>
@@ -115,7 +115,7 @@ export function FeaturevisorProvider(props: FeaturevisorProviderProps) {
115
115
  <div class='footer quiet pad2 space-top1 center small'>
116
116
  Code coverage generated by
117
117
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
118
- at 2023-08-05T21:15:46.999Z
118
+ at 2023-08-12T12:11:55.384Z
119
119
  </div>
120
120
  <script src="prettify.js"></script>
121
121
  <script>
@@ -106,7 +106,7 @@ export function activateFeature(
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2023-08-05T21:15:46.999Z
109
+ at 2023-08-12T12:11:55.384Z
110
110
  </div>
111
111
  <script src="prettify.js"></script>
112
112
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">87.23% </span>
26
+ <span class="strong">97.77% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>41/47</span>
28
+ <span class='fraction'>44/45</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">20% </span>
33
+ <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>1/5</span>
35
+ <span class='fraction'>0/4</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">70% </span>
40
+ <span class="strong">90% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>7/10</span>
42
+ <span class='fraction'>9/10</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">86.36% </span>
47
+ <span class="strong">97.61% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>38/44</span>
49
+ <span class='fraction'>41/42</span>
50
50
  </div>
51
51
 
52
52
 
@@ -154,18 +154,18 @@
154
154
  </tr>
155
155
 
156
156
  <tr>
157
- <td class="file medium" data-value="useStatus.ts"><a href="useStatus.ts.html">useStatus.ts</a></td>
158
- <td data-value="62.5" class="pic medium">
159
- <div class="chart"><div class="cover-fill" style="width: 62%"></div><div class="cover-empty" style="width: 38%"></div></div>
157
+ <td class="file high" data-value="useStatus.ts"><a href="useStatus.ts.html">useStatus.ts</a></td>
158
+ <td data-value="92.85" class="pic high">
159
+ <div class="chart"><div class="cover-fill" style="width: 92%"></div><div class="cover-empty" style="width: 8%"></div></div>
160
160
  </td>
161
- <td data-value="62.5" class="pct medium">62.5%</td>
162
- <td data-value="16" class="abs medium">10/16</td>
161
+ <td data-value="92.85" class="pct high">92.85%</td>
162
+ <td data-value="14" class="abs high">13/14</td>
163
163
  <td data-value="100" class="pct high">100%</td>
164
- <td data-value="1" class="abs high">1/1</td>
165
- <td data-value="25" class="pct low">25%</td>
166
- <td data-value="4" class="abs low">1/4</td>
167
- <td data-value="57.14" class="pct medium">57.14%</td>
168
- <td data-value="14" class="abs medium">8/14</td>
164
+ <td data-value="0" class="abs high">0/0</td>
165
+ <td data-value="75" class="pct medium">75%</td>
166
+ <td data-value="4" class="abs medium">3/4</td>
167
+ <td data-value="91.66" class="pct high">91.66%</td>
168
+ <td data-value="12" class="abs high">11/12</td>
169
169
  </tr>
170
170
 
171
171
  <tr>
@@ -206,7 +206,7 @@
206
206
  <div class='footer quiet pad2 space-top1 center small'>
207
207
  Code coverage generated by
208
208
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
209
- at 2023-08-05T21:15:46.999Z
209
+ at 2023-08-12T12:11:55.384Z
210
210
  </div>
211
211
  <script src="prettify.js"></script>
212
212
  <script>
@@ -97,7 +97,7 @@ export function useFlag(featureKey: FeatureKey, <span class="missing-if-branch"
97
97
  <div class='footer quiet pad2 space-top1 center small'>
98
98
  Code coverage generated by
99
99
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
100
- at 2023-08-05T21:15:46.999Z
100
+ at 2023-08-12T12:11:55.384Z
101
101
  </div>
102
102
  <script src="prettify.js"></script>
103
103
  <script>
@@ -100,7 +100,7 @@ export function useSdk(): FeaturevisorInstance {
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
103
- at 2023-08-05T21:15:46.999Z
103
+ at 2023-08-12T12:11:55.384Z
104
104
  </div>
105
105
  <script src="prettify.js"></script>
106
106
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">62.5% </span>
26
+ <span class="strong">92.85% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>10/16</span>
28
+ <span class='fraction'>13/14</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'>1/1</span>
35
+ <span class='fraction'>0/0</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">25% </span>
40
+ <span class="strong">75% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>1/4</span>
42
+ <span class='fraction'>3/4</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">57.14% </span>
47
+ <span class="strong">91.66% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>8/14</span>
49
+ <span class='fraction'>11/12</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line medium'></div>
64
+ <div class='status-line high'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -91,11 +91,7 @@
91
91
  <a name='L26'></a><a href='#L26'>26</a>
92
92
  <a name='L27'></a><a href='#L27'>27</a>
93
93
  <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
94
+ <a name='L29'></a><a href='#L29'>29</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
99
95
  <span class="cline-any cline-neutral">&nbsp;</span>
100
96
  <span class="cline-any cline-yes">1x</span>
101
97
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -110,22 +106,18 @@
110
106
  <span class="cline-any cline-yes">1x</span>
111
107
  <span class="cline-any cline-neutral">&nbsp;</span>
112
108
  <span class="cline-any cline-yes">1x</span>
113
- <span class="cline-any cline-yes">1x</span>
114
- <span class="cline-any cline-neutral">&nbsp;</span>
115
- <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-no">&nbsp;</span>
117
109
  <span class="cline-any cline-neutral">&nbsp;</span>
118
110
  <span class="cline-any cline-no">&nbsp;</span>
119
111
  <span class="cline-any cline-neutral">&nbsp;</span>
120
112
  <span class="cline-any cline-neutral">&nbsp;</span>
121
- <span class="cline-any cline-no">&nbsp;</span>
113
+ <span class="cline-any cline-yes">1x</span>
122
114
  <span class="cline-any cline-neutral">&nbsp;</span>
123
- <span class="cline-any cline-no">&nbsp;</span>
124
- <span class="cline-any cline-no">&nbsp;</span>
115
+ <span class="cline-any cline-yes">1x</span>
116
+ <span class="cline-any cline-yes">1x</span>
125
117
  <span class="cline-any cline-neutral">&nbsp;</span>
126
118
  <span class="cline-any cline-neutral">&nbsp;</span>
127
119
  <span class="cline-any cline-neutral">&nbsp;</span>
128
- <span class="cline-any cline-no">&nbsp;</span>
120
+ <span class="cline-any cline-yes">1x</span>
129
121
  <span class="cline-any cline-neutral">&nbsp;</span>
130
122
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import * as React from "react";
131
123
  &nbsp;
@@ -141,23 +133,19 @@ export function useStatus(): Status {
141
133
  &nbsp;
142
134
  const [isReady, setIsReady] = React.useState(initialStatus);
143
135
  &nbsp;
144
- if (isReady) {
145
- return { isReady };
146
- }
147
- &nbsp;
148
- <span class="cstat-no" title="statement not covered" > React.useEffect(<span class="fstat-no" title="function not covered" >function () {</span></span>
136
+ React.useEffect(function () {
149
137
  function <span class="fstat-no" title="function not covered" >handleReady(</span>) {
150
138
  <span class="cstat-no" title="statement not covered" > setIsReady(true);</span>
151
139
  }
152
140
  &nbsp;
153
- <span class="cstat-no" title="statement not covered" > sdk.on("ready", handleReady);</span>
141
+ sdk.on("ready", handleReady);
154
142
  &nbsp;
155
- <span class="cstat-no" title="statement not covered" > return <span class="fstat-no" title="function not covered" >function () {</span></span>
156
- <span class="cstat-no" title="statement not covered" > sdk.off("ready", handleReady);</span>
143
+ return function () {
144
+ sdk.off("ready", handleReady);
157
145
  };
158
146
  }, []);
159
147
  &nbsp;
160
- <span class="cstat-no" title="statement not covered" > return { isReady };</span>
148
+ return { isReady };
161
149
  }
162
150
  &nbsp;</pre></td></tr></table></pre>
163
151
 
@@ -166,7 +154,7 @@ export function useStatus(): Status {
166
154
  <div class='footer quiet pad2 space-top1 center small'>
167
155
  Code coverage generated by
168
156
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
169
- at 2023-08-05T21:15:46.999Z
157
+ at 2023-08-12T12:11:55.384Z
170
158
  </div>
171
159
  <script src="prettify.js"></script>
172
160
  <script>
@@ -109,7 +109,7 @@ export function useVariable(
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at 2023-08-05T21:15:46.999Z
112
+ at 2023-08-12T12:11:55.384Z
113
113
  </div>
114
114
  <script src="prettify.js"></script>
115
115
  <script>
@@ -106,7 +106,7 @@ export function useVariation(
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2023-08-05T21:15:46.999Z
109
+ at 2023-08-12T12:11:55.384Z
110
110
  </div>
111
111
  <script src="prettify.js"></script>
112
112
  <script>
@@ -76,15 +76,15 @@ end_of_record
76
76
  TN:
77
77
  SF:src/useStatus.ts
78
78
  FN:9,useStatus
79
- FN:19,(anonymous_1)
80
- FN:20,handleReady
81
- FN:26,(anonymous_3)
79
+ FN:15,(anonymous_1)
80
+ FN:16,handleReady
81
+ FN:22,(anonymous_3)
82
82
  FNF:4
83
- FNH:1
83
+ FNH:3
84
84
  FNDA:1,useStatus
85
- FNDA:0,(anonymous_1)
85
+ FNDA:1,(anonymous_1)
86
86
  FNDA:0,handleReady
87
- FNDA:0,(anonymous_3)
87
+ FNDA:1,(anonymous_3)
88
88
  DA:1,1
89
89
  DA:3,1
90
90
  DA:9,1
@@ -92,18 +92,15 @@ DA:10,1
92
92
  DA:11,1
93
93
  DA:13,1
94
94
  DA:15,1
95
- DA:16,1
96
- DA:19,0
97
- DA:21,0
98
- DA:24,0
99
- DA:26,0
100
- DA:27,0
101
- DA:31,0
102
- LF:14
103
- LH:8
104
- BRDA:15,0,0,1
105
- BRF:1
106
- BRH:1
95
+ DA:17,0
96
+ DA:20,1
97
+ DA:22,1
98
+ DA:23,1
99
+ DA:27,1
100
+ LF:12
101
+ LH:11
102
+ BRF:0
103
+ BRH:0
107
104
  end_of_record
108
105
  TN:
109
106
  SF:src/useVariable.ts
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.FeaturevisorReact=t(require("react")):e.FeaturevisorReact=t(e.React)}(this,(e=>(()=>{"use strict";var t={67:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FeaturevisorContext=void 0;var o=r(359);t.FeaturevisorContext=o.createContext(void 0)},673:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FeaturevisorProvider=void 0;var o=r(359),i=r(67);t.FeaturevisorProvider=function(e){return o.createElement(i.FeaturevisorContext.Provider,{value:e.sdk},e.children)}},289:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.activateFeature=void 0;var o=r(901);t.activateFeature=function(e,t){return void 0===t&&(t={}),(0,o.useSdk)().activate(e,t)}},97:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,i)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(67),t),i(r(673),t),i(r(289),t),i(r(901),t),i(r(9),t),i(r(26),t),i(r(613),t),i(r(129),t)},129:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useFlag=void 0;var o=r(901);t.useFlag=function(e,t){return void 0===t&&(t={}),(0,o.useSdk)().isEnabled(e,t)}},901:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useSdk=void 0;var o=r(359),i=r(67);t.useSdk=function(){return o.useContext(i.FeaturevisorContext)}},9:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useStatus=void 0;var o=r(359),i=r(901);t.useStatus=function(){var e=(0,i.useSdk)(),t=e.isReady(),r=o.useState(t),u=r[0],a=r[1];return u||o.useEffect((function(){function t(){a(!0)}return e.on("ready",t),function(){e.off("ready",t)}}),[]),{isReady:u}}},26:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useVariable=void 0;var o=r(901);t.useVariable=function(e,t,r){return void 0===r&&(r={}),(0,o.useSdk)().getVariable(e,t,r)}},613:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useVariation=void 0;var o=r(901);t.useVariation=function(e,t){return void 0===t&&(t={}),(0,o.useSdk)().getVariation(e,t)}},359:t=>{t.exports=e}},r={};return function e(o){var i=r[o];if(void 0!==i)return i.exports;var u=r[o]={exports:{}};return t[o].call(u.exports,u,u.exports,e),u.exports}(97)})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.FeaturevisorReact=t(require("react")):e.FeaturevisorReact=t(e.React)}(this,(e=>(()=>{"use strict";var t={67:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FeaturevisorContext=void 0;var o=r(359);t.FeaturevisorContext=o.createContext(void 0)},673:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FeaturevisorProvider=void 0;var o=r(359),i=r(67);t.FeaturevisorProvider=function(e){return o.createElement(i.FeaturevisorContext.Provider,{value:e.sdk},e.children)}},289:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.activateFeature=void 0;var o=r(901);t.activateFeature=function(e,t){return void 0===t&&(t={}),(0,o.useSdk)().activate(e,t)}},97:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,i)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(67),t),i(r(673),t),i(r(289),t),i(r(901),t),i(r(9),t),i(r(26),t),i(r(613),t),i(r(129),t)},129:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useFlag=void 0;var o=r(901);t.useFlag=function(e,t){return void 0===t&&(t={}),(0,o.useSdk)().isEnabled(e,t)}},901:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useSdk=void 0;var o=r(359),i=r(67);t.useSdk=function(){return o.useContext(i.FeaturevisorContext)}},9:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useStatus=void 0;var o=r(359),i=r(901);t.useStatus=function(){var e=(0,i.useSdk)(),t=e.isReady(),r=o.useState(t),u=r[0],a=r[1];return o.useEffect((function(){function t(){a(!0)}return e.on("ready",t),function(){e.off("ready",t)}}),[]),{isReady:u}}},26:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useVariable=void 0;var o=r(901);t.useVariable=function(e,t,r){return void 0===r&&(r={}),(0,o.useSdk)().getVariable(e,t,r)}},613:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useVariation=void 0;var o=r(901);t.useVariation=function(e,t){return void 0===t&&(t={}),(0,o.useSdk)().getVariation(e,t)}},359:t=>{t.exports=e}},r={};return function e(o){var i=r[o];if(void 0!==i)return i.exports;var u=r[o]={exports:{}};return t[o].call(u.exports,u,u.exports,e),u.exports}(97)})()));
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.gz CHANGED
Binary file
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,EAAQG,QAAQ,UACR,mBAAXC,QAAyBA,OAAOC,IAC9CD,OAAO,CAAC,SAAUJ,GACQ,iBAAZC,QACdA,QAA2B,kBAAID,EAAQG,QAAQ,UAE/CJ,EAAwB,kBAAIC,EAAQD,EAAY,MACjD,CATD,CASGO,MAAOC,G,qHCTV,aAGa,EAAAC,oBAAsBC,EAAMC,mBAAgDC,E,+FCHzF,aAGA,QAOA,gCAAqCC,GACnC,OACE,gBAAC,EAAAJ,oBAAoBK,SAAQ,CAACC,MAAOF,EAAMG,KAAMH,EAAMI,SAE3D,C,0FCZA,aAEA,2BACEC,EACAC,GAIA,YAJA,IAAAA,IAAAA,EAAA,KAEY,IAAAC,UAEDC,SAASH,EAAYC,EAClC,C,0fCVA,WAGA,YAGA,YACA,YACA,UACA,WACA,YACA,W,kFCVA,aAEA,mBAAwBD,EAAwBC,GAG9C,YAH8C,IAAAA,IAAAA,EAAA,KAClC,IAAAC,UAEDE,UAAUJ,EAAYC,EACnC,C,iFCRA,aAGA,QAEA,oBAGE,OAFYT,EAAMa,WAAW,EAAAd,oBAG/B,C,kFCTA,aAEA,SAMA,uBACE,IAAMO,GAAM,IAAAI,UACNI,EAAgBR,EAAIS,UAEpB,EAAwBf,EAAMgB,SAASF,GAAtCC,EAAO,KAAEE,EAAU,KAE1B,OAAIF,GAIJf,EAAMkB,WAAU,WACd,SAASC,IACPF,GAAW,EACb,CAIA,OAFAX,EAAIc,GAAG,QAASD,GAET,WACLb,EAAIe,IAAI,QAASF,EACnB,CACF,GAAG,IAbM,CAAEJ,QAAO,EAgBpB,C,qFC7BA,aAEA,uBACEP,EACAc,EACAb,GAIA,YAJA,IAAAA,IAAAA,EAAA,KAEY,IAAAC,UAEDa,YAAYf,EAAYc,EAAab,EAClD,C,uFCVA,aAEA,wBACED,EACAC,GAIA,YAJA,IAAAA,IAAAA,EAAA,KAEY,IAAAC,UAEDc,aAAahB,EAAYC,EACtC,C,UCXAhB,EAAOD,QAAUM,C,GCCb2B,EAA2B,CAAC,E,OAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBzB,IAAjB0B,EACH,OAAOA,EAAapC,QAGrB,IAAIC,EAASgC,EAAyBE,GAAY,CAGjDnC,QAAS,CAAC,GAOX,OAHAqC,EAAoBF,GAAUG,KAAKrC,EAAOD,QAASC,EAAQA,EAAOD,QAASkC,GAGpEjC,EAAOD,OACf,CCnB0BkC,CAAoB,G","sources":["webpack://FeaturevisorReact/webpack/universalModuleDefinition","webpack://FeaturevisorReact/./src/FeaturevisorContext.ts","webpack://FeaturevisorReact/./src/FeaturevisorProvider.tsx","webpack://FeaturevisorReact/./src/activateFeature.ts","webpack://FeaturevisorReact/./src/index.ts","webpack://FeaturevisorReact/./src/useFlag.ts","webpack://FeaturevisorReact/./src/useSdk.ts","webpack://FeaturevisorReact/./src/useStatus.ts","webpack://FeaturevisorReact/./src/useVariable.ts","webpack://FeaturevisorReact/./src/useVariation.ts","webpack://FeaturevisorReact/external umd {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack://FeaturevisorReact/webpack/bootstrap","webpack://FeaturevisorReact/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"FeaturevisorReact\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"FeaturevisorReact\"] = factory(root[\"React\"]);\n})(this, (__WEBPACK_EXTERNAL_MODULE__359__) => {\nreturn ","import * as React from \"react\";\nimport { FeaturevisorInstance } from \"@featurevisor/sdk\";\n\nexport const FeaturevisorContext = React.createContext<FeaturevisorInstance | undefined>(undefined);\n","import * as React from \"react\";\nimport { FeaturevisorInstance } from \"@featurevisor/sdk\";\n\nimport { FeaturevisorContext } from \"./FeaturevisorContext\";\n\nexport interface FeaturevisorProviderProps {\n sdk: FeaturevisorInstance;\n children: React.ReactNode;\n}\n\nexport function FeaturevisorProvider(props: FeaturevisorProviderProps) {\n return (\n <FeaturevisorContext.Provider value={props.sdk}>{props.children}</FeaturevisorContext.Provider>\n );\n}\n","import { Context, FeatureKey, VariationValue } from \"@featurevisor/types\";\n\nimport { useSdk } from \"./useSdk\";\n\nexport function activateFeature(\n featureKey: FeatureKey,\n context: Context = {},\n): VariationValue | undefined {\n const sdk = useSdk();\n\n return sdk.activate(featureKey, context);\n}\n","// contexts\nexport * from \"./FeaturevisorContext\";\n\n// components\nexport * from \"./FeaturevisorProvider\";\n\n// hooks\nexport * from \"./activateFeature\";\nexport * from \"./useSdk\";\nexport * from \"./useStatus\";\nexport * from \"./useVariable\";\nexport * from \"./useVariation\";\nexport * from \"./useFlag\";\n","import { Context, FeatureKey } from \"@featurevisor/types\";\n\nimport { useSdk } from \"./useSdk\";\n\nexport function useFlag(featureKey: FeatureKey, context: Context = {}): boolean {\n const sdk = useSdk();\n\n return sdk.isEnabled(featureKey, context);\n}\n","import * as React from \"react\";\nimport { FeaturevisorInstance } from \"@featurevisor/sdk\";\n\nimport { FeaturevisorContext } from \"./FeaturevisorContext\";\n\nexport function useSdk(): FeaturevisorInstance {\n const sdk = React.useContext(FeaturevisorContext);\n\n return sdk as FeaturevisorInstance;\n}\n","import * as React from \"react\";\n\nimport { useSdk } from \"./useSdk\";\n\nexport interface Status {\n isReady: boolean;\n}\n\nexport function useStatus(): Status {\n const sdk = useSdk();\n const initialStatus = sdk.isReady();\n\n const [isReady, setIsReady] = React.useState(initialStatus);\n\n if (isReady) {\n return { isReady };\n }\n\n React.useEffect(function () {\n function handleReady() {\n setIsReady(true);\n }\n\n sdk.on(\"ready\", handleReady);\n\n return function () {\n sdk.off(\"ready\", handleReady);\n };\n }, []);\n\n return { isReady };\n}\n","import { Context, FeatureKey, VariableKey, VariableValue } from \"@featurevisor/types\";\n\nimport { useSdk } from \"./useSdk\";\n\nexport function useVariable(\n featureKey: FeatureKey,\n variableKey: VariableKey,\n context: Context = {},\n): VariableValue | undefined {\n const sdk = useSdk();\n\n return sdk.getVariable(featureKey, variableKey, context);\n}\n","import { Context, FeatureKey, VariationValue } from \"@featurevisor/types\";\n\nimport { useSdk } from \"./useSdk\";\n\nexport function useVariation(\n featureKey: FeatureKey,\n context: Context = {},\n): VariationValue | undefined {\n const sdk = useSdk();\n\n return sdk.getVariation(featureKey, context);\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__359__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(97);\n"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE__359__","FeaturevisorContext","React","createContext","undefined","props","Provider","value","sdk","children","featureKey","context","useSdk","activate","isEnabled","useContext","initialStatus","isReady","useState","setIsReady","useEffect","handleReady","on","off","variableKey","getVariable","getVariation","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","call"],"sourceRoot":""}
1
+ {"version":3,"file":"index.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,EAAQG,QAAQ,UACR,mBAAXC,QAAyBA,OAAOC,IAC9CD,OAAO,CAAC,SAAUJ,GACQ,iBAAZC,QACdA,QAA2B,kBAAID,EAAQG,QAAQ,UAE/CJ,EAAwB,kBAAIC,EAAQD,EAAY,MACjD,CATD,CASGO,MAAOC,G,qHCTV,aAGa,EAAAC,oBAAsBC,EAAMC,mBAAgDC,E,+FCHzF,aAGA,QAOA,gCAAqCC,GACnC,OACE,gBAAC,EAAAJ,oBAAoBK,SAAQ,CAACC,MAAOF,EAAMG,KAAMH,EAAMI,SAE3D,C,0FCZA,aAEA,2BACEC,EACAC,GAIA,YAJA,IAAAA,IAAAA,EAAA,KAEY,IAAAC,UAEDC,SAASH,EAAYC,EAClC,C,0fCVA,WAGA,YAGA,YACA,YACA,UACA,WACA,YACA,W,kFCVA,aAEA,mBAAwBD,EAAwBC,GAG9C,YAH8C,IAAAA,IAAAA,EAAA,KAClC,IAAAC,UAEDE,UAAUJ,EAAYC,EACnC,C,iFCRA,aAGA,QAEA,oBAGE,OAFYT,EAAMa,WAAW,EAAAd,oBAG/B,C,kFCTA,aAEA,SAMA,uBACE,IAAMO,GAAM,IAAAI,UACNI,EAAgBR,EAAIS,UAEpB,EAAwBf,EAAMgB,SAASF,GAAtCC,EAAO,KAAEE,EAAU,KAc1B,OAZAjB,EAAMkB,WAAU,WACd,SAASC,IACPF,GAAW,EACb,CAIA,OAFAX,EAAIc,GAAG,QAASD,GAET,WACLb,EAAIe,IAAI,QAASF,EACnB,CACF,GAAG,IAEI,CAAEJ,QAAO,EAClB,C,qFCzBA,aAEA,uBACEP,EACAc,EACAb,GAIA,YAJA,IAAAA,IAAAA,EAAA,KAEY,IAAAC,UAEDa,YAAYf,EAAYc,EAAab,EAClD,C,uFCVA,aAEA,wBACED,EACAC,GAIA,YAJA,IAAAA,IAAAA,EAAA,KAEY,IAAAC,UAEDc,aAAahB,EAAYC,EACtC,C,UCXAhB,EAAOD,QAAUM,C,GCCb2B,EAA2B,CAAC,E,OAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBzB,IAAjB0B,EACH,OAAOA,EAAapC,QAGrB,IAAIC,EAASgC,EAAyBE,GAAY,CAGjDnC,QAAS,CAAC,GAOX,OAHAqC,EAAoBF,GAAUG,KAAKrC,EAAOD,QAASC,EAAQA,EAAOD,QAASkC,GAGpEjC,EAAOD,OACf,CCnB0BkC,CAAoB,G","sources":["webpack://FeaturevisorReact/webpack/universalModuleDefinition","webpack://FeaturevisorReact/./src/FeaturevisorContext.ts","webpack://FeaturevisorReact/./src/FeaturevisorProvider.tsx","webpack://FeaturevisorReact/./src/activateFeature.ts","webpack://FeaturevisorReact/./src/index.ts","webpack://FeaturevisorReact/./src/useFlag.ts","webpack://FeaturevisorReact/./src/useSdk.ts","webpack://FeaturevisorReact/./src/useStatus.ts","webpack://FeaturevisorReact/./src/useVariable.ts","webpack://FeaturevisorReact/./src/useVariation.ts","webpack://FeaturevisorReact/external umd {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack://FeaturevisorReact/webpack/bootstrap","webpack://FeaturevisorReact/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"FeaturevisorReact\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"FeaturevisorReact\"] = factory(root[\"React\"]);\n})(this, (__WEBPACK_EXTERNAL_MODULE__359__) => {\nreturn ","import * as React from \"react\";\nimport { FeaturevisorInstance } from \"@featurevisor/sdk\";\n\nexport const FeaturevisorContext = React.createContext<FeaturevisorInstance | undefined>(undefined);\n","import * as React from \"react\";\nimport { FeaturevisorInstance } from \"@featurevisor/sdk\";\n\nimport { FeaturevisorContext } from \"./FeaturevisorContext\";\n\nexport interface FeaturevisorProviderProps {\n sdk: FeaturevisorInstance;\n children: React.ReactNode;\n}\n\nexport function FeaturevisorProvider(props: FeaturevisorProviderProps) {\n return (\n <FeaturevisorContext.Provider value={props.sdk}>{props.children}</FeaturevisorContext.Provider>\n );\n}\n","import { Context, FeatureKey, VariationValue } from \"@featurevisor/types\";\n\nimport { useSdk } from \"./useSdk\";\n\nexport function activateFeature(\n featureKey: FeatureKey,\n context: Context = {},\n): VariationValue | undefined {\n const sdk = useSdk();\n\n return sdk.activate(featureKey, context);\n}\n","// contexts\nexport * from \"./FeaturevisorContext\";\n\n// components\nexport * from \"./FeaturevisorProvider\";\n\n// hooks\nexport * from \"./activateFeature\";\nexport * from \"./useSdk\";\nexport * from \"./useStatus\";\nexport * from \"./useVariable\";\nexport * from \"./useVariation\";\nexport * from \"./useFlag\";\n","import { Context, FeatureKey } from \"@featurevisor/types\";\n\nimport { useSdk } from \"./useSdk\";\n\nexport function useFlag(featureKey: FeatureKey, context: Context = {}): boolean {\n const sdk = useSdk();\n\n return sdk.isEnabled(featureKey, context);\n}\n","import * as React from \"react\";\nimport { FeaturevisorInstance } from \"@featurevisor/sdk\";\n\nimport { FeaturevisorContext } from \"./FeaturevisorContext\";\n\nexport function useSdk(): FeaturevisorInstance {\n const sdk = React.useContext(FeaturevisorContext);\n\n return sdk as FeaturevisorInstance;\n}\n","import * as React from \"react\";\n\nimport { useSdk } from \"./useSdk\";\n\nexport interface Status {\n isReady: boolean;\n}\n\nexport function useStatus(): Status {\n const sdk = useSdk();\n const initialStatus = sdk.isReady();\n\n const [isReady, setIsReady] = React.useState(initialStatus);\n\n React.useEffect(function () {\n function handleReady() {\n setIsReady(true);\n }\n\n sdk.on(\"ready\", handleReady);\n\n return function () {\n sdk.off(\"ready\", handleReady);\n };\n }, []);\n\n return { isReady };\n}\n","import { Context, FeatureKey, VariableKey, VariableValue } from \"@featurevisor/types\";\n\nimport { useSdk } from \"./useSdk\";\n\nexport function useVariable(\n featureKey: FeatureKey,\n variableKey: VariableKey,\n context: Context = {},\n): VariableValue | undefined {\n const sdk = useSdk();\n\n return sdk.getVariable(featureKey, variableKey, context);\n}\n","import { Context, FeatureKey, VariationValue } from \"@featurevisor/types\";\n\nimport { useSdk } from \"./useSdk\";\n\nexport function useVariation(\n featureKey: FeatureKey,\n context: Context = {},\n): VariationValue | undefined {\n const sdk = useSdk();\n\n return sdk.getVariation(featureKey, context);\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__359__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(97);\n"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE__359__","FeaturevisorContext","React","createContext","undefined","props","Provider","value","sdk","children","featureKey","context","useSdk","activate","isEnabled","useContext","initialStatus","isReady","useState","setIsReady","useEffect","handleReady","on","off","variableKey","getVariable","getVariation","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","call"],"sourceRoot":""}
package/lib/useStatus.js CHANGED
@@ -4,9 +4,6 @@ export function useStatus() {
4
4
  var sdk = useSdk();
5
5
  var initialStatus = sdk.isReady();
6
6
  var _a = React.useState(initialStatus), isReady = _a[0], setIsReady = _a[1];
7
- if (isReady) {
8
- return { isReady: isReady };
9
- }
10
7
  React.useEffect(function () {
11
8
  function handleReady() {
12
9
  setIsReady(true);
@@ -1 +1 @@
1
- {"version":3,"file":"useStatus.js","sourceRoot":"","sources":["../src/useStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMlC,MAAM,UAAU,SAAS;IACvB,IAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,IAAM,aAAa,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAE9B,IAAA,KAAwB,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAApD,OAAO,QAAA,EAAE,UAAU,QAAiC,CAAC;IAE5D,IAAI,OAAO,EAAE;QACX,OAAO,EAAE,OAAO,SAAA,EAAE,CAAC;KACpB;IAED,KAAK,CAAC,SAAS,CAAC;QACd,SAAS,WAAW;YAClB,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAED,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE7B,OAAO;YACL,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAChC,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,OAAO,SAAA,EAAE,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"useStatus.js","sourceRoot":"","sources":["../src/useStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMlC,MAAM,UAAU,SAAS;IACvB,IAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,IAAM,aAAa,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAE9B,IAAA,KAAwB,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAApD,OAAO,QAAA,EAAE,UAAU,QAAiC,CAAC;IAE5D,KAAK,CAAC,SAAS,CAAC;QACd,SAAS,WAAW;YAClB,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAED,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE7B,OAAO;YACL,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAChC,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,OAAO,SAAA,EAAE,CAAC;AACrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@featurevisor/react",
3
- "version": "0.43.0",
3
+ "version": "0.44.2",
4
4
  "description": "React package for Featurevisor",
5
5
  "main": "dist/index.js",
6
6
  "module": "lib/index.js",
@@ -42,8 +42,8 @@
42
42
  "url": "https://github.com/fahad19/featurevisor/issues"
43
43
  },
44
44
  "dependencies": {
45
- "@featurevisor/sdk": "^0.43.0",
46
- "@featurevisor/types": "^0.43.0"
45
+ "@featurevisor/sdk": "^0.44.0",
46
+ "@featurevisor/types": "^0.44.0"
47
47
  },
48
48
  "license": "MIT",
49
49
  "devDependencies": {
@@ -51,5 +51,5 @@
51
51
  "@testing-library/react": "^14.0.0",
52
52
  "jest-environment-jsdom": "^29.5.0"
53
53
  },
54
- "gitHead": "2f4487fdd0ab9cf88d0726e10e3d6b0a23b22fef"
54
+ "gitHead": "769cf574a2a94fc7a358bde73bee2f774212dcf9"
55
55
  }
package/src/useStatus.ts CHANGED
@@ -12,10 +12,6 @@ export function useStatus(): Status {
12
12
 
13
13
  const [isReady, setIsReady] = React.useState(initialStatus);
14
14
 
15
- if (isReady) {
16
- return { isReady };
17
- }
18
-
19
15
  React.useEffect(function () {
20
16
  function handleReady() {
21
17
  setIsReady(true);