@tivio/sdk-react 2.1.4 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +8 -0
  2. package/coverage/clover.xml +356 -95
  3. package/coverage/lcov-report/index.html +55 -25
  4. package/coverage/lcov-report/src/components/ContextProvider.tsx.html +194 -0
  5. package/coverage/lcov-report/src/components/TivioProvider.tsx.html +109 -37
  6. package/coverage/lcov-report/src/components/TivioWidgetError.tsx.html +3 -3
  7. package/coverage/lcov-report/src/components/TivioWidgetLoader.tsx.html +3 -3
  8. package/coverage/lcov-report/src/components/context/ChannelsContext.tsx.html +197 -0
  9. package/coverage/lcov-report/src/components/context/OrganizationSubscriptionsContext.tsx.html +179 -0
  10. package/coverage/lcov-report/src/components/context/PurchasesWithVideosContext.tsx.html +179 -0
  11. package/coverage/lcov-report/src/components/context/RowItemsContext.tsx.html +191 -0
  12. package/coverage/lcov-report/src/components/context/ScreensContext.tsx.html +185 -0
  13. package/coverage/lcov-report/src/components/context/SectionsContext.tsx.html +200 -0
  14. package/coverage/lcov-report/src/components/context/UserContext.tsx.html +176 -0
  15. package/coverage/lcov-report/src/components/context/VideosContext.tsx.html +200 -0
  16. package/coverage/lcov-report/src/components/context/index.html +231 -0
  17. package/coverage/lcov-report/src/components/context/index.ts.html +104 -0
  18. package/coverage/lcov-report/src/components/index.html +32 -32
  19. package/coverage/lcov-report/src/conf.ts.html +27 -21
  20. package/coverage/lcov-report/src/index.html +21 -6
  21. package/coverage/lcov-report/src/services/bundleLoader.ts.html +127 -157
  22. package/coverage/lcov-report/src/services/dependencyResolver.ts.html +36 -30
  23. package/coverage/lcov-report/src/services/index.html +102 -42
  24. package/coverage/lcov-report/src/services/logger.ts.html +53 -98
  25. package/coverage/lcov-report/src/services/packageLoader.ts.html +31 -31
  26. package/coverage/lcov-report/src/services/pubSub.ts.html +9 -9
  27. package/coverage/lcov-report/src/services/sentry.ts.html +170 -0
  28. package/coverage/lcov-report/src/services/settings.ts.html +34 -34
  29. package/coverage/lcov-report/src/setupTests.ts.html +9 -9
  30. package/coverage/lcov.info +641 -141
  31. package/dist/components/TivioProvider.d.ts +3 -0
  32. package/dist/components/hooks/usePurchaseSubscription.d.ts +2 -7
  33. package/dist/components/hooks/useTransactionPayment.d.ts +2 -7
  34. package/dist/conf.d.ts +1 -0
  35. package/dist/index.js +1 -2
  36. package/dist/services/dependencyResolver.d.ts +2 -1
  37. package/dist/services/sentry.d.ts +2 -5
  38. package/dist/types.d.ts +5 -13
  39. package/env +0 -0
  40. package/package.json +12 -12
  41. package/scripts/build_dev.sh +3 -0
  42. package/scripts/build_prod.sh +3 -0
  43. package/scripts/postpublish.ts +10 -0
  44. package/scripts/start.sh +3 -0
  45. package/dist/index.js.LICENSE.txt +0 -114
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">65.96% </span>
26
+ <span class="strong">82.03% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>62/94</span>
28
+ <span class='fraction'>251/306</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">22.73% </span>
33
+ <span class="strong">65.08% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>5/22</span>
35
+ <span class='fraction'>41/63</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">57.14% </span>
40
+ <span class="strong">64.52% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>8/14</span>
42
+ <span class='fraction'>40/62</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">64.04% </span>
47
+ <span class="strong">81.38% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>57/89</span>
49
+ <span class='fraction'>236/290</span>
50
50
  </div>
51
51
 
52
52
 
@@ -55,7 +55,7 @@
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
57
  </div>
58
- <div class='status-line medium'></div>
58
+ <div class='status-line high'></div>
59
59
  <div class="pad1">
60
60
  <table class="coverage-summary">
61
61
  <thead>
@@ -78,28 +78,58 @@
78
78
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
79
79
  </td>
80
80
  <td data-value="100" class="pct high">100%</td>
81
- <td data-value="8" class="abs high">8/8</td>
81
+ <td data-value="18" class="abs high">18/18</td>
82
+ <td data-value="75" class="pct medium">75%</td>
83
+ <td data-value="4" class="abs medium">3/4</td>
82
84
  <td data-value="100" class="pct high">100%</td>
83
- <td data-value="0" class="abs high">0/0</td>
84
- <td data-value="100" class="pct high">100%</td>
85
- <td data-value="0" class="abs high">0/0</td>
85
+ <td data-value="1" class="abs high">1/1</td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="8" class="abs high">8/8</td>
87
+ <td data-value="17" class="abs high">17/17</td>
88
88
  </tr>
89
89
 
90
90
  <tr>
91
- <td class="file medium" data-value="src/services"><a href="src/services/index.html">src/services</a></td>
92
- <td data-value="62.79" class="pic medium">
93
- <div class="chart"><div class="cover-fill" style="width: 62%"></div><div class="cover-empty" style="width: 38%"></div></div>
91
+ <td class="file high" data-value="src/components"><a href="src/components/index.html">src/components</a></td>
92
+ <td data-value="85" class="pic high">
93
+ <div class="chart"><div class="cover-fill" style="width: 85%"></div><div class="cover-empty" style="width: 15%"></div></div>
94
94
  </td>
95
- <td data-value="62.79" class="pct medium">62.79%</td>
96
- <td data-value="86" class="abs medium">54/86</td>
97
- <td data-value="22.73" class="pct low">22.73%</td>
98
- <td data-value="22" class="abs low">5/22</td>
95
+ <td data-value="85" class="pct high">85%</td>
96
+ <td data-value="40" class="abs high">34/40</td>
97
+ <td data-value="50" class="pct medium">50%</td>
98
+ <td data-value="10" class="abs medium">5/10</td>
99
99
  <td data-value="57.14" class="pct medium">57.14%</td>
100
- <td data-value="14" class="abs medium">8/14</td>
101
- <td data-value="60.49" class="pct medium">60.49%</td>
102
- <td data-value="81" class="abs medium">49/81</td>
100
+ <td data-value="7" class="abs medium">4/7</td>
101
+ <td data-value="82.86" class="pct high">82.86%</td>
102
+ <td data-value="35" class="abs high">29/35</td>
103
+ </tr>
104
+
105
+ <tr>
106
+ <td class="file medium" data-value="src/components/context"><a href="src/components/context/index.html">src/components/context</a></td>
107
+ <td data-value="79.12" class="pic medium">
108
+ <div class="chart"><div class="cover-fill" style="width: 79%"></div><div class="cover-empty" style="width: 21%"></div></div>
109
+ </td>
110
+ <td data-value="79.12" class="pct medium">79.12%</td>
111
+ <td data-value="91" class="abs medium">72/91</td>
112
+ <td data-value="100" class="pct high">100%</td>
113
+ <td data-value="0" class="abs high">0/0</td>
114
+ <td data-value="40" class="pct low">40%</td>
115
+ <td data-value="20" class="abs low">8/20</td>
116
+ <td data-value="79.12" class="pct medium">79.12%</td>
117
+ <td data-value="91" class="abs medium">72/91</td>
118
+ </tr>
119
+
120
+ <tr>
121
+ <td class="file high" data-value="src/services"><a href="src/services/index.html">src/services</a></td>
122
+ <td data-value="80.89" class="pic high">
123
+ <div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
124
+ </td>
125
+ <td data-value="80.89" class="pct high">80.89%</td>
126
+ <td data-value="157" class="abs high">127/157</td>
127
+ <td data-value="67.35" class="pct medium">67.35%</td>
128
+ <td data-value="49" class="abs medium">33/49</td>
129
+ <td data-value="79.41" class="pct medium">79.41%</td>
130
+ <td data-value="34" class="abs medium">27/34</td>
131
+ <td data-value="80.27" class="pct high">80.27%</td>
132
+ <td data-value="147" class="abs high">118/147</td>
103
133
  </tr>
104
134
 
105
135
  </tbody>
@@ -110,7 +140,7 @@
110
140
  <div class='footer quiet pad2 space-top1 center small'>
111
141
  Code coverage generated by
112
142
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
113
- at Thu May 06 2021 13:19:37 GMT+0200 (Central European Summer Time)
143
+ at Sat Oct 23 2021 10:01:51 GMT+0200 (Central European Summer Time)
114
144
  </div>
115
145
  </div>
116
146
  <script src="prettify.js"></script>
@@ -0,0 +1,194 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/components/ContextProvider.tsx</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/components</a> ContextProvider.tsx</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>5/5</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/0</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>1/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>5/5</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ </div>
58
+ <div class='status-line high'></div>
59
+ <pre><table class="coverage">
60
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
+ <a name='L2'></a><a href='#L2'>2</a>
62
+ <a name='L3'></a><a href='#L3'>3</a>
63
+ <a name='L4'></a><a href='#L4'>4</a>
64
+ <a name='L5'></a><a href='#L5'>5</a>
65
+ <a name='L6'></a><a href='#L6'>6</a>
66
+ <a name='L7'></a><a href='#L7'>7</a>
67
+ <a name='L8'></a><a href='#L8'>8</a>
68
+ <a name='L9'></a><a href='#L9'>9</a>
69
+ <a name='L10'></a><a href='#L10'>10</a>
70
+ <a name='L11'></a><a href='#L11'>11</a>
71
+ <a name='L12'></a><a href='#L12'>12</a>
72
+ <a name='L13'></a><a href='#L13'>13</a>
73
+ <a name='L14'></a><a href='#L14'>14</a>
74
+ <a name='L15'></a><a href='#L15'>15</a>
75
+ <a name='L16'></a><a href='#L16'>16</a>
76
+ <a name='L17'></a><a href='#L17'>17</a>
77
+ <a name='L18'></a><a href='#L18'>18</a>
78
+ <a name='L19'></a><a href='#L19'>19</a>
79
+ <a name='L20'></a><a href='#L20'>20</a>
80
+ <a name='L21'></a><a href='#L21'>21</a>
81
+ <a name='L22'></a><a href='#L22'>22</a>
82
+ <a name='L23'></a><a href='#L23'>23</a>
83
+ <a name='L24'></a><a href='#L24'>24</a>
84
+ <a name='L25'></a><a href='#L25'>25</a>
85
+ <a name='L26'></a><a href='#L26'>26</a>
86
+ <a name='L27'></a><a href='#L27'>27</a>
87
+ <a name='L28'></a><a href='#L28'>28</a>
88
+ <a name='L29'></a><a href='#L29'>29</a>
89
+ <a name='L30'></a><a href='#L30'>30</a>
90
+ <a name='L31'></a><a href='#L31'>31</a>
91
+ <a name='L32'></a><a href='#L32'>32</a>
92
+ <a name='L33'></a><a href='#L33'>33</a>
93
+ <a name='L34'></a><a href='#L34'>34</a>
94
+ <a name='L35'></a><a href='#L35'>35</a>
95
+ <a name='L36'></a><a href='#L36'>36</a>
96
+ <a name='L37'></a><a href='#L37'>37</a>
97
+ <a name='L38'></a><a href='#L38'>38</a>
98
+ <a name='L39'></a><a href='#L39'>39</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
99
+ <span class="cline-any cline-yes">3x</span>
100
+ <span class="cline-any cline-neutral">&nbsp;</span>
101
+ <span class="cline-any cline-neutral">&nbsp;</span>
102
+ <span class="cline-any cline-neutral">&nbsp;</span>
103
+ <span class="cline-any cline-neutral">&nbsp;</span>
104
+ <span class="cline-any cline-neutral">&nbsp;</span>
105
+ <span class="cline-any cline-neutral">&nbsp;</span>
106
+ <span class="cline-any cline-neutral">&nbsp;</span>
107
+ <span class="cline-any cline-neutral">&nbsp;</span>
108
+ <span class="cline-any cline-neutral">&nbsp;</span>
109
+ <span class="cline-any cline-neutral">&nbsp;</span>
110
+ <span class="cline-any cline-yes">3x</span>
111
+ <span class="cline-any cline-neutral">&nbsp;</span>
112
+ <span class="cline-any cline-yes">2x</span>
113
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
117
+ <span class="cline-any cline-neutral">&nbsp;</span>
118
+ <span class="cline-any cline-neutral">&nbsp;</span>
119
+ <span class="cline-any cline-neutral">&nbsp;</span>
120
+ <span class="cline-any cline-neutral">&nbsp;</span>
121
+ <span class="cline-any cline-neutral">&nbsp;</span>
122
+ <span class="cline-any cline-neutral">&nbsp;</span>
123
+ <span class="cline-any cline-neutral">&nbsp;</span>
124
+ <span class="cline-any cline-neutral">&nbsp;</span>
125
+ <span class="cline-any cline-neutral">&nbsp;</span>
126
+ <span class="cline-any cline-neutral">&nbsp;</span>
127
+ <span class="cline-any cline-neutral">&nbsp;</span>
128
+ <span class="cline-any cline-neutral">&nbsp;</span>
129
+ <span class="cline-any cline-neutral">&nbsp;</span>
130
+ <span class="cline-any cline-neutral">&nbsp;</span>
131
+ <span class="cline-any cline-neutral">&nbsp;</span>
132
+ <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-neutral">&nbsp;</span>
134
+ <span class="cline-any cline-yes">3x</span>
135
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React from 'react'
137
+ import {
138
+ ChannelsContextProvider,
139
+ OrganizationSubscriptionsContextProvider,
140
+ PurchasesWithVideosContextProvider,
141
+ SectionsContextProvider,
142
+ UserContextProvider,
143
+ VideosContextProvider,
144
+ ScreensContextProvider,
145
+ RowItemsContextProvider,
146
+ } from './context'
147
+ &nbsp;
148
+ const ContextProvider: React.FC = (props) =&gt; {
149
+ &nbsp;
150
+ return (
151
+ &lt;ChannelsContextProvider&gt;
152
+ &lt;SectionsContextProvider&gt;
153
+ &lt;VideosContextProvider&gt;
154
+ &lt;UserContextProvider&gt;
155
+ &lt;OrganizationSubscriptionsContextProvider&gt;
156
+ &lt;PurchasesWithVideosContextProvider&gt;
157
+ &lt;ScreensContextProvider&gt;
158
+ &lt;RowItemsContextProvider&gt;
159
+ {props.children}
160
+ &lt;/RowItemsContextProvider&gt;
161
+ &lt;/ScreensContextProvider&gt;
162
+ &lt;/PurchasesWithVideosContextProvider&gt;
163
+ &lt;/OrganizationSubscriptionsContextProvider&gt;
164
+ &lt;/UserContextProvider&gt;
165
+ &lt;/VideosContextProvider&gt;
166
+ &lt;/SectionsContextProvider&gt;
167
+ &lt;/ChannelsContextProvider&gt;
168
+ )
169
+ }
170
+ &nbsp;
171
+ export {
172
+ ContextProvider,
173
+ }
174
+ &nbsp;</pre></td></tr></table></pre>
175
+
176
+ <div class='push'></div><!-- for sticky footer -->
177
+ </div><!-- /wrapper -->
178
+ <div class='footer quiet pad2 space-top1 center small'>
179
+ Code coverage generated by
180
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
181
+ at Sat Oct 23 2021 10:01:51 GMT+0200 (Central European Summer Time)
182
+ </div>
183
+ </div>
184
+ <script src="../../prettify.js"></script>
185
+ <script>
186
+ window.onload = function () {
187
+ prettyPrint();
188
+ };
189
+ </script>
190
+ <script src="../../sorter.js"></script>
191
+ <script src="../../block-navigation.js"></script>
192
+ </body>
193
+ </html>
194
+
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">52.94% </span>
26
+ <span class="strong">85.19% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>9/17</span>
28
+ <span class='fraction'>23/27</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
33
+ <span class="strong">50% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/6</span>
35
+ <span class='fraction'>5/10</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">75% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/2</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">46.67% </span>
47
+ <span class="strong">83.33% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>7/15</span>
49
+ <span class='fraction'>20/24</span>
50
50
  </div>
51
51
 
52
52
 
@@ -55,7 +55,7 @@
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
57
  </div>
58
- <div class='status-line medium'></div>
58
+ <div class='status-line high'></div>
59
59
  <pre><table class="coverage">
60
60
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
61
  <a name='L2'></a><a href='#L2'>2</a>
@@ -106,15 +106,41 @@
106
106
  <a name='L47'></a><a href='#L47'>47</a>
107
107
  <a name='L48'></a><a href='#L48'>48</a>
108
108
  <a name='L49'></a><a href='#L49'>49</a>
109
- <a name='L50'></a><a href='#L50'>50</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
109
+ <a name='L50'></a><a href='#L50'>50</a>
110
+ <a name='L51'></a><a href='#L51'>51</a>
111
+ <a name='L52'></a><a href='#L52'>52</a>
112
+ <a name='L53'></a><a href='#L53'>53</a>
113
+ <a name='L54'></a><a href='#L54'>54</a>
114
+ <a name='L55'></a><a href='#L55'>55</a>
115
+ <a name='L56'></a><a href='#L56'>56</a>
116
+ <a name='L57'></a><a href='#L57'>57</a>
117
+ <a name='L58'></a><a href='#L58'>58</a>
118
+ <a name='L59'></a><a href='#L59'>59</a>
119
+ <a name='L60'></a><a href='#L60'>60</a>
120
+ <a name='L61'></a><a href='#L61'>61</a>
121
+ <a name='L62'></a><a href='#L62'>62</a>
122
+ <a name='L63'></a><a href='#L63'>63</a>
123
+ <a name='L64'></a><a href='#L64'>64</a>
124
+ <a name='L65'></a><a href='#L65'>65</a>
125
+ <a name='L66'></a><a href='#L66'>66</a>
126
+ <a name='L67'></a><a href='#L67'>67</a>
127
+ <a name='L68'></a><a href='#L68'>68</a>
128
+ <a name='L69'></a><a href='#L69'>69</a>
129
+ <a name='L70'></a><a href='#L70'>70</a>
130
+ <a name='L71'></a><a href='#L71'>71</a>
131
+ <a name='L72'></a><a href='#L72'>72</a>
132
+ <a name='L73'></a><a href='#L73'>73</a>
133
+ <a name='L74'></a><a href='#L74'>74</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
110
134
  <span class="cline-any cline-neutral">&nbsp;</span>
111
135
  <span class="cline-any cline-neutral">&nbsp;</span>
112
136
  <span class="cline-any cline-neutral">&nbsp;</span>
113
137
  <span class="cline-any cline-neutral">&nbsp;</span>
114
- <span class="cline-any cline-yes">1x</span>
138
+ <span class="cline-any cline-yes">3x</span>
115
139
  <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-yes">1x</span>
117
- <span class="cline-any cline-yes">1x</span>
140
+ <span class="cline-any cline-yes">3x</span>
141
+ <span class="cline-any cline-yes">3x</span>
142
+ <span class="cline-any cline-yes">3x</span>
143
+ <span class="cline-any cline-yes">3x</span>
118
144
  <span class="cline-any cline-neutral">&nbsp;</span>
119
145
  <span class="cline-any cline-neutral">&nbsp;</span>
120
146
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -122,31 +148,53 @@
122
148
  <span class="cline-any cline-neutral">&nbsp;</span>
123
149
  <span class="cline-any cline-neutral">&nbsp;</span>
124
150
  <span class="cline-any cline-neutral">&nbsp;</span>
125
- <span class="cline-any cline-yes">1x</span>
126
- <span class="cline-any cline-yes">1x</span>
127
151
  <span class="cline-any cline-neutral">&nbsp;</span>
128
- <span class="cline-any cline-yes">1x</span>
152
+ <span class="cline-any cline-yes">3x</span>
153
+ <span class="cline-any cline-yes">3x</span>
129
154
  <span class="cline-any cline-neutral">&nbsp;</span>
155
+ <span class="cline-any cline-yes">3x</span>
130
156
  <span class="cline-any cline-neutral">&nbsp;</span>
131
157
  <span class="cline-any cline-neutral">&nbsp;</span>
132
- <span class="cline-any cline-no">&nbsp;</span>
133
- <span class="cline-any cline-no">&nbsp;</span>
134
158
  <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-no">&nbsp;</span>
159
+ <span class="cline-any cline-yes">6x</span>
160
+ <span class="cline-any cline-yes">6x</span>
161
+ <span class="cline-any cline-neutral">&nbsp;</span>
162
+ <span class="cline-any cline-yes">6x</span>
163
+ <span class="cline-any cline-neutral">&nbsp;</span>
164
+ <span class="cline-any cline-neutral">&nbsp;</span>
165
+ <span class="cline-any cline-yes">2x</span>
166
+ <span class="cline-any cline-neutral">&nbsp;</span>
167
+ <span class="cline-any cline-neutral">&nbsp;</span>
168
+ <span class="cline-any cline-yes">2x</span>
169
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
170
  <span class="cline-any cline-neutral">&nbsp;</span>
137
171
  <span class="cline-any cline-neutral">&nbsp;</span>
138
172
  <span class="cline-any cline-neutral">&nbsp;</span>
139
173
  <span class="cline-any cline-neutral">&nbsp;</span>
140
174
  <span class="cline-any cline-neutral">&nbsp;</span>
141
175
  <span class="cline-any cline-neutral">&nbsp;</span>
142
- <span class="cline-any cline-no">&nbsp;</span>
143
176
  <span class="cline-any cline-neutral">&nbsp;</span>
144
177
  <span class="cline-any cline-neutral">&nbsp;</span>
178
+ <span class="cline-any cline-yes">2x</span>
145
179
  <span class="cline-any cline-neutral">&nbsp;</span>
146
180
  <span class="cline-any cline-neutral">&nbsp;</span>
147
181
  <span class="cline-any cline-neutral">&nbsp;</span>
148
182
  <span class="cline-any cline-neutral">&nbsp;</span>
183
+ <span class="cline-any cline-neutral">&nbsp;</span>
184
+ <span class="cline-any cline-neutral">&nbsp;</span>
185
+ <span class="cline-any cline-neutral">&nbsp;</span>
186
+ <span class="cline-any cline-neutral">&nbsp;</span>
187
+ <span class="cline-any cline-yes">3x</span>
188
+ <span class="cline-any cline-yes">4x</span>
189
+ <span class="cline-any cline-neutral">&nbsp;</span>
190
+ <span class="cline-any cline-yes">3x</span>
191
+ <span class="cline-any cline-yes">2x</span>
192
+ <span class="cline-any cline-neutral">&nbsp;</span>
193
+ <span class="cline-any cline-neutral">&nbsp;</span>
149
194
  <span class="cline-any cline-yes">1x</span>
195
+ <span class="cline-any cline-neutral">&nbsp;</span>
196
+ <span class="cline-any cline-neutral">&nbsp;</span>
197
+ <span class="cline-any cline-yes">3x</span>
150
198
  <span class="cline-any cline-no">&nbsp;</span>
151
199
  <span class="cline-any cline-neutral">&nbsp;</span>
152
200
  <span class="cline-any cline-no">&nbsp;</span>
@@ -160,49 +208,73 @@
160
208
  * nangu.TV, a.s PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
161
209
  */
162
210
  &nbsp;
163
- import React, { FunctionComponentElement, useContext } from 'react'
211
+ import React, { FunctionComponentElement, useContext, useEffect } from 'react'
164
212
  &nbsp;
165
213
  import { createInternalConf } from '../conf'
166
214
  import { createUseRemoteBundle, RemoteBundleState } from '../services/bundleLoader'
215
+ import { ContextProvider } from './ContextProvider'
216
+ import { injectSentryToWindow } from '../services/sentry'
217
+ &nbsp;
167
218
  import type { Conf } from '../types'
168
219
  &nbsp;
169
220
  export type TivioProviderProps = {
170
221
  children: React.ReactNode
171
- conf: Conf
222
+ conf?: Conf
172
223
  }
173
224
  &nbsp;
174
225
  const useRemoteBundle = createUseRemoteBundle()
175
226
  const TivioContext = React.createContext&lt;RemoteBundleState | null&gt;(null)
176
227
  &nbsp;
177
- export const TivioProvider = <span class="fstat-no" title="function not covered" >({</span>
228
+ export const TivioProvider = ({
178
229
  children,
179
230
  conf,
180
231
  }: TivioProviderProps): FunctionComponentElement&lt;TivioProviderProps&gt; =&gt; {
181
- const _conf = <span class="cstat-no" title="statement not covered" >createInternalConf(conf)</span>
182
- const bundleState = <span class="cstat-no" title="statement not covered" >useRemoteBundle(_conf)</span>
232
+ const _conf = createInternalConf(conf ?? <span class="branch-1 cbranch-no" title="branch not covered" >null)</span>
233
+ const bundleState = useRemoteBundle(_conf)
183
234
  &nbsp;
184
- const content = <span class="cstat-no" title="statement not covered" >bundleState?.state === 'ready' &amp;&amp; bundleState.components ?</span>
235
+ useEffect(() =&gt; {
236
+ // Has to be called here on mount, because if it is used in Next.js
237
+ // window is not available during SSR phase
238
+ injectSentryToWindow()
239
+ }, [])
240
+ &nbsp;
241
+ const content = bundleState?.state === 'ready' &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >bundleState.components </span>?
185
242
  (
186
- &lt;bundleState.components.Provider language={_conf.language}&gt;
243
+ <span class="branch-0 cbranch-no" title="branch not covered" > &lt;bundleState.components.Provider</span>
244
+ language={_conf.language}
245
+ disableUnmounting={_conf.disableUnmounting}
246
+ &gt;
187
247
  {children}
188
248
  &lt;/bundleState.components.Provider&gt;
189
249
  ) : children
190
250
  &nbsp;
191
- <span class="cstat-no" title="statement not covered" > return (</span>
192
- &lt;TivioContext.Provider value={bundleState}&gt;
193
- {content}
194
- &lt;/TivioContext.Provider&gt;
251
+ return (
252
+ &lt;ContextProvider&gt;
253
+ &lt;TivioContext.Provider value={bundleState}&gt;
254
+ {content}
255
+ &lt;/TivioContext.Provider&gt;
256
+ &lt;/ContextProvider&gt;
195
257
  )
196
258
  }
197
259
  &nbsp;
198
- export const useTivioData = <span class="fstat-no" title="function not covered" >(): RemoteBundleState =</span>&gt; {
199
- const context = <span class="cstat-no" title="statement not covered" >useContext(TivioContext)</span>
260
+ export const useTivioData = () =&gt; {
261
+ const context = useContext(TivioContext)
262
+ &nbsp;
263
+ if (context === null) {
264
+ throw new Error('Make sure to wrap your app in &lt;TivioProvider conf={...}&gt;&lt;App/&gt;&lt;/TivioProvider&gt;')
265
+ }
266
+ &nbsp;
267
+ return context
268
+ }
269
+ &nbsp;
270
+ export const useTivioReadyData = <span class="fstat-no" title="function not covered" >() =</span>&gt; {
271
+ const bundle = <span class="cstat-no" title="statement not covered" >useTivioData()</span>
200
272
  &nbsp;
201
- <span class="cstat-no" title="statement not covered" > if (context === null) {</span>
202
- <span class="cstat-no" title="statement not covered" > throw new Error('useTivioData must be inside TivioProvider')</span>
273
+ <span class="cstat-no" title="statement not covered" > if (bundle.state === 'ready') {</span>
274
+ <span class="cstat-no" title="statement not covered" > return bundle</span>
203
275
  }
204
276
  &nbsp;
205
- <span class="cstat-no" title="statement not covered" > return context</span>
277
+ <span class="cstat-no" title="statement not covered" > return null</span>
206
278
  }
207
279
  &nbsp;</pre></td></tr></table></pre>
208
280
 
@@ -211,7 +283,7 @@ export const useTivioData = <span class="fstat-no" title="function not covered"
211
283
  <div class='footer quiet pad2 space-top1 center small'>
212
284
  Code coverage generated by
213
285
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
214
- at Fri Apr 30 2021 12:16:39 GMT+0200 (Central European Summer Time)
286
+ at Sat Oct 23 2021 10:01:51 GMT+0200 (Central European Summer Time)
215
287
  </div>
216
288
  </div>
217
289
  <script src="../../prettify.js"></script>
@@ -76,11 +76,11 @@
76
76
  <span class="cline-any cline-neutral">&nbsp;</span>
77
77
  <span class="cline-any cline-neutral">&nbsp;</span>
78
78
  <span class="cline-any cline-neutral">&nbsp;</span>
79
- <span class="cline-any cline-yes">2x</span>
79
+ <span class="cline-any cline-yes">4x</span>
80
80
  <span class="cline-any cline-neutral">&nbsp;</span>
81
81
  <span class="cline-any cline-neutral">&nbsp;</span>
82
82
  <span class="cline-any cline-neutral">&nbsp;</span>
83
- <span class="cline-any cline-yes">2x</span>
83
+ <span class="cline-any cline-yes">4x</span>
84
84
  <span class="cline-any cline-no">&nbsp;</span>
85
85
  <span class="cline-any cline-neutral">&nbsp;</span>
86
86
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -106,7 +106,7 @@ export const TivioWidgetError: React.FC&lt;TivioWidgetErrorProps&gt; = <span cla
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">istanbul</a>
109
- at Fri Apr 30 2021 12:16:39 GMT+0200 (Central European Summer Time)
109
+ at Sat Oct 23 2021 10:01:51 GMT+0200 (Central European Summer Time)
110
110
  </div>
111
111
  </div>
112
112
  <script src="../../prettify.js"></script>
@@ -74,9 +74,9 @@
74
74
  <span class="cline-any cline-neutral">&nbsp;</span>
75
75
  <span class="cline-any cline-neutral">&nbsp;</span>
76
76
  <span class="cline-any cline-neutral">&nbsp;</span>
77
- <span class="cline-any cline-yes">1x</span>
77
+ <span class="cline-any cline-yes">4x</span>
78
78
  <span class="cline-any cline-neutral">&nbsp;</span>
79
- <span class="cline-any cline-yes">1x</span>
79
+ <span class="cline-any cline-yes">4x</span>
80
80
  <span class="cline-any cline-no">&nbsp;</span>
81
81
  <span class="cline-any cline-neutral">&nbsp;</span>
82
82
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -100,7 +100,7 @@ export const TivioWidgetLoader: React.FC = <span class="fstat-no" title="functio
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">istanbul</a>
103
- at Fri Apr 30 2021 12:16:39 GMT+0200 (Central European Summer Time)
103
+ at Sat Oct 23 2021 10:01:51 GMT+0200 (Central European Summer Time)
104
104
  </div>
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>