@zajno/common 1.5.0 → 1.5.3

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 (92) hide show
  1. package/coverage/clover.xml +57 -49
  2. package/coverage/coverage-final.json +4 -4
  3. package/coverage/lcov-report/async/index.html +1 -1
  4. package/coverage/lcov-report/async/timeout.ts.html +12 -12
  5. package/coverage/lcov-report/index.html +21 -21
  6. package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
  7. package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
  8. package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
  9. package/coverage/lcov-report/src/async/index.html +1 -1
  10. package/coverage/lcov-report/src/async/timeout.ts.html +10 -10
  11. package/coverage/lcov-report/src/cache.ts.html +1 -1
  12. package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
  13. package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
  14. package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
  15. package/coverage/lcov-report/src/dates/format.ts.html +1 -1
  16. package/coverage/lcov-report/src/dates/index.html +1 -1
  17. package/coverage/lcov-report/src/dates/index.ts.html +1 -1
  18. package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
  19. package/coverage/lcov-report/src/dates/period.ts.html +1 -1
  20. package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
  21. package/coverage/lcov-report/src/dates/types.ts.html +1 -1
  22. package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
  23. package/coverage/lcov-report/src/disposer.ts.html +1 -1
  24. package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
  25. package/coverage/lcov-report/src/event.ts.html +1 -1
  26. package/coverage/lcov-report/src/fields/index.html +1 -1
  27. package/coverage/lcov-report/src/fields/update.ts.html +1 -1
  28. package/coverage/lcov-report/src/functions.ts.html +1 -1
  29. package/coverage/lcov-report/src/index.html +1 -1
  30. package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
  31. package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
  32. package/coverage/lcov-report/src/logger/console.ts.html +1 -1
  33. package/coverage/lcov-report/src/logger/index.html +1 -1
  34. package/coverage/lcov-report/src/logger/index.ts.html +1 -1
  35. package/coverage/lcov-report/src/logger/named.ts.html +1 -1
  36. package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
  37. package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
  38. package/coverage/lcov-report/src/math/calc.ts.html +1 -1
  39. package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
  40. package/coverage/lcov-report/src/math/index.html +1 -1
  41. package/coverage/lcov-report/src/math/index.ts.html +1 -1
  42. package/coverage/lcov-report/src/observersMap.ts.html +1 -1
  43. package/coverage/lcov-report/src/observingCache.ts.html +1 -1
  44. package/coverage/lcov-report/src/tempoCache.ts.html +1 -1
  45. package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
  46. package/coverage/lcov-report/src/types.ts.html +1 -1
  47. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
  48. package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
  49. package/coverage/lcov-report/src/validation/helpers.ts.html +7 -4
  50. package/coverage/lcov-report/src/validation/index.html +4 -4
  51. package/coverage/lcov-report/src/validation/index.ts.html +1 -1
  52. package/coverage/lcov-report/src/validation/types.ts.html +1 -1
  53. package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
  54. package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
  55. package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +1 -1
  56. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
  57. package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +106 -34
  58. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
  59. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +13 -13
  60. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +1 -1
  61. package/coverage/lcov-report/src/viewModels/TextModel.ts.html +1 -1
  62. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
  63. package/coverage/lcov-report/src/viewModels/index.html +19 -19
  64. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
  65. package/coverage/lcov-report/validation/index.html +1 -1
  66. package/coverage/lcov-report/validation/index.ts.html +6 -6
  67. package/coverage/lcov-report/viewModels/CommonModel.ts.html +1 -1
  68. package/coverage/lcov-report/viewModels/LoadingModel.ts.html +129 -21
  69. package/coverage/lcov-report/viewModels/SelectModel.ts.html +54 -21
  70. package/coverage/lcov-report/viewModels/TextModel.ts.html +1 -1
  71. package/coverage/lcov-report/viewModels/index.html +23 -83
  72. package/coverage/lcov.info +100 -77
  73. package/lib/services/storage/index.d.ts +4 -0
  74. package/lib/services/storage/index.d.ts.map +1 -1
  75. package/lib/services/storage/index.js +13 -1
  76. package/lib/services/storage/index.js.map +1 -1
  77. package/lib/validation/helpers.d.ts +1 -1
  78. package/lib/validation/helpers.d.ts.map +1 -1
  79. package/lib/validation/helpers.js +2 -2
  80. package/lib/validation/helpers.js.map +1 -1
  81. package/lib/viewModels/LoadingModel.d.ts +12 -3
  82. package/lib/viewModels/LoadingModel.d.ts.map +1 -1
  83. package/lib/viewModels/LoadingModel.js +33 -16
  84. package/lib/viewModels/LoadingModel.js.map +1 -1
  85. package/lib/viewModels/types.d.ts +4 -1
  86. package/lib/viewModels/types.d.ts.map +1 -1
  87. package/package.json +1 -1
  88. package/src/services/storage/index.ts +17 -1
  89. package/src/validation/helpers.ts +2 -1
  90. package/src/viewModels/LoadingModel.ts +41 -17
  91. package/src/viewModels/__tests__/common.test.ts +27 -8
  92. package/src/viewModels/types.ts +5 -1
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">74.02% </span>
26
+ <span class="strong">77.91% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>245/331</span>
28
+ <span class='fraction'>127/163</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">55.79% </span>
33
+ <span class="strong">59.32% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>53/95</span>
35
+ <span class='fraction'>35/59</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">62.02% </span>
40
+ <span class="strong">65% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>80/129</span>
42
+ <span class='fraction'>39/60</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">74.42% </span>
47
+ <span class="strong">78.29% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>224/301</span>
49
+ <span class='fraction'>119/152</span>
50
50
  </div>
51
51
 
52
52
 
@@ -87,79 +87,34 @@
87
87
  <td data-value="19" class="abs high">19/19</td>
88
88
  </tr>
89
89
 
90
- <tr>
91
- <td class="file medium" data-value="FlagModel.ts"><a href="FlagModel.ts.html">FlagModel.ts</a></td>
92
- <td data-value="59.09" class="pic medium">
93
- <div class="chart"><div class="cover-fill" style="width: 59%"></div><div class="cover-empty" style="width: 41%"></div></div>
94
- </td>
95
- <td data-value="59.09" class="pct medium">59.09%</td>
96
- <td data-value="22" class="abs medium">13/22</td>
97
- <td data-value="100" class="pct high">100%</td>
98
- <td data-value="1" class="abs high">1/1</td>
99
- <td data-value="44.44" class="pct low">44.44%</td>
100
- <td data-value="9" class="abs low">4/9</td>
101
- <td data-value="59.09" class="pct medium">59.09%</td>
102
- <td data-value="22" class="abs medium">13/22</td>
103
- </tr>
104
-
105
90
  <tr>
106
91
  <td class="file high" data-value="LoadingModel.ts"><a href="LoadingModel.ts.html">LoadingModel.ts</a></td>
107
- <td data-value="100" class="pic high">
108
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
92
+ <td data-value="95.24" class="pic high">
93
+ <div class="chart"><div class="cover-fill" style="width: 95%"></div><div class="cover-empty" style="width: 5%"></div></div>
109
94
  </td>
95
+ <td data-value="95.24" class="pct high">95.24%</td>
96
+ <td data-value="21" class="abs high">20/21</td>
97
+ <td data-value="90" class="pct high">90%</td>
98
+ <td data-value="10" class="abs high">9/10</td>
99
+ <td data-value="85.71" class="pct high">85.71%</td>
100
+ <td data-value="7" class="abs high">6/7</td>
110
101
  <td data-value="100" class="pct high">100%</td>
111
- <td data-value="8" class="abs high">8/8</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="100" class="pct high">100%</td>
115
- <td data-value="2" class="abs high">2/2</td>
116
- <td data-value="100" class="pct high">100%</td>
117
- <td data-value="8" class="abs high">8/8</td>
118
- </tr>
119
-
120
- <tr>
121
- <td class="file medium" data-value="MultiSelectModel.ts"><a href="MultiSelectModel.ts.html">MultiSelectModel.ts</a></td>
122
- <td data-value="75" class="pic medium">
123
- <div class="chart"><div class="cover-fill" style="width: 75%"></div><div class="cover-empty" style="width: 25%"></div></div>
124
- </td>
125
- <td data-value="75" class="pct medium">75%</td>
126
- <td data-value="96" class="abs medium">72/96</td>
127
- <td data-value="44.44" class="pct low">44.44%</td>
128
- <td data-value="18" class="abs low">8/18</td>
129
- <td data-value="66.67" class="pct medium">66.67%</td>
130
- <td data-value="42" class="abs medium">28/42</td>
131
- <td data-value="74.39" class="pct medium">74.39%</td>
132
- <td data-value="82" class="abs medium">61/82</td>
133
- </tr>
134
-
135
- <tr>
136
- <td class="file high" data-value="NumberModel.ts"><a href="NumberModel.ts.html">NumberModel.ts</a></td>
137
- <td data-value="89.47" class="pic high">
138
- <div class="chart"><div class="cover-fill" style="width: 89%"></div><div class="cover-empty" style="width: 11%"></div></div>
139
- </td>
140
- <td data-value="89.47" class="pct high">89.47%</td>
141
- <td data-value="19" class="abs high">17/19</td>
142
- <td data-value="100" class="pct high">100%</td>
143
- <td data-value="3" class="abs high">3/3</td>
144
- <td data-value="75" class="pct medium">75%</td>
145
- <td data-value="8" class="abs medium">6/8</td>
146
- <td data-value="88.24" class="pct high">88.24%</td>
147
- <td data-value="17" class="abs high">15/17</td>
102
+ <td data-value="20" class="abs high">20/20</td>
148
103
  </tr>
149
104
 
150
105
  <tr>
151
106
  <td class="file high" data-value="SelectModel.ts"><a href="SelectModel.ts.html">SelectModel.ts</a></td>
152
- <td data-value="90.63" class="pic high">
107
+ <td data-value="90.91" class="pic high">
153
108
  <div class="chart"><div class="cover-fill" style="width: 90%"></div><div class="cover-empty" style="width: 10%"></div></div>
154
109
  </td>
155
- <td data-value="90.63" class="pct high">90.63%</td>
156
- <td data-value="64" class="abs high">58/64</td>
110
+ <td data-value="90.91" class="pct high">90.91%</td>
111
+ <td data-value="66" class="abs high">60/66</td>
157
112
  <td data-value="83.33" class="pct high">83.33%</td>
158
113
  <td data-value="18" class="abs high">15/18</td>
159
114
  <td data-value="84.62" class="pct high">84.62%</td>
160
115
  <td data-value="26" class="abs high">22/26</td>
161
- <td data-value="89.83" class="pct high">89.83%</td>
162
- <td data-value="59" class="abs high">53/59</td>
116
+ <td data-value="90.16" class="pct high">90.16%</td>
117
+ <td data-value="61" class="abs high">55/61</td>
163
118
  </tr>
164
119
 
165
120
  <tr>
@@ -177,21 +132,6 @@
177
132
  <td data-value="52" class="abs low">25/52</td>
178
133
  </tr>
179
134
 
180
- <tr>
181
- <td class="file medium" data-value="Validatable.ts"><a href="Validatable.ts.html">Validatable.ts</a></td>
182
- <td data-value="65.22" class="pic medium">
183
- <div class="chart"><div class="cover-fill" style="width: 65%"></div><div class="cover-empty" style="width: 35%"></div></div>
184
- </td>
185
- <td data-value="65.22" class="pct medium">65.22%</td>
186
- <td data-value="46" class="abs medium">30/46</td>
187
- <td data-value="62.5" class="pct medium">62.5%</td>
188
- <td data-value="24" class="abs medium">15/24</td>
189
- <td data-value="46.67" class="pct low">46.67%</td>
190
- <td data-value="15" class="abs low">7/15</td>
191
- <td data-value="71.43" class="pct medium">71.43%</td>
192
- <td data-value="42" class="abs medium">30/42</td>
193
- </tr>
194
-
195
135
  </tbody>
196
136
  </table>
197
137
  </div>
@@ -200,7 +140,7 @@
200
140
  <div class='footer quiet pad2 space-top1 center small'>
201
141
  Code coverage generated by
202
142
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
203
- at Fri Mar 18 2022 08:45:35 GMT+0000 (Coordinated Universal Time)
143
+ at Sat Jun 04 2022 17:01:00 GMT+0000 (Coordinated Universal Time)
204
144
  </div>
205
145
  </div>
206
146
  <script src="../prettify.js"></script>
@@ -1125,29 +1125,29 @@ FN:37,(anonymous_5)
1125
1125
  FN:40,(anonymous_6)
1126
1126
  FNF:7
1127
1127
  FNH:3
1128
- FNDA:9,setTimeoutAsync
1129
- FNDA:9,(anonymous_1)
1130
- FNDA:9,(anonymous_2)
1128
+ FNDA:10,setTimeoutAsync
1129
+ FNDA:10,(anonymous_1)
1130
+ FNDA:10,(anonymous_2)
1131
1131
  FNDA:0,(anonymous_3)
1132
1132
  FNDA:0,setTimeoutFramesAsync
1133
1133
  FNDA:0,(anonymous_5)
1134
1134
  FNDA:0,(anonymous_6)
1135
1135
  DA:2,3
1136
- DA:3,9
1137
- DA:6,9
1138
- DA:7,9
1139
- DA:8,9
1140
- DA:9,9
1141
- DA:10,9
1142
- DA:11,9
1143
- DA:16,9
1136
+ DA:3,10
1137
+ DA:6,10
1138
+ DA:7,10
1139
+ DA:8,10
1140
+ DA:9,10
1141
+ DA:10,10
1142
+ DA:11,10
1143
+ DA:16,10
1144
1144
  DA:17,0
1145
1145
  DA:18,0
1146
1146
  DA:19,0
1147
1147
  DA:20,0
1148
1148
  DA:21,0
1149
1149
  DA:24,0
1150
- DA:27,9
1150
+ DA:27,10
1151
1151
  DA:32,3
1152
1152
  DA:33,0
1153
1153
  DA:34,0
@@ -1160,11 +1160,11 @@ DA:44,0
1160
1160
  DA:48,0
1161
1161
  LF:26
1162
1162
  LH:11
1163
- BRDA:2,0,0,9
1164
- BRDA:10,1,0,9
1163
+ BRDA:2,0,0,10
1164
+ BRDA:10,1,0,10
1165
1165
  BRDA:10,1,1,0
1166
1166
  BRDA:16,2,0,0
1167
- BRDA:16,2,1,9
1167
+ BRDA:16,2,1,10
1168
1168
  BRDA:20,3,0,0
1169
1169
  BRDA:20,3,1,0
1170
1170
  BRDA:33,4,0,0
@@ -2945,7 +2945,7 @@ FN:9,createShouldBeEqualTo
2945
2945
  FN:10,(anonymous_1)
2946
2946
  FN:13,throwNotOk
2947
2947
  FN:19,validateObject
2948
- FN:27,(anonymous_4)
2948
+ FN:28,(anonymous_4)
2949
2949
  FNF:5
2950
2950
  FNH:0
2951
2951
  FNDA:0,createShouldBeEqualTo
@@ -2961,19 +2961,19 @@ DA:13,5
2961
2961
  DA:14,0
2962
2962
  DA:15,0
2963
2963
  DA:19,5
2964
- DA:25,0
2965
- DA:27,0
2964
+ DA:26,0
2966
2965
  DA:28,0
2967
2966
  DA:29,0
2968
2967
  DA:30,0
2969
2968
  DA:31,0
2970
- DA:34,0
2969
+ DA:32,0
2971
2970
  DA:35,0
2972
2971
  DA:36,0
2973
- DA:39,0
2972
+ DA:37,0
2974
2973
  DA:40,0
2975
2974
  DA:41,0
2976
- DA:45,0
2975
+ DA:42,0
2976
+ DA:46,0
2977
2977
  LF:21
2978
2978
  LH:5
2979
2979
  BRDA:10,0,0,0
@@ -2982,15 +2982,17 @@ BRDA:13,1,0,0
2982
2982
  BRDA:14,2,0,0
2983
2983
  BRDA:14,2,1,0
2984
2984
  BRDA:22,3,0,0
2985
- BRDA:30,4,0,0
2986
- BRDA:30,4,1,0
2987
- BRDA:35,5,0,0
2988
- BRDA:35,5,1,0
2989
- BRDA:35,6,0,0
2990
- BRDA:35,6,1,0
2985
+ BRDA:31,4,0,0
2986
+ BRDA:31,4,1,0
2987
+ BRDA:36,5,0,0
2988
+ BRDA:36,5,1,0
2989
+ BRDA:36,6,0,0
2990
+ BRDA:36,6,1,0
2991
2991
  BRDA:40,7,0,0
2992
2992
  BRDA:40,7,1,0
2993
- BRF:14
2993
+ BRDA:41,8,0,0
2994
+ BRDA:41,8,1,0
2995
+ BRF:16
2994
2996
  BRH:0
2995
2997
  end_of_record
2996
2998
  TN:
@@ -3246,35 +3248,56 @@ BRH:1
3246
3248
  end_of_record
3247
3249
  TN:
3248
3250
  SF:src/viewModels/LoadingModel.ts
3249
- FN:5,(anonymous_0)
3250
- FN:11,(anonymous_1)
3251
- FNF:2
3252
- FNH:2
3253
- FNDA:3,(anonymous_0)
3254
- FNDA:1,(anonymous_1)
3251
+ FN:4,(anonymous_0)
3252
+ FN:28,(anonymous_1)
3253
+ FN:8,(anonymous_2)
3254
+ FN:10,(anonymous_3)
3255
+ FN:11,(anonymous_4)
3256
+ FN:24,(anonymous_5)
3257
+ FN:36,withLoading
3258
+ FNF:7
3259
+ FNH:6
3260
+ FNDA:2,(anonymous_0)
3261
+ FNDA:0,(anonymous_1)
3262
+ FNDA:12,(anonymous_2)
3263
+ FNDA:5,(anonymous_3)
3264
+ FNDA:4,(anonymous_4)
3265
+ FNDA:4,(anonymous_5)
3266
+ FNDA:4,withLoading
3255
3267
  DA:1,1
3256
- DA:3,1
3257
- DA:5,3
3258
- DA:12,1
3259
- DA:13,0
3260
- DA:14,0
3261
- DA:16,0
3262
- DA:19,1
3263
- DA:21,1
3264
- DA:22,1
3265
- DA:23,1
3266
- DA:25,1
3267
- LF:12
3268
- LH:9
3269
- BRDA:11,0,0,1
3270
- BRDA:12,1,0,0
3271
- BRDA:12,1,1,1
3272
- BRDA:12,2,0,1
3273
- BRDA:12,2,1,0
3274
- BRDA:13,3,0,0
3275
- BRDA:13,3,1,0
3276
- BRF:7
3277
- BRH:3
3268
+ DA:4,1
3269
+ DA:6,2
3270
+ DA:8,12
3271
+ DA:10,5
3272
+ DA:12,4
3273
+ DA:13,2
3274
+ DA:15,2
3275
+ DA:25,4
3276
+ DA:28,2
3277
+ DA:36,1
3278
+ DA:37,4
3279
+ DA:38,2
3280
+ DA:39,1
3281
+ DA:41,1
3282
+ DA:44,2
3283
+ DA:46,2
3284
+ DA:47,2
3285
+ DA:48,2
3286
+ DA:50,2
3287
+ LF:20
3288
+ LH:20
3289
+ BRDA:12,0,0,2
3290
+ BRDA:12,0,1,2
3291
+ BRDA:24,1,0,1
3292
+ BRDA:36,2,0,0
3293
+ BRDA:37,3,0,2
3294
+ BRDA:37,3,1,2
3295
+ BRDA:37,4,0,4
3296
+ BRDA:37,4,1,3
3297
+ BRDA:38,5,0,1
3298
+ BRDA:38,5,1,1
3299
+ BRF:10
3300
+ BRH:9
3278
3301
  end_of_record
3279
3302
  TN:
3280
3303
  SF:src/viewModels/MultiSelectModel.ts
@@ -3481,36 +3504,36 @@ FN:29,(anonymous_6)
3481
3504
  FN:36,(anonymous_7)
3482
3505
  FNF:8
3483
3506
  FNH:6
3484
- FNDA:8,(anonymous_0)
3485
- FNDA:10,(anonymous_1)
3507
+ FNDA:9,(anonymous_0)
3508
+ FNDA:12,(anonymous_1)
3486
3509
  FNDA:0,(anonymous_2)
3487
- FNDA:4,(anonymous_3)
3488
- FNDA:3,(anonymous_4)
3489
- FNDA:13,(anonymous_5)
3490
- FNDA:8,(anonymous_6)
3510
+ FNDA:5,(anonymous_3)
3511
+ FNDA:4,(anonymous_4)
3512
+ FNDA:23,(anonymous_5)
3513
+ FNDA:10,(anonymous_6)
3491
3514
  FNDA:0,(anonymous_7)
3492
3515
  DA:1,3
3493
3516
  DA:9,3
3494
- DA:12,8
3495
- DA:14,8
3496
- DA:17,8
3497
- DA:24,8
3498
- DA:25,8
3499
- DA:28,13
3500
- DA:29,8
3501
- DA:32,8
3502
- DA:33,10
3517
+ DA:12,9
3518
+ DA:14,9
3519
+ DA:17,9
3520
+ DA:24,9
3521
+ DA:25,9
3522
+ DA:28,23
3523
+ DA:29,10
3524
+ DA:32,9
3525
+ DA:33,12
3503
3526
  DA:36,0
3504
- DA:39,8
3527
+ DA:39,9
3505
3528
  DA:40,0
3506
- DA:44,8
3507
- DA:47,8
3529
+ DA:44,9
3530
+ DA:47,9
3508
3531
  DA:50,3
3509
3532
  LF:17
3510
3533
  LH:15
3511
- BRDA:16,0,0,5
3512
- BRDA:44,1,0,4
3513
- BRDA:47,2,0,3
3534
+ BRDA:16,0,0,4
3535
+ BRDA:44,1,0,5
3536
+ BRDA:47,2,0,4
3514
3537
  BRF:3
3515
3538
  BRH:3
3516
3539
  end_of_record
@@ -13,6 +13,8 @@ export declare class KeyStorage {
13
13
  constructor(storage: IStorageSync, key: string);
14
14
  get value(): string;
15
15
  set value(v: string);
16
+ clean(): void;
17
+ getHasValue(): boolean;
16
18
  }
17
19
  export declare class KeyStorageConverted<T> {
18
20
  readonly input: (v: T) => string;
@@ -21,5 +23,7 @@ export declare class KeyStorageConverted<T> {
21
23
  constructor(storage: IStorageSync, key: string, input?: (v: T) => string, output?: (s: string) => T);
22
24
  get value(): T;
23
25
  set value(v: T);
26
+ clean(): void;
27
+ getHasValue(): boolean;
24
28
  }
25
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAE7E,qBAAa,mBAAoB,YAAW,QAAQ;IAEpC,QAAQ,CAAC,UAAU,EAAE,YAAY;gBAAxB,UAAU,EAAE,YAAY;IAE7C,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKnC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB,MAAM,CAAC,GAAG,EAAE,MAAM;CAIrB;AAED,qBAAa,UAAU;IACP,QAAQ,CAAC,OAAO,EAAE,YAAY;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAA3C,OAAO,EAAE,YAAY,EAAW,GAAG,EAAE,MAAM;IAEhE,IAAI,KAAK,IACI,MAAM,CADoC;IACvD,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAyC;CAC/D;AAED,qBAAa,mBAAmB,CAAC,CAAC;IAM1B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC;IANrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAGzC,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,EACF,KAAK,GAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAiC,EAClD,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAA6B;IAKjE,IAAI,KAAK,IAAI,CAAC,CAA6C;IAC3D,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAA0C;CAC3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAE7E,qBAAa,mBAAoB,YAAW,QAAQ;IAEpC,QAAQ,CAAC,UAAU,EAAE,YAAY;gBAAxB,UAAU,EAAE,YAAY;IAE7C,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKnC,QAAQ,CAAC,GAAG,EAAE,MAAM;IAIpB,MAAM,CAAC,GAAG,EAAE,MAAM;CAIrB;AAED,qBAAa,UAAU;IACP,QAAQ,CAAC,OAAO,EAAE,YAAY;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAA3C,OAAO,EAAE,YAAY,EAAW,GAAG,EAAE,MAAM;IAEhE,IAAI,KAAK,IACI,MAAM,CADoC;IACvD,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAyC;IAErD,KAAK;IAIL,WAAW;CAGrB;AAED,qBAAa,mBAAmB,CAAC,CAAC;IAM1B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC;IANrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBAGzC,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,MAAM,EACF,KAAK,GAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAiC,EAClD,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAqC;IAKzE,IAAI,KAAK,IAAI,CAAC,CAA6C;IAC3D,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAA0C;IAEjD,KAAK;IAIL,WAAW;CAGrB"}
@@ -28,10 +28,16 @@ class KeyStorage {
28
28
  }
29
29
  get value() { return this.storage.getValue(this.key); }
30
30
  set value(v) { this.storage.setValue(this.key, v); }
31
+ clean() {
32
+ this.storage.removeValue(this.key);
33
+ }
34
+ getHasValue() {
35
+ return this.storage.hasValue(this.key);
36
+ }
31
37
  }
32
38
  exports.KeyStorage = KeyStorage;
33
39
  class KeyStorageConverted {
34
- constructor(storage, key, input = (v => JSON.stringify(v)), output = (s => JSON.parse(s))) {
40
+ constructor(storage, key, input = (v => JSON.stringify(v)), output = (s => JSON.parse(s || null))) {
35
41
  this.input = input;
36
42
  this.output = output;
37
43
  this._storage = null;
@@ -39,6 +45,12 @@ class KeyStorageConverted {
39
45
  }
40
46
  get value() { return this.output(this._storage.value); }
41
47
  set value(v) { this._storage.value = this.input(v); }
48
+ clean() {
49
+ this._storage.clean();
50
+ }
51
+ getHasValue() {
52
+ return this._storage.getHasValue();
53
+ }
42
54
  }
43
55
  exports.KeyStorageConverted = KeyStorageConverted;
44
56
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/storage/index.ts"],"names":[],"mappings":";;;AAEA,MAAa,mBAAmB;IAE5B,YAAqB,UAAwB;QAAxB,eAAU,GAAV,UAAU,CAAc;IAAI,CAAC;IAElD,QAAQ,CAAC,GAAW;QAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAa;QAC/B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,GAAW;QAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,GAAW;QACd,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ;AArBD,kDAqBC;AAED,MAAa,UAAU;IACnB,YAAqB,OAAqB,EAAW,GAAW;QAA3C,YAAO,GAAP,OAAO,CAAc;QAAW,QAAG,GAAH,GAAG,CAAQ;IAAI,CAAC;IAErE,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,CAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/D;AALD,gCAKC;AAED,MAAa,mBAAmB;IAG5B,YACI,OAAqB,EACrB,GAAW,EACF,QAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAClD,SAA2B,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAM,CAAC;QADpD,UAAK,GAAL,KAAK,CAA6C;QAClD,WAAM,GAAN,MAAM,CAA8C;QANhD,aAAQ,GAAe,IAAI,CAAC;QAQzC,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,KAAK,KAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,CAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3D;AAdD,kDAcC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/storage/index.ts"],"names":[],"mappings":";;;AAEA,MAAa,mBAAmB;IAE5B,YAAqB,UAAwB;QAAxB,eAAU,GAAV,UAAU,CAAc;IAAI,CAAC;IAElD,QAAQ,CAAC,GAAW;QAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAa;QAC/B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,GAAW;QAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,GAAW;QACd,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ;AArBD,kDAqBC;AAED,MAAa,UAAU;IACnB,YAAqB,OAAqB,EAAW,GAAW;QAA3C,YAAO,GAAP,OAAO,CAAc;QAAW,QAAG,GAAH,GAAG,CAAQ;IAAI,CAAC;IAErE,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,CAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,KAAK;QACR,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;CACJ;AAbD,gCAaC;AAED,MAAa,mBAAmB;IAG5B,YACI,OAAqB,EACrB,GAAW,EACF,QAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAClD,SAA2B,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAM,CAAC;QAD5D,UAAK,GAAL,KAAK,CAA6C;QAClD,WAAM,GAAN,MAAM,CAAsD;QANxD,aAAQ,GAAe,IAAI,CAAC;QAQzC,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,KAAK,KAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,CAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,KAAK;QACR,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;CACJ;AAtBD,kDAsBC"}
@@ -2,5 +2,5 @@ import { ValidationErrors } from './ValidationErrors';
2
2
  import { ValidationConfig, ValidationResults, ValidatorFunction } from './types';
3
3
  export declare function createShouldBeEqualTo<T = string>(getter: () => T): ValidatorFunction<T>;
4
4
  export declare function throwNotOk(result: ValidationErrors, message?: string): void;
5
- export declare function validateObject<T, TErrors = ValidationErrors>(obj: T, validators: ValidationConfig<T, TErrors>, onlyTruethy?: boolean): ValidationResults<T, TErrors>;
5
+ export declare function validateObject<T, TErrors = ValidationErrors>(obj: T, validators: ValidationConfig<T, TErrors>, onlyTruethy?: boolean, context?: T): ValidationResults<T, TErrors>;
6
6
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/validation/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACH,gBAAgB,EAEhB,iBAAiB,EACjB,iBAAiB,EACpB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,qBAAqB,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAEvF;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,SAAqB,QAIhF;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,EACxD,GAAG,EAAE,CAAC,EACN,UAAU,EAAE,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,EACxC,WAAW,UAAQ,GACpB,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,CAuB/B"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/validation/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACH,gBAAgB,EAEhB,iBAAiB,EACjB,iBAAiB,EACpB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,qBAAqB,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAEvF;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,SAAqB,QAIhF;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,EACxD,GAAG,EAAE,CAAC,EACN,UAAU,EAAE,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,EACxC,WAAW,UAAQ,EACnB,OAAO,CAAC,EAAE,CAAC,GACZ,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,CAuB/B"}
@@ -13,7 +13,7 @@ function throwNotOk(result, message = 'Validation error') {
13
13
  }
14
14
  }
15
15
  exports.throwNotOk = throwNotOk;
16
- function validateObject(obj, validators, onlyTruethy = false) {
16
+ function validateObject(obj, validators, onlyTruethy = false, context) {
17
17
  const res = {};
18
18
  Object.keys(obj).forEach(k => {
19
19
  const kk = k;
@@ -25,7 +25,7 @@ function validateObject(obj, validators, onlyTruethy = false) {
25
25
  if (onlyTruethy && !v) {
26
26
  return;
27
27
  }
28
- const err = validator(v, obj);
28
+ const err = validator(v, context || obj);
29
29
  if (err) {
30
30
  res[kk] = err;
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/validation/helpers.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,mCAKiB;AAEjB,SAAgB,qBAAqB,CAAa,MAAe;IAC7D,OAAO,CAAC,GAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,mCAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAgB,CAAC,eAAe,CAAC;AACnG,CAAC;AAFD,sDAEC;AAED,SAAgB,UAAU,CAAC,MAAwB,EAAE,OAAO,GAAG,kBAAkB;IAC7E,IAAI,MAAM,EAAE;QACR,MAAM,IAAI,uBAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAC9C;AACL,CAAC;AAJD,gCAIC;AAED,SAAgB,cAAc,CAC1B,GAAM,EACN,UAAwC,EACxC,WAAW,GAAG,KAAK;IAGnB,MAAM,GAAG,GAAkC,EAAG,CAAC;IAE/C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACzB,MAAM,EAAE,GAAG,CAAY,CAAC;QACxB,MAAM,SAAS,GAAgD,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO;SACV;QAED,MAAM,CAAC,GAAG,GAAG,CAAC,CAAY,CAAC,CAAC;QAC5B,IAAI,WAAW,IAAI,CAAC,CAAC,EAAE;YACnB,OAAO;SACV;QAED,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9B,IAAI,GAAG,EAAE;YACL,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;SACjB;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACf,CAAC;AA3BD,wCA2BC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/validation/helpers.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,mCAKiB;AAEjB,SAAgB,qBAAqB,CAAa,MAAe;IAC7D,OAAO,CAAC,GAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,mCAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAgB,CAAC,eAAe,CAAC;AACnG,CAAC;AAFD,sDAEC;AAED,SAAgB,UAAU,CAAC,MAAwB,EAAE,OAAO,GAAG,kBAAkB;IAC7E,IAAI,MAAM,EAAE;QACR,MAAM,IAAI,uBAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAC9C;AACL,CAAC;AAJD,gCAIC;AAED,SAAgB,cAAc,CAC1B,GAAM,EACN,UAAwC,EACxC,WAAW,GAAG,KAAK,EACnB,OAAW;IAGX,MAAM,GAAG,GAAkC,EAAG,CAAC;IAE/C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACzB,MAAM,EAAE,GAAG,CAAY,CAAC;QACxB,MAAM,SAAS,GAAgD,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO;SACV;QAED,MAAM,CAAC,GAAG,GAAG,CAAC,CAAY,CAAC,CAAC;QAC5B,IAAI,WAAW,IAAI,CAAC,CAAC,EAAE;YACnB,OAAO;SACV;QAED,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;QACzC,IAAI,GAAG,EAAE;YACL,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;SACjB;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACf,CAAC;AA5BD,wCA4BC"}
@@ -1,8 +1,17 @@
1
- import { NumberModel } from './NumberModel';
2
- export declare class LoadingModel extends NumberModel {
1
+ import { IResetableModel, IValueModel } from './types';
2
+ export declare class LoadingModel implements IValueModel<boolean>, IResetableModel {
3
+ private readonly _number;
3
4
  get isLoading(): boolean;
5
+ get value(): boolean;
6
+ set value(v: boolean);
4
7
  useLoading<T>(cb: () => (T | Promise<T>)): Promise<T>;
5
8
  useLoading<T>(cb: () => (T | Promise<T>), exclusive: false): Promise<T>;
6
- useLoading<T>(cb: () => (T | Promise<T>), exclusive: true | 'throw'): Promise<T | false>;
9
+ useLoading<T>(cb: () => (T | Promise<T>), exclusive: true): Promise<T | false>;
10
+ useLoading<T>(cb: () => (T | Promise<T>), exclusive: 'throw'): Promise<T>;
11
+ reset: () => void;
7
12
  }
13
+ export declare function withLoading<T>(model: IValueModel<boolean>, cb: () => (T | Promise<T>)): Promise<T>;
14
+ export declare function withLoading<T>(model: IValueModel<boolean>, cb: () => (T | Promise<T>), exclusive: false): Promise<T>;
15
+ export declare function withLoading<T>(model: IValueModel<boolean>, cb: () => (T | Promise<T>), exclusive: true): Promise<T | false>;
16
+ export declare function withLoading<T>(model: IValueModel<boolean>, cb: () => (T | Promise<T>), exclusive: 'throw'): Promise<T>;
8
17
  //# sourceMappingURL=LoadingModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/LoadingModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,YAAa,SAAQ,WAAW;IAEzC,IAAW,SAAS,YAA6B;IAEpC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IACrD,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC;IACvE,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC;CAmBxG"}
1
+ {"version":3,"file":"LoadingModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/LoadingModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEvD,qBAAa,YAAa,YAAW,WAAW,CAAC,OAAO,CAAC,EAAE,eAAe;IAEtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAE9C,IAAW,SAAS,YAAqC;IAEzD,IAAW,KAAK,IAAI,OAAO,CAA2B;IACtD,IAAW,KAAK,CAAC,CAAC,EAAE,OAAO,EAM1B;IAEY,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IACrD,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC;IACvE,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC;IAC9E,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAM/E,KAAK,aAA8B;CAC7C;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACpG,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACtH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AAC7H,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC"}
@@ -1,25 +1,42 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LoadingModel = void 0;
3
+ exports.withLoading = exports.LoadingModel = void 0;
4
4
  const NumberModel_1 = require("./NumberModel");
5
- class LoadingModel extends NumberModel_1.NumberModel {
6
- get isLoading() { return this.value > 0; }
7
- async useLoading(cb, exclusive = false) {
8
- if (exclusive && this.isLoading) {
9
- if (exclusive === 'throw') {
10
- throw new Error('Operation cannot be started because another one is in progress already.');
11
- }
12
- return false;
13
- }
14
- this.increment();
15
- try {
16
- const res = await cb();
17
- return res;
5
+ class LoadingModel {
6
+ constructor() {
7
+ this._number = new NumberModel_1.NumberModel(0);
8
+ this.reset = () => this._number.reset();
9
+ }
10
+ get isLoading() { return this._number.value > 0; }
11
+ get value() { return this.isLoading; }
12
+ set value(v) {
13
+ if (v) {
14
+ this._number.increment();
18
15
  }
19
- finally {
20
- this.decrement();
16
+ else {
17
+ this._number.decrement();
21
18
  }
22
19
  }
20
+ useLoading(cb, exclusive = false) {
21
+ return withLoading(this, cb, exclusive);
22
+ }
23
23
  }
24
24
  exports.LoadingModel = LoadingModel;
25
+ async function withLoading(model, cb, exclusive = false) {
26
+ if (exclusive && model.value) {
27
+ if (exclusive === 'throw') {
28
+ throw new Error('Operation cannot be started because another one is in progress already.');
29
+ }
30
+ return false;
31
+ }
32
+ model.value = true;
33
+ try {
34
+ const res = await cb();
35
+ return res;
36
+ }
37
+ finally {
38
+ model.value = false;
39
+ }
40
+ }
41
+ exports.withLoading = withLoading;
25
42
  //# sourceMappingURL=LoadingModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingModel.js","sourceRoot":"","sources":["../../src/viewModels/LoadingModel.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,MAAa,YAAa,SAAQ,yBAAW;IAEzC,IAAW,SAAS,KAAK,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAM1C,KAAK,CAAC,UAAU,CAAI,EAA0B,EAAE,YAA+B,KAAK;QACvF,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE;YAC7B,IAAI,SAAS,KAAK,OAAO,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;aAC9F;YACD,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI;YACA,MAAM,GAAG,GAAG,MAAM,EAAE,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC;SACd;gBAAS;YACN,IAAI,CAAC,SAAS,EAAE,CAAC;SACpB;IACL,CAAC;CACJ;AAzBD,oCAyBC"}
1
+ {"version":3,"file":"LoadingModel.js","sourceRoot":"","sources":["../../src/viewModels/LoadingModel.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAG5C,MAAa,YAAY;IAAzB;QAEqB,YAAO,GAAG,IAAI,yBAAW,CAAC,CAAC,CAAC,CAAC;QAsBvC,UAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9C,CAAC;IArBG,IAAW,SAAS,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAEzD,IAAW,KAAK,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACtD,IAAW,KAAK,CAAC,CAAU;QACvB,IAAI,CAAC,EAAE;YACH,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;SAC5B;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;SAC5B;IACL,CAAC;IAOM,UAAU,CAAI,EAA0B,EAAE,YAA+B,KAAK;QACjF,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,SAAgB,CAAC,CAAC;IACnD,CAAC;CAGJ;AAzBD,oCAyBC;AAOM,KAAK,UAAU,WAAW,CAAgB,KAA2B,EAAE,EAA0B,EAAE,YAA+B,KAAK;IAC1I,IAAI,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE;QAC1B,IAAI,SAAS,KAAK,OAAO,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;SAC9F;QACD,OAAO,KAAK,CAAC;KAChB;IAED,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IAEnB,IAAI;QACA,MAAM,GAAG,GAAG,MAAM,EAAE,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC;KACd;YAAS;QACN,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;KACvB;AACL,CAAC;AAhBD,kCAgBC"}
@@ -1,4 +1,7 @@
1
- export interface IValueModel<TValue> {
1
+ export interface IValueModelReadonly<TValue> {
2
+ readonly value: TValue;
3
+ }
4
+ export interface IValueModel<TValue> extends IValueModelReadonly<TValue> {
2
5
  value: TValue;
3
6
  }
4
7
  export interface ILabel<T> {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/viewModels/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,WAAW,CAAC,MAAM;IAC/B,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,MAAM,CAAC,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC7B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/viewModels/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,mBAAmB,CAAC,MAAM;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW,CAAC,MAAM,CAAE,SAAQ,mBAAmB,CAAC,MAAM,CAAC;IACpE,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,MAAM,CAAC,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC7B"}