@zajno/common 1.4.11 → 1.4.14

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 (124) hide show
  1. package/coverage/clover.xml +487 -401
  2. package/coverage/coverage-final.json +31 -28
  3. package/coverage/lcov-report/CommonModel.ts.html +215 -0
  4. package/coverage/lcov-report/FlagModel.ts.html +290 -0
  5. package/coverage/lcov-report/MultiSelectModel.ts.html +614 -0
  6. package/coverage/lcov-report/NumberModel.ts.html +230 -0
  7. package/coverage/lcov-report/SelectModel.ts.html +503 -0
  8. package/coverage/lcov-report/Validatable.ts.html +386 -0
  9. package/coverage/lcov-report/async/index.html +111 -0
  10. package/coverage/lcov-report/async/timeout.ts.html +230 -0
  11. package/coverage/lcov-report/index.html +33 -33
  12. package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
  13. package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
  14. package/coverage/lcov-report/src/async/arrays.ts.html +5 -5
  15. package/coverage/lcov-report/src/async/index.html +1 -1
  16. package/coverage/lcov-report/src/async/timeout.ts.html +12 -12
  17. package/coverage/lcov-report/src/cache.ts.html +1 -1
  18. package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
  19. package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
  20. package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
  21. package/coverage/lcov-report/src/dates/format.ts.html +1 -1
  22. package/coverage/lcov-report/src/dates/index.html +1 -1
  23. package/coverage/lcov-report/src/dates/index.ts.html +1 -1
  24. package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
  25. package/coverage/lcov-report/src/dates/period.ts.html +1 -1
  26. package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
  27. package/coverage/lcov-report/src/dates/types.ts.html +1 -1
  28. package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
  29. package/coverage/lcov-report/src/disposer.ts.html +1 -1
  30. package/coverage/lcov-report/src/enumHelper.ts.html +10 -10
  31. package/coverage/lcov-report/src/event.ts.html +1 -1
  32. package/coverage/lcov-report/src/fields/index.html +1 -1
  33. package/coverage/lcov-report/src/fields/update.ts.html +1 -1
  34. package/coverage/lcov-report/src/functions.ts.html +1 -1
  35. package/coverage/lcov-report/src/index.html +19 -19
  36. package/coverage/lcov-report/src/lazy.light.ts.html +6 -6
  37. package/coverage/lcov-report/src/logger/batch.ts.html +2 -2
  38. package/coverage/lcov-report/src/logger/console.ts.html +5 -5
  39. package/coverage/lcov-report/src/logger/index.html +1 -1
  40. package/coverage/lcov-report/src/logger/index.ts.html +22 -22
  41. package/coverage/lcov-report/src/logger/named.ts.html +13 -13
  42. package/coverage/lcov-report/src/logger/proxy.ts.html +7 -7
  43. package/coverage/lcov-report/src/math/arrays.ts.html +23 -23
  44. package/coverage/lcov-report/src/math/calc.ts.html +9 -9
  45. package/coverage/lcov-report/src/math/distribution.ts.html +2 -2
  46. package/coverage/lcov-report/src/math/index.html +1 -1
  47. package/coverage/lcov-report/src/math/index.ts.html +6 -6
  48. package/coverage/lcov-report/src/observersMap.ts.html +1 -1
  49. package/coverage/lcov-report/src/observingCache.ts.html +26 -11
  50. package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
  51. package/coverage/lcov-report/src/types.ts.html +8 -8
  52. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +22 -22
  53. package/coverage/lcov-report/src/validation/creditCard.ts.html +4 -4
  54. package/coverage/lcov-report/src/validation/helpers.ts.html +6 -6
  55. package/coverage/lcov-report/src/validation/index.html +16 -16
  56. package/coverage/lcov-report/src/validation/index.ts.html +6 -6
  57. package/coverage/lcov-report/src/validation/types.ts.html +16 -16
  58. package/coverage/lcov-report/src/validation/validators.ts.html +5 -5
  59. package/coverage/lcov-report/src/validation/wrappers.ts.html +5 -5
  60. package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +215 -0
  61. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +41 -20
  62. package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +128 -0
  63. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +50 -20
  64. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +41 -23
  65. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +42 -30
  66. package/coverage/lcov-report/src/viewModels/TextModel.ts.html +461 -0
  67. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +72 -63
  68. package/coverage/lcov-report/src/viewModels/index.html +84 -39
  69. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +6 -6
  70. package/coverage/lcov-report/validation/index.html +111 -0
  71. package/coverage/lcov-report/validation/index.ts.html +107 -0
  72. package/coverage/lcov-report/viewModels/CommonModel.ts.html +215 -0
  73. package/coverage/lcov-report/viewModels/FlagModel.ts.html +290 -0
  74. package/coverage/lcov-report/viewModels/LoadingModel.ts.html +128 -0
  75. package/coverage/lcov-report/viewModels/MultiSelectModel.ts.html +614 -0
  76. package/coverage/lcov-report/viewModels/NumberModel.ts.html +230 -0
  77. package/coverage/lcov-report/viewModels/SelectModel.ts.html +503 -0
  78. package/coverage/lcov-report/viewModels/TextModel.ts.html +461 -0
  79. package/coverage/lcov-report/viewModels/Validatable.ts.html +386 -0
  80. package/coverage/lcov-report/viewModels/index.html +216 -0
  81. package/coverage/lcov.info +862 -665
  82. package/lib/observingCache.d.ts +1 -0
  83. package/lib/observingCache.d.ts.map +1 -1
  84. package/lib/observingCache.js +5 -1
  85. package/lib/observingCache.js.map +1 -1
  86. package/lib/services/localization/LocalizationManager.d.ts +1 -0
  87. package/lib/services/localization/LocalizationManager.d.ts.map +1 -1
  88. package/lib/services/localization/LocalizationManager.js +7 -3
  89. package/lib/services/localization/LocalizationManager.js.map +1 -1
  90. package/lib/viewModels/FlagModel.d.ts.map +1 -1
  91. package/lib/viewModels/FlagModel.js +14 -26
  92. package/lib/viewModels/FlagModel.js.map +1 -1
  93. package/lib/viewModels/LoadingModel.d.ts +6 -0
  94. package/lib/viewModels/LoadingModel.d.ts.map +1 -0
  95. package/lib/viewModels/LoadingModel.js +19 -0
  96. package/lib/viewModels/LoadingModel.js.map +1 -0
  97. package/lib/viewModels/MultiSelectModel.d.ts.map +1 -1
  98. package/lib/viewModels/MultiSelectModel.js +20 -43
  99. package/lib/viewModels/MultiSelectModel.js.map +1 -1
  100. package/lib/viewModels/NumberModel.d.ts.map +1 -1
  101. package/lib/viewModels/NumberModel.js +12 -22
  102. package/lib/viewModels/NumberModel.js.map +1 -1
  103. package/lib/viewModels/SelectModel.d.ts.map +1 -1
  104. package/lib/viewModels/SelectModel.js +8 -15
  105. package/lib/viewModels/SelectModel.js.map +1 -1
  106. package/lib/viewModels/TextModel.d.ts.map +1 -1
  107. package/lib/viewModels/TextModel.js +10 -17
  108. package/lib/viewModels/TextModel.js.map +1 -1
  109. package/lib/viewModels/Validatable.d.ts +2 -2
  110. package/lib/viewModels/Validatable.d.ts.map +1 -1
  111. package/lib/viewModels/Validatable.js +6 -12
  112. package/lib/viewModels/Validatable.js.map +1 -1
  113. package/package.json +1 -1
  114. package/src/observingCache.ts +6 -1
  115. package/src/services/localization/LocalizationManager.ts +8 -3
  116. package/src/viewModels/FlagModel.ts +14 -7
  117. package/src/viewModels/LoadingModel.ts +16 -0
  118. package/src/viewModels/MultiSelectModel.ts +20 -10
  119. package/src/viewModels/NumberModel.ts +12 -6
  120. package/src/viewModels/SelectModel.ts +8 -4
  121. package/src/viewModels/TextModel.ts +10 -5
  122. package/src/viewModels/Validatable.ts +9 -6
  123. package/src/viewModels/__tests__/common.test.ts +88 -0
  124. package/yarn.lock +3 -3
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">51.14% </span>
26
+ <span class="strong">54.55% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>45/88</span>
28
+ <span class='fraction'>48/88</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">13.79% </span>
40
+ <span class="strong">17.24% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>4/29</span>
42
+ <span class='fraction'>5/29</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">51.72% </span>
47
+ <span class="strong">55.17% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>45/87</span>
49
+ <span class='fraction'>48/87</span>
50
50
  </div>
51
51
 
52
52
 
@@ -133,18 +133,18 @@
133
133
  </tr>
134
134
 
135
135
  <tr>
136
- <td class="file low" data-value="types.ts"><a href="types.ts.html">types.ts</a></td>
137
- <td data-value="25" class="pic low">
138
- <div class="chart"><div class="cover-fill" style="width: 25%"></div><div class="cover-empty" style="width: 75%"></div></div>
136
+ <td class="file high" data-value="types.ts"><a href="types.ts.html">types.ts</a></td>
137
+ <td data-value="100" class="pic high">
138
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
139
139
  </td>
140
- <td data-value="25" class="pct low">25%</td>
141
- <td data-value="4" class="abs low">1/4</td>
140
+ <td data-value="100" class="pct high">100%</td>
141
+ <td data-value="4" class="abs high">4/4</td>
142
142
  <td data-value="100" class="pct high">100%</td>
143
143
  <td data-value="0" class="abs high">0/0</td>
144
- <td data-value="0" class="pct low">0%</td>
145
- <td data-value="1" class="abs low">0/1</td>
146
- <td data-value="25" class="pct low">25%</td>
147
- <td data-value="4" class="abs low">1/4</td>
144
+ <td data-value="100" class="pct high">100%</td>
145
+ <td data-value="1" class="abs high">1/1</td>
146
+ <td data-value="100" class="pct high">100%</td>
147
+ <td data-value="4" class="abs high">4/4</td>
148
148
  </tr>
149
149
 
150
150
  <tr>
@@ -185,7 +185,7 @@
185
185
  <div class='footer quiet pad2 space-top1 center small'>
186
186
  Code coverage generated by
187
187
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
188
- at Sun Mar 13 2022 20:42:00 GMT+0000 (Coordinated Universal Time)
188
+ at Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
189
189
  </div>
190
190
  </div>
191
191
  <script src="../../prettify.js"></script>
@@ -66,11 +66,11 @@
66
66
  <a name='L7'></a><a href='#L7'>7</a>
67
67
  <a name='L8'></a><a href='#L8'>8</a>
68
68
  <a name='L9'></a><a href='#L9'>9</a>
69
- <a name='L10'></a><a href='#L10'>10</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
70
- <span class="cline-any cline-yes">4x</span>
71
- <span class="cline-any cline-yes">4x</span>
72
- <span class="cline-any cline-yes">4x</span>
73
- <span class="cline-any cline-yes">4x</span>
69
+ <a name='L10'></a><a href='#L10'>10</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">5x</span>
70
+ <span class="cline-any cline-yes">5x</span>
71
+ <span class="cline-any cline-yes">5x</span>
72
+ <span class="cline-any cline-yes">5x</span>
73
+ <span class="cline-any cline-yes">5x</span>
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>
@@ -91,7 +91,7 @@ export * from './helpers';
91
91
  <div class='footer quiet pad2 space-top1 center small'>
92
92
  Code coverage generated by
93
93
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
94
- at Sun Mar 13 2022 20:42:00 GMT+0000 (Coordinated Universal Time)
94
+ at Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
95
95
  </div>
96
96
  </div>
97
97
  <script src="../../prettify.js"></script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">25% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>1/4</span>
28
+ <span class='fraction'>4/4</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/1</span>
42
+ <span class='fraction'>1/1</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">25% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>1/4</span>
49
+ <span class='fraction'>4/4</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 low'></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>
@@ -79,12 +79,12 @@
79
79
  <span class="cline-any cline-neutral">&nbsp;</span>
80
80
  <span class="cline-any cline-neutral">&nbsp;</span>
81
81
  <span class="cline-any cline-neutral">&nbsp;</span>
82
- <span class="cline-any cline-yes">4x</span>
83
- <span class="cline-any cline-no">&nbsp;</span>
82
+ <span class="cline-any cline-yes">5x</span>
83
+ <span class="cline-any cline-yes">2x</span>
84
84
  <span class="cline-any cline-neutral">&nbsp;</span>
85
85
  <span class="cline-any cline-neutral">&nbsp;</span>
86
- <span class="cline-any cline-no">&nbsp;</span>
87
- <span class="cline-any cline-no">&nbsp;</span>
86
+ <span class="cline-any cline-yes">2x</span>
87
+ <span class="cline-any cline-yes">2x</span>
88
88
  <span class="cline-any cline-neutral">&nbsp;</span>
89
89
  <span class="cline-any cline-neutral">&nbsp;</span>
90
90
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { ValidationErrors } from './ValidationErrors';
@@ -95,11 +95,11 @@ export type ValidatorFunctionAsync&lt;T = string, TErrors = ValidationErrors&gt;
95
95
  export type WrapperFunction = (val: ValidatorFunction) =&gt; ValidatorFunction;
96
96
  &nbsp;
97
97
  export class ValidationError&lt;TErrors = ValidationErrors&gt; extends Error {
98
- readonly <span class="cstat-no" title="statement not covered" >code: TErrors = null;</span>
98
+ readonly code: TErrors = null;
99
99
  &nbsp;
100
- <span class="fstat-no" title="function not covered" > constructor(m</span>essage: string, code: TErrors) {
101
- <span class="cstat-no" title="statement not covered" > super(message);</span>
102
- <span class="cstat-no" title="statement not covered" > this.code = code;</span>
100
+ constructor(message: string, code: TErrors) {
101
+ super(message);
102
+ this.code = code;
103
103
  }
104
104
  }
105
105
  &nbsp;</pre></td></tr></table></pre>
@@ -109,7 +109,7 @@ export class ValidationError&lt;TErrors = ValidationErrors&gt; extends Error {
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">istanbul</a>
112
- at Sun Mar 13 2022 20:42:00 GMT+0000 (Coordinated Universal Time)
112
+ at Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  </div>
115
115
  <script src="../../prettify.js"></script>
@@ -112,10 +112,10 @@
112
112
  <a name='L53'></a><a href='#L53'>53</a>
113
113
  <a name='L54'></a><a href='#L54'>54</a>
114
114
  <a name='L55'></a><a href='#L55'>55</a>
115
- <a name='L56'></a><a href='#L56'>56</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
116
- <span class="cline-any cline-yes">4x</span>
115
+ <a name='L56'></a><a href='#L56'>56</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">5x</span>
116
+ <span class="cline-any cline-yes">5x</span>
117
117
  <span class="cline-any cline-neutral">&nbsp;</span>
118
- <span class="cline-any cline-yes">4x</span>
118
+ <span class="cline-any cline-yes">5x</span>
119
119
  <span class="cline-any cline-neutral">&nbsp;</span>
120
120
  <span class="cline-any cline-neutral">&nbsp;</span>
121
121
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -140,7 +140,7 @@
140
140
  <span class="cline-any cline-neutral">&nbsp;</span>
141
141
  <span class="cline-any cline-neutral">&nbsp;</span>
142
142
  <span class="cline-any cline-neutral">&nbsp;</span>
143
- <span class="cline-any cline-yes">4x</span>
143
+ <span class="cline-any cline-yes">5x</span>
144
144
  <span class="cline-any cline-neutral">&nbsp;</span>
145
145
  <span class="cline-any cline-yes">1x</span>
146
146
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -229,7 +229,7 @@ export const Validators = {
229
229
  <div class='footer quiet pad2 space-top1 center small'>
230
230
  Code coverage generated by
231
231
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
232
- at Sun Mar 13 2022 20:42:00 GMT+0000 (Coordinated Universal Time)
232
+ at Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
233
233
  </div>
234
234
  </div>
235
235
  <script src="../../prettify.js"></script>
@@ -83,12 +83,12 @@
83
83
  <a name='L24'></a><a href='#L24'>24</a>
84
84
  <a name='L25'></a><a href='#L25'>25</a>
85
85
  <a name='L26'></a><a href='#L26'>26</a>
86
- <a name='L27'></a><a href='#L27'>27</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
86
+ <a name='L27'></a><a href='#L27'>27</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">5x</span>
87
87
  <span class="cline-any cline-neutral">&nbsp;</span>
88
- <span class="cline-any cline-yes">4x</span>
89
- <span class="cline-any cline-yes">4x</span>
88
+ <span class="cline-any cline-yes">5x</span>
89
+ <span class="cline-any cline-yes">5x</span>
90
90
  <span class="cline-any cline-neutral">&nbsp;</span>
91
- <span class="cline-any cline-yes">4x</span>
91
+ <span class="cline-any cline-yes">5x</span>
92
92
  <span class="cline-any cline-neutral">&nbsp;</span>
93
93
  <span class="cline-any cline-no">&nbsp;</span>
94
94
  <span class="cline-any cline-no">&nbsp;</span>
@@ -142,7 +142,7 @@ export const Wrappers = {
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
145
- at Sun Mar 13 2022 20:42:00 GMT+0000 (Coordinated Universal Time)
145
+ at Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
146
146
  </div>
147
147
  </div>
148
148
  <script src="../../prettify.js"></script>
@@ -0,0 +1,215 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/viewModels/CommonModel.ts</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/viewModels</a> CommonModel.ts</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'>19/19</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">50% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>4/8</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'>6/6</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'>19/19</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>
99
+ <a name='L40'></a><a href='#L40'>40</a>
100
+ <a name='L41'></a><a href='#L41'>41</a>
101
+ <a name='L42'></a><a href='#L42'>42</a>
102
+ <a name='L43'></a><a href='#L43'>43</a>
103
+ <a name='L44'></a><a href='#L44'>44</a>
104
+ <a name='L45'></a><a href='#L45'>45</a>
105
+ <a name='L46'></a><a href='#L46'>46</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
106
+ <span class="cline-any cline-yes">1x</span>
107
+ <span class="cline-any cline-yes">1x</span>
108
+ <span class="cline-any cline-neutral">&nbsp;</span>
109
+ <span class="cline-any cline-yes">1x</span>
110
+ <span class="cline-any cline-neutral">&nbsp;</span>
111
+ <span class="cline-any cline-neutral">&nbsp;</span>
112
+ <span class="cline-any cline-neutral">&nbsp;</span>
113
+ <span class="cline-any cline-neutral">&nbsp;</span>
114
+ <span class="cline-any cline-yes">1x</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-yes">1x</span>
118
+ <span class="cline-any cline-yes">1x</span>
119
+ <span class="cline-any cline-yes">1x</span>
120
+ <span class="cline-any cline-neutral">&nbsp;</span>
121
+ <span class="cline-any cline-yes">1x</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-yes">3x</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-yes">2x</span>
132
+ <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-yes">2x</span>
134
+ <span class="cline-any cline-neutral">&nbsp;</span>
135
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-neutral">&nbsp;</span>
137
+ <span class="cline-any cline-yes">1x</span>
138
+ <span class="cline-any cline-yes">2x</span>
139
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
+ <span class="cline-any cline-yes">2x</span>
141
+ <span class="cline-any cline-yes">1x</span>
142
+ <span class="cline-any cline-neutral">&nbsp;</span>
143
+ <span class="cline-any cline-neutral">&nbsp;</span>
144
+ <span class="cline-any cline-neutral">&nbsp;</span>
145
+ <span class="cline-any cline-yes">1x</span>
146
+ <span class="cline-any cline-yes">2x</span>
147
+ <span class="cline-any cline-yes">2x</span>
148
+ <span class="cline-any cline-neutral">&nbsp;</span>
149
+ <span class="cline-any cline-neutral">&nbsp;</span>
150
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { action, makeObservable, observable } from 'mobx';
151
+ import { Getter } from '../types';
152
+ import { ValidatableModel } from './Validatable';
153
+ &nbsp;
154
+ export class CommonModel&lt;T = any&gt; extends ValidatableModel&lt;T&gt; {
155
+ &nbsp;
156
+ // observable[.ref]
157
+ private _value: T;
158
+ &nbsp;
159
+ private _defaultValue: Getter&lt;T&gt; = null;
160
+ &nbsp;
161
+ constructor(v: Getter&lt;T&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span> useRefObservable = <span class="branch-0 cbranch-no" title="branch not covered" >true)</span> {
162
+ super();
163
+ this._value = Getter.getValue(v) || <span class="branch-1 cbranch-no" title="branch not covered" >null;</span>
164
+ this._defaultValue = v;
165
+ &nbsp;
166
+ makeObservable&lt;CommonModel&lt;T&gt;, '_value'&gt;(this, {
167
+ _value: useRefObservable ? observable.ref : <span class="branch-1 cbranch-no" title="branch not covered" >observable,</span>
168
+ setValue: action,
169
+ });
170
+ }
171
+ &nbsp;
172
+ protected get valueToValidate(): Readonly&lt;T&gt; {
173
+ return this._value;
174
+ }
175
+ &nbsp;
176
+ public get value() { return this._value; }
177
+ public set value(v: T) {
178
+ this.setValue(v);
179
+ }
180
+ &nbsp;
181
+ // action
182
+ public readonly setValue = (value: T) =&gt; {
183
+ this._value = value;
184
+ &nbsp;
185
+ if (this._validateOnChange) {
186
+ this.validate();
187
+ }
188
+ };
189
+ &nbsp;
190
+ reset = () =&gt; {
191
+ this._value = Getter.getValue(this._defaultValue);
192
+ super.reset();
193
+ };
194
+ }
195
+ &nbsp;</pre></td></tr></table></pre>
196
+
197
+ <div class='push'></div><!-- for sticky footer -->
198
+ </div><!-- /wrapper -->
199
+ <div class='footer quiet pad2 space-top1 center small'>
200
+ Code coverage generated by
201
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
202
+ at Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
203
+ </div>
204
+ </div>
205
+ <script src="../../prettify.js"></script>
206
+ <script>
207
+ window.onload = function () {
208
+ prettyPrint();
209
+ };
210
+ </script>
211
+ <script src="../../sorter.js"></script>
212
+ <script src="../../block-navigation.js"></script>
213
+ </body>
214
+ </html>
215
+
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">67.86% </span>
26
+ <span class="strong">59.09% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>19/28</span>
28
+ <span class='fraction'>13/22</span>
29
29
  </div>
30
30
 
31
31
 
@@ -120,28 +120,42 @@
120
120
  <a name='L61'></a><a href='#L61'>61</a>
121
121
  <a name='L62'></a><a href='#L62'>62</a>
122
122
  <a name='L63'></a><a href='#L63'>63</a>
123
- <a name='L64'></a><a href='#L64'>64</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</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-neutral">&nbsp;</span>
135
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-neutral">&nbsp;</span>
137
+ <span class="cline-any cline-neutral">&nbsp;</span>
124
138
  <span class="cline-any cline-neutral">&nbsp;</span>
125
139
  <span class="cline-any cline-neutral">&nbsp;</span>
126
140
  <span class="cline-any cline-neutral">&nbsp;</span>
127
141
  <span class="cline-any cline-neutral">&nbsp;</span>
128
142
  <span class="cline-any cline-neutral">&nbsp;</span>
129
143
  <span class="cline-any cline-neutral">&nbsp;</span>
144
+ <span class="cline-any cline-yes">4x</span>
130
145
  <span class="cline-any cline-neutral">&nbsp;</span>
131
146
  <span class="cline-any cline-neutral">&nbsp;</span>
147
+ <span class="cline-any cline-yes">18x</span>
132
148
  <span class="cline-any cline-neutral">&nbsp;</span>
133
149
  <span class="cline-any cline-neutral">&nbsp;</span>
150
+ <span class="cline-any cline-yes">18x</span>
134
151
  <span class="cline-any cline-neutral">&nbsp;</span>
135
152
  <span class="cline-any cline-neutral">&nbsp;</span>
136
153
  <span class="cline-any cline-neutral">&nbsp;</span>
137
- <span class="cline-any cline-yes">3x</span>
138
154
  <span class="cline-any cline-neutral">&nbsp;</span>
139
155
  <span class="cline-any cline-neutral">&nbsp;</span>
140
- <span class="cline-any cline-yes">17x</span>
141
156
  <span class="cline-any cline-neutral">&nbsp;</span>
142
157
  <span class="cline-any cline-neutral">&nbsp;</span>
143
- <span class="cline-any cline-yes">17x</span>
144
- <span class="cline-any cline-yes">17x</span>
158
+ <span class="cline-any cline-yes">18x</span>
145
159
  <span class="cline-any cline-neutral">&nbsp;</span>
146
160
  <span class="cline-any cline-neutral">&nbsp;</span>
147
161
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -153,33 +167,33 @@
153
167
  <span class="cline-any cline-neutral">&nbsp;</span>
154
168
  <span class="cline-any cline-neutral">&nbsp;</span>
155
169
  <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-yes">17x</span>
170
+ <span class="cline-any cline-yes">18x</span>
157
171
  <span class="cline-any cline-yes">50x</span>
158
172
  <span class="cline-any cline-neutral">&nbsp;</span>
159
173
  <span class="cline-any cline-neutral">&nbsp;</span>
160
174
  <span class="cline-any cline-no">&nbsp;</span>
161
175
  <span class="cline-any cline-neutral">&nbsp;</span>
162
176
  <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-yes">17x</span>
177
+ <span class="cline-any cline-yes">18x</span>
164
178
  <span class="cline-any cline-no">&nbsp;</span>
165
179
  <span class="cline-any cline-no">&nbsp;</span>
166
180
  <span class="cline-any cline-no">&nbsp;</span>
167
181
  <span class="cline-any cline-neutral">&nbsp;</span>
168
182
  <span class="cline-any cline-neutral">&nbsp;</span>
169
183
  <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-yes">17x</span>
184
+ <span class="cline-any cline-yes">18x</span>
171
185
  <span class="cline-any cline-no">&nbsp;</span>
172
186
  <span class="cline-any cline-no">&nbsp;</span>
173
187
  <span class="cline-any cline-no">&nbsp;</span>
174
188
  <span class="cline-any cline-neutral">&nbsp;</span>
175
189
  <span class="cline-any cline-neutral">&nbsp;</span>
176
190
  <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-yes">17x</span>
191
+ <span class="cline-any cline-yes">18x</span>
178
192
  <span class="cline-any cline-no">&nbsp;</span>
179
193
  <span class="cline-any cline-neutral">&nbsp;</span>
180
194
  <span class="cline-any cline-neutral">&nbsp;</span>
181
195
  <span class="cline-any cline-neutral">&nbsp;</span>
182
- <span class="cline-any cline-yes">17x</span>
196
+ <span class="cline-any cline-yes">18x</span>
183
197
  <span class="cline-any cline-no">&nbsp;</span>
184
198
  <span class="cline-any cline-neutral">&nbsp;</span>
185
199
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -199,11 +213,18 @@ export type ILabeledFlagModel = IFlagModel &amp; ILabel&lt;string&gt;;
199
213
  &nbsp;
200
214
  export class FlagModel implements IFlagModel, IFlagModelReadonly {
201
215
  &nbsp;
202
- @observable
216
+ // @observable
203
217
  private _value: boolean = false;
204
218
  &nbsp;
205
219
  constructor(initial = false) {
206
- makeObservable(this);
220
+ makeObservable&lt;FlagModel, '_value'&gt;(this, {
221
+ _value: observable,
222
+ setValue: action,
223
+ setTrue: action,
224
+ setFalse: action,
225
+ toggle: action,
226
+ reset: action,
227
+ });
207
228
  this._value = initial;
208
229
  }
209
230
  &nbsp;
@@ -215,33 +236,33 @@ export class FlagModel implements IFlagModel, IFlagModelReadonly {
215
236
  this.setValue(value);
216
237
  }
217
238
  &nbsp;
218
- @action
239
+ // @action
219
240
  public readonly setValue = (value: boolean) =&gt; {
220
241
  this._value = value;
221
242
  };
222
243
  &nbsp;
223
244
  <span class="fstat-no" title="function not covered" > get i</span>sDefault() { <span class="cstat-no" title="statement not covered" >return this._value === false; </span>}
224
245
  &nbsp;
225
- @action
246
+ // @action
226
247
  setTrue = <span class="fstat-no" title="function not covered" >() =</span>&gt; {
227
248
  const v = <span class="cstat-no" title="statement not covered" >this.value;</span>
228
249
  <span class="cstat-no" title="statement not covered" > this.value = true;</span>
229
250
  <span class="cstat-no" title="statement not covered" > return !v;</span>
230
251
  };
231
252
  &nbsp;
232
- @action
253
+ // @action
233
254
  setFalse = <span class="fstat-no" title="function not covered" >() =</span>&gt; {
234
255
  const v = <span class="cstat-no" title="statement not covered" >this.value;</span>
235
256
  <span class="cstat-no" title="statement not covered" > this.value = false;</span>
236
257
  <span class="cstat-no" title="statement not covered" > return v;</span>
237
258
  };
238
259
  &nbsp;
239
- @action
260
+ // @action
240
261
  toggle = <span class="fstat-no" title="function not covered" >() =</span>&gt; {
241
262
  <span class="cstat-no" title="statement not covered" > this._value = !this._value;</span>
242
263
  };
243
264
  &nbsp;
244
- @action
265
+ // @action
245
266
  reset = <span class="fstat-no" title="function not covered" >() =</span>&gt; {
246
267
  <span class="cstat-no" title="statement not covered" > this._value = false;</span>
247
268
  };
@@ -253,7 +274,7 @@ export class FlagModel implements IFlagModel, IFlagModelReadonly {
253
274
  <div class='footer quiet pad2 space-top1 center small'>
254
275
  Code coverage generated by
255
276
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
256
- at Sun Mar 13 2022 20:42:00 GMT+0000 (Coordinated Universal Time)
277
+ at Sat Mar 26 2022 23:24:40 GMT+0000 (Coordinated Universal Time)
257
278
  </div>
258
279
  </div>
259
280
  <script src="../../prettify.js"></script>