@zajno/common 1.3.0-beta → 1.3.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.
- package/.github/workflows/CI.yml +8 -0
- package/coverage/clover.xml +428 -360
- package/coverage/coverage-final.json +20 -19
- package/coverage/lcov-report/index.html +44 -44
- package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
- package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +2 -2
- package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
- package/coverage/lcov-report/src/async/index.html +1 -1
- package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
- package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
- package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
- package/coverage/lcov-report/src/dates/format.ts.html +1 -1
- package/coverage/lcov-report/src/dates/index.html +1 -1
- package/coverage/lcov-report/src/dates/index.ts.html +1 -1
- package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
- package/coverage/lcov-report/src/dates/period.ts.html +1 -1
- package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
- package/coverage/lcov-report/src/dates/types.ts.html +1 -1
- package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
- package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
- package/coverage/lcov-report/src/event.ts.html +3 -3
- package/coverage/lcov-report/src/index.html +21 -21
- package/coverage/lcov-report/src/lazy.light.ts.html +3 -3
- package/coverage/lcov-report/src/logger/batch.ts.html +107 -0
- package/coverage/lcov-report/src/logger/console.ts.html +10 -25
- package/coverage/lcov-report/src/logger/index.html +54 -39
- package/coverage/lcov-report/src/logger/index.ts.html +88 -61
- package/coverage/lcov-report/src/logger/named.ts.html +31 -31
- package/coverage/lcov-report/src/logger/proxy.ts.html +13 -13
- package/coverage/lcov-report/src/math/arrays.ts.html +293 -32
- package/coverage/lcov-report/src/math/calc.ts.html +11 -11
- package/coverage/lcov-report/src/math/distribution.ts.html +2 -2
- package/coverage/lcov-report/src/math/index.html +11 -11
- package/coverage/lcov-report/src/math/index.ts.html +6 -6
- package/coverage/lcov-report/src/transitionObserver.ts.html +5 -5
- package/coverage/lcov-report/src/types.ts.html +33 -18
- package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
- package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
- package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
- package/coverage/lcov-report/src/validation/index.html +1 -1
- package/coverage/lcov-report/src/validation/index.ts.html +1 -1
- package/coverage/lcov-report/src/validation/types.ts.html +1 -1
- package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
- package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +21 -18
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +136 -94
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +19 -10
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +19 -10
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +12 -12
- package/coverage/lcov-report/src/viewModels/index.html +45 -45
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +3 -15
- package/coverage/lcov.info +871 -720
- package/lib/event.d.ts.map +1 -1
- package/lib/event.js +1 -1
- package/lib/event.js.map +1 -1
- package/lib/logger/batch.d.ts +3 -0
- package/lib/logger/batch.d.ts.map +1 -0
- package/lib/logger/batch.js +12 -0
- package/lib/logger/batch.js.map +1 -0
- package/lib/logger/console.d.ts +0 -1
- package/lib/logger/console.d.ts.map +1 -1
- package/lib/logger/console.js +0 -3
- package/lib/logger/console.js.map +1 -1
- package/lib/logger/file.d.ts +15 -0
- package/lib/logger/file.d.ts.map +1 -0
- package/lib/logger/file.js +43 -0
- package/lib/logger/file.js.map +1 -0
- package/lib/logger/index.d.ts +7 -6
- package/lib/logger/index.d.ts.map +1 -1
- package/lib/logger/index.js +34 -21
- package/lib/logger/index.js.map +1 -1
- package/lib/logger/named.js +3 -3
- package/lib/logger/named.js.map +1 -1
- package/lib/logger/proxy.d.ts +1 -1
- package/lib/logger/proxy.d.ts.map +1 -1
- package/lib/logger/proxy.js +2 -2
- package/lib/logger/proxy.js.map +1 -1
- package/lib/math/arrays.d.ts +16 -0
- package/lib/math/arrays.d.ts.map +1 -1
- package/lib/math/arrays.js +77 -1
- package/lib/math/arrays.js.map +1 -1
- package/lib/transitionObserver.d.ts.map +1 -1
- package/lib/transitionObserver.js +2 -2
- package/lib/transitionObserver.js.map +1 -1
- package/lib/types.d.ts +4 -0
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +6 -2
- package/lib/types.js.map +1 -1
- package/lib/viewModels/FlagModel.d.ts +4 -4
- package/lib/viewModels/FlagModel.d.ts.map +1 -1
- package/lib/viewModels/FlagModel.js +1 -0
- package/lib/viewModels/FlagModel.js.map +1 -1
- package/lib/viewModels/MultiSelectModel.d.ts +9 -3
- package/lib/viewModels/MultiSelectModel.d.ts.map +1 -1
- package/lib/viewModels/MultiSelectModel.js +16 -2
- package/lib/viewModels/MultiSelectModel.js.map +1 -1
- package/lib/viewModels/NumberModel.d.ts +4 -2
- package/lib/viewModels/NumberModel.d.ts.map +1 -1
- package/lib/viewModels/NumberModel.js +1 -0
- package/lib/viewModels/NumberModel.js.map +1 -1
- package/lib/viewModels/{PromptModalViewModel.d.ts → PromptModal.d.ts} +1 -1
- package/lib/viewModels/PromptModal.d.ts.map +1 -0
- package/lib/viewModels/{PromptModalViewModel.js → PromptModal.js} +1 -1
- package/lib/viewModels/PromptModal.js.map +1 -0
- package/lib/viewModels/SelectModel.d.ts +4 -2
- package/lib/viewModels/SelectModel.d.ts.map +1 -1
- package/lib/viewModels/SelectModel.js +1 -0
- package/lib/viewModels/SelectModel.js.map +1 -1
- package/lib/viewModels/TextModel.d.ts +4 -3
- package/lib/viewModels/TextModel.d.ts.map +1 -1
- package/lib/viewModels/TextModel.js +5 -11
- package/lib/viewModels/TextModel.js.map +1 -1
- package/lib/viewModels/ValuesCollector.d.ts +1 -3
- package/lib/viewModels/ValuesCollector.d.ts.map +1 -1
- package/lib/viewModels/ValuesCollector.js.map +1 -1
- package/lib/viewModels/index.d.ts +2 -1
- package/lib/viewModels/index.d.ts.map +1 -1
- package/lib/viewModels/index.js +2 -1
- package/lib/viewModels/index.js.map +1 -1
- package/lib/viewModels/types.d.ts +16 -0
- package/lib/viewModels/types.d.ts.map +1 -0
- package/lib/viewModels/types.js +3 -0
- package/lib/viewModels/types.js.map +1 -0
- package/lib/viewModels/wrappers.d.ts +1 -4
- package/lib/viewModels/wrappers.d.ts.map +1 -1
- package/lib/viewModels/wrappers.js.map +1 -1
- package/package.json +1 -1
- package/src/event.ts +2 -2
- package/src/logger/__tests__/{index.test.ts → logger.test.ts} +97 -41
- package/src/logger/batch.ts +9 -0
- package/src/logger/console.ts +0 -5
- package/src/logger/file.ts +46 -0
- package/src/logger/index.ts +37 -28
- package/src/logger/named.ts +3 -3
- package/src/logger/proxy.ts +2 -2
- package/src/math/__tests__/arrays.test.ts +53 -0
- package/src/math/arrays.ts +87 -0
- package/src/transitionObserver.ts +2 -2
- package/src/types.ts +6 -1
- package/src/viewModels/FlagModel.ts +5 -4
- package/src/viewModels/MultiSelectModel.ts +19 -5
- package/src/viewModels/NumberModel.ts +5 -2
- package/src/viewModels/{PromptModalViewModel.ts → PromptModal.ts} +0 -0
- package/src/viewModels/SelectModel.ts +5 -2
- package/src/viewModels/TextModel.ts +6 -6
- package/src/viewModels/ValuesCollector.ts +1 -4
- package/src/viewModels/__tests__/multiSelect.test.ts +127 -12
- package/src/viewModels/index.ts +2 -1
- package/src/viewModels/types.ts +19 -0
- package/src/viewModels/wrappers.ts +1 -5
- package/lib/viewModels/PromptModalViewModel.d.ts.map +0 -1
- package/lib/viewModels/PromptModalViewModel.js.map +0 -1
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">77.67% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>80/103</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">43.75% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>7/16</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">66.67% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>28/42</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">77.11% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>64/83</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
|
|
58
|
+
<div class='status-line medium'></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>
|
|
@@ -207,7 +207,21 @@
|
|
|
207
207
|
<a name='L148'></a><a href='#L148'>148</a>
|
|
208
208
|
<a name='L149'></a><a href='#L149'>149</a>
|
|
209
209
|
<a name='L150'></a><a href='#L150'>150</a>
|
|
210
|
-
<a name='L151'></a><a href='#L151'>151</a
|
|
210
|
+
<a name='L151'></a><a href='#L151'>151</a>
|
|
211
|
+
<a name='L152'></a><a href='#L152'>152</a>
|
|
212
|
+
<a name='L153'></a><a href='#L153'>153</a>
|
|
213
|
+
<a name='L154'></a><a href='#L154'>154</a>
|
|
214
|
+
<a name='L155'></a><a href='#L155'>155</a>
|
|
215
|
+
<a name='L156'></a><a href='#L156'>156</a>
|
|
216
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
217
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
218
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
219
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
220
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
221
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
222
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
223
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
224
|
+
<a name='L165'></a><a href='#L165'>165</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
211
225
|
<span class="cline-any cline-yes">1x</span>
|
|
212
226
|
<span class="cline-any cline-yes">1x</span>
|
|
213
227
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -216,103 +230,110 @@
|
|
|
216
230
|
<span class="cline-any cline-neutral"> </span>
|
|
217
231
|
<span class="cline-any cline-yes">1x</span>
|
|
218
232
|
<span class="cline-any cline-neutral"> </span>
|
|
233
|
+
<span class="cline-any cline-yes">1x</span>
|
|
219
234
|
<span class="cline-any cline-neutral"> </span>
|
|
220
|
-
<span class="cline-any cline-yes">3x</span>
|
|
221
235
|
<span class="cline-any cline-neutral"> </span>
|
|
222
|
-
<span class="cline-any cline-yes">
|
|
223
|
-
<span class="cline-any cline-yes">3x</span>
|
|
236
|
+
<span class="cline-any cline-yes">6x</span>
|
|
224
237
|
<span class="cline-any cline-neutral"> </span>
|
|
225
|
-
<span class="cline-any cline-yes">
|
|
226
|
-
<span class="cline-any cline-yes">
|
|
238
|
+
<span class="cline-any cline-yes">6x</span>
|
|
239
|
+
<span class="cline-any cline-yes">6x</span>
|
|
227
240
|
<span class="cline-any cline-neutral"> </span>
|
|
241
|
+
<span class="cline-any cline-yes">6x</span>
|
|
242
|
+
<span class="cline-any cline-yes">6x</span>
|
|
228
243
|
<span class="cline-any cline-neutral"> </span>
|
|
229
|
-
<span class="cline-any cline-yes">3x</span>
|
|
230
|
-
<span class="cline-any cline-yes">3x</span>
|
|
231
244
|
<span class="cline-any cline-neutral"> </span>
|
|
245
|
+
<span class="cline-any cline-yes">6x</span>
|
|
246
|
+
<span class="cline-any cline-yes">6x</span>
|
|
232
247
|
<span class="cline-any cline-neutral"> </span>
|
|
233
|
-
<span class="cline-any cline-yes">3x</span>
|
|
234
|
-
<span class="cline-any cline-yes">3x</span>
|
|
235
|
-
<span class="cline-any cline-yes">3x</span>
|
|
236
|
-
<span class="cline-any cline-yes">3x</span>
|
|
237
248
|
<span class="cline-any cline-neutral"> </span>
|
|
249
|
+
<span class="cline-any cline-yes">6x</span>
|
|
250
|
+
<span class="cline-any cline-yes">6x</span>
|
|
251
|
+
<span class="cline-any cline-yes">6x</span>
|
|
252
|
+
<span class="cline-any cline-yes">6x</span>
|
|
238
253
|
<span class="cline-any cline-neutral"> </span>
|
|
239
254
|
<span class="cline-any cline-neutral"> </span>
|
|
240
|
-
<span class="cline-any cline-yes">1x</span>
|
|
241
255
|
<span class="cline-any cline-neutral"> </span>
|
|
242
|
-
<span class="cline-any cline-yes">
|
|
256
|
+
<span class="cline-any cline-yes">25x</span>
|
|
257
|
+
<span class="cline-any cline-neutral"> </span>
|
|
258
|
+
<span class="cline-any cline-yes">7x</span>
|
|
243
259
|
<span class="cline-any cline-neutral"> </span>
|
|
244
260
|
<span class="cline-any cline-no"> </span>
|
|
245
261
|
<span class="cline-any cline-neutral"> </span>
|
|
246
262
|
<span class="cline-any cline-neutral"> </span>
|
|
247
263
|
<span class="cline-any cline-yes">1x</span>
|
|
248
|
-
<span class="cline-any cline-yes">
|
|
264
|
+
<span class="cline-any cline-yes">49x</span>
|
|
249
265
|
<span class="cline-any cline-neutral"> </span>
|
|
250
266
|
<span class="cline-any cline-neutral"> </span>
|
|
251
267
|
<span class="cline-any cline-neutral"> </span>
|
|
252
268
|
<span class="cline-any cline-yes">1x</span>
|
|
253
|
-
<span class="cline-any cline-
|
|
269
|
+
<span class="cline-any cline-yes">9x</span>
|
|
254
270
|
<span class="cline-any cline-neutral"> </span>
|
|
255
271
|
<span class="cline-any cline-neutral"> </span>
|
|
256
272
|
<span class="cline-any cline-neutral"> </span>
|
|
257
273
|
<span class="cline-any cline-yes">1x</span>
|
|
258
|
-
<span class="cline-any cline-
|
|
259
|
-
<span class="cline-any cline-
|
|
274
|
+
<span class="cline-any cline-yes">21x</span>
|
|
275
|
+
<span class="cline-any cline-yes">21x</span>
|
|
260
276
|
<span class="cline-any cline-neutral"> </span>
|
|
261
277
|
<span class="cline-any cline-neutral"> </span>
|
|
262
278
|
<span class="cline-any cline-no"> </span>
|
|
263
279
|
<span class="cline-any cline-no"> </span>
|
|
264
280
|
<span class="cline-any cline-neutral"> </span>
|
|
265
|
-
<span class="cline-any cline-yes">
|
|
266
|
-
<span class="cline-any cline-
|
|
281
|
+
<span class="cline-any cline-yes">11x</span>
|
|
282
|
+
<span class="cline-any cline-yes">18x</span>
|
|
267
283
|
<span class="cline-any cline-neutral"> </span>
|
|
284
|
+
<span class="cline-any cline-yes">4x</span>
|
|
285
|
+
<span class="cline-any cline-yes">4x</span>
|
|
268
286
|
<span class="cline-any cline-no"> </span>
|
|
269
287
|
<span class="cline-any cline-neutral"> </span>
|
|
270
|
-
<span class="cline-any cline-no"> </span>
|
|
271
288
|
<span class="cline-any cline-neutral"> </span>
|
|
272
|
-
<span class="cline-any cline-yes">
|
|
273
|
-
<span class="cline-any cline-
|
|
274
|
-
<span class="cline-any cline-no"> </span>
|
|
289
|
+
<span class="cline-any cline-yes">1x</span>
|
|
290
|
+
<span class="cline-any cline-neutral"> </span>
|
|
275
291
|
<span class="cline-any cline-no"> </span>
|
|
276
292
|
<span class="cline-any cline-neutral"> </span>
|
|
293
|
+
<span class="cline-any cline-yes">6x</span>
|
|
294
|
+
<span class="cline-any cline-yes">4x</span>
|
|
295
|
+
<span class="cline-any cline-yes">4x</span>
|
|
296
|
+
<span class="cline-any cline-yes">4x</span>
|
|
277
297
|
<span class="cline-any cline-neutral"> </span>
|
|
278
298
|
<span class="cline-any cline-neutral"> </span>
|
|
279
|
-
<span class="cline-any cline-yes">3x</span>
|
|
280
|
-
<span class="cline-any cline-yes">3x</span>
|
|
281
299
|
<span class="cline-any cline-neutral"> </span>
|
|
300
|
+
<span class="cline-any cline-yes">6x</span>
|
|
301
|
+
<span class="cline-any cline-yes">6x</span>
|
|
282
302
|
<span class="cline-any cline-neutral"> </span>
|
|
283
|
-
<span class="cline-any cline-yes">3x</span>
|
|
284
|
-
<span class="cline-any cline-no"> </span>
|
|
285
303
|
<span class="cline-any cline-neutral"> </span>
|
|
304
|
+
<span class="cline-any cline-yes">6x</span>
|
|
305
|
+
<span class="cline-any cline-yes">1x</span>
|
|
286
306
|
<span class="cline-any cline-neutral"> </span>
|
|
287
|
-
<span class="cline-any cline-yes">3x</span>
|
|
288
|
-
<span class="cline-any cline-no"> </span>
|
|
289
|
-
<span class="cline-any cline-no"> </span>
|
|
290
|
-
<span class="cline-any cline-no"> </span>
|
|
291
307
|
<span class="cline-any cline-neutral"> </span>
|
|
308
|
+
<span class="cline-any cline-yes">6x</span>
|
|
309
|
+
<span class="cline-any cline-yes">2x</span>
|
|
310
|
+
<span class="cline-any cline-yes">2x</span>
|
|
311
|
+
<span class="cline-any cline-yes">2x</span>
|
|
292
312
|
<span class="cline-any cline-neutral"> </span>
|
|
293
313
|
<span class="cline-any cline-neutral"> </span>
|
|
294
|
-
<span class="cline-any cline-yes">3x</span>
|
|
295
|
-
<span class="cline-any cline-yes">3x</span>
|
|
296
314
|
<span class="cline-any cline-neutral"> </span>
|
|
315
|
+
<span class="cline-any cline-yes">6x</span>
|
|
316
|
+
<span class="cline-any cline-yes">6x</span>
|
|
297
317
|
<span class="cline-any cline-neutral"> </span>
|
|
298
|
-
<span class="cline-any cline-
|
|
318
|
+
<span class="cline-any cline-neutral"> </span>
|
|
319
|
+
<span class="cline-any cline-yes">6x</span>
|
|
299
320
|
<span class="cline-any cline-no"> </span>
|
|
300
321
|
<span class="cline-any cline-neutral"> </span>
|
|
301
322
|
<span class="cline-any cline-neutral"> </span>
|
|
302
323
|
<span class="cline-any cline-neutral"> </span>
|
|
303
|
-
<span class="cline-any cline-yes">
|
|
304
|
-
<span class="cline-any cline-
|
|
324
|
+
<span class="cline-any cline-yes">6x</span>
|
|
325
|
+
<span class="cline-any cline-yes">8x</span>
|
|
305
326
|
<span class="cline-any cline-no"> </span>
|
|
306
327
|
<span class="cline-any cline-neutral"> </span>
|
|
307
328
|
<span class="cline-any cline-neutral"> </span>
|
|
308
|
-
<span class="cline-any cline-
|
|
309
|
-
<span class="cline-any cline-
|
|
329
|
+
<span class="cline-any cline-yes">8x</span>
|
|
330
|
+
<span class="cline-any cline-yes">5x</span>
|
|
310
331
|
<span class="cline-any cline-neutral"> </span>
|
|
311
|
-
<span class="cline-any cline-
|
|
332
|
+
<span class="cline-any cline-yes">3x</span>
|
|
312
333
|
<span class="cline-any cline-neutral"> </span>
|
|
313
334
|
<span class="cline-any cline-neutral"> </span>
|
|
314
|
-
<span class="cline-any cline-
|
|
315
|
-
<span class="cline-any cline-
|
|
335
|
+
<span class="cline-any cline-yes">8x</span>
|
|
336
|
+
<span class="cline-any cline-yes">8x</span>
|
|
316
337
|
<span class="cline-any cline-neutral"> </span>
|
|
317
338
|
<span class="cline-any cline-neutral"> </span>
|
|
318
339
|
<span class="cline-any cline-no"> </span>
|
|
@@ -323,14 +344,21 @@
|
|
|
323
344
|
<span class="cline-any cline-neutral"> </span>
|
|
324
345
|
<span class="cline-any cline-neutral"> </span>
|
|
325
346
|
<span class="cline-any cline-neutral"> </span>
|
|
326
|
-
<span class="cline-any cline-yes">
|
|
327
|
-
<span class="cline-any cline-
|
|
328
|
-
<span class="cline-any cline-no"> </span>
|
|
347
|
+
<span class="cline-any cline-yes">6x</span>
|
|
348
|
+
<span class="cline-any cline-yes">6x</span>
|
|
329
349
|
<span class="cline-any cline-neutral"> </span>
|
|
350
|
+
<span class="cline-any cline-yes">6x</span>
|
|
351
|
+
<span class="cline-any cline-yes">1x</span>
|
|
352
|
+
<span class="cline-any cline-yes">1x</span>
|
|
330
353
|
<span class="cline-any cline-neutral"> </span>
|
|
331
354
|
<span class="cline-any cline-neutral"> </span>
|
|
332
|
-
<span class="cline-any cline-
|
|
333
|
-
<span class="cline-any cline-yes">
|
|
355
|
+
<span class="cline-any cline-neutral"> </span>
|
|
356
|
+
<span class="cline-any cline-yes">7x</span>
|
|
357
|
+
<span class="cline-any cline-yes">7x</span>
|
|
358
|
+
<span class="cline-any cline-neutral"> </span>
|
|
359
|
+
<span class="cline-any cline-yes">7x</span>
|
|
360
|
+
<span class="cline-any cline-no"> </span>
|
|
361
|
+
<span class="cline-any cline-neutral"> </span>
|
|
334
362
|
<span class="cline-any cline-neutral"> </span>
|
|
335
363
|
<span class="cline-any cline-neutral"> </span>
|
|
336
364
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -354,20 +382,22 @@
|
|
|
354
382
|
<span class="cline-any cline-yes">1x</span>
|
|
355
383
|
<span class="cline-any cline-neutral"> </span>
|
|
356
384
|
<span class="cline-any cline-neutral"> </span>
|
|
357
|
-
<span class="cline-any cline-
|
|
385
|
+
<span class="cline-any cline-yes">3x</span>
|
|
358
386
|
<span class="cline-any cline-neutral"> </span>
|
|
359
387
|
<span class="cline-any cline-neutral"> </span>
|
|
360
388
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { createLazy } from '../lazy.light';
|
|
361
389
|
import { action, computed, makeObservable, observable, reaction } from 'mobx';
|
|
362
390
|
import { FlagModel, ILabeledFlagModel } from './FlagModel';
|
|
363
391
|
import { ValidatableModel } from './Validatable';
|
|
364
|
-
import { IValueModel } from './
|
|
392
|
+
import { IValueModel } from './types';
|
|
365
393
|
import { withLabel } from './wrappers';
|
|
394
|
+
import { ICountableModel, IResetableModel } from 'viewModels';
|
|
395
|
+
import { arraysCompareDistinct } from '../math';
|
|
366
396
|
|
|
367
|
-
export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArray<T>> implements IValueModel<readonly string[]>
|
|
397
|
+
export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArray<T>> implements IValueModel<readonly string[]>, IResetableModel, ICountableModel {
|
|
368
398
|
|
|
369
399
|
@observable
|
|
370
|
-
private _indexes = new Set<number>();
|
|
400
|
+
private readonly _indexes = new Set<number>();
|
|
371
401
|
|
|
372
402
|
public readonly opened = new FlagModel();
|
|
373
403
|
private readonly _initial: number[] = null;
|
|
@@ -399,50 +429,55 @@ export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArra
|
|
|
399
429
|
}
|
|
400
430
|
|
|
401
431
|
@computed
|
|
402
|
-
|
|
403
|
-
|
|
432
|
+
get selectedItems(): ReadonlyArray<T> {
|
|
433
|
+
return this.selectedIndexes.map(i => this._items[i]);
|
|
404
434
|
}
|
|
405
435
|
|
|
406
436
|
@computed
|
|
407
|
-
|
|
408
|
-
const values =
|
|
409
|
-
|
|
437
|
+
get selectedValues(): ReadonlyArray<string> {
|
|
438
|
+
const values = this.values;
|
|
439
|
+
return this.selectedIndexes.map(i => values[i]);
|
|
410
440
|
}
|
|
411
441
|
|
|
412
442
|
<span class="fstat-no" title="function not covered" > get v</span>alue() { <span class="cstat-no" title="statement not covered" >return this.selectedValues; </span>}
|
|
413
443
|
<span class="fstat-no" title="function not covered" > set v</span>alue(v: readonly string[]) { <span class="cstat-no" title="statement not covered" >this.selectValues(v); </span>}
|
|
414
444
|
|
|
415
445
|
isIndexSelected(index: number) { return this._indexes.has(index); }
|
|
416
|
-
|
|
446
|
+
isValueSelected(value: string) { return this.selectedValues.includes(value); }
|
|
417
447
|
|
|
418
|
-
|
|
448
|
+
get count() { return this._items.length; }
|
|
449
|
+
get selectedCount() { return this._indexes.size; }
|
|
450
|
+
<span class="fstat-no" title="function not covered" > get i</span>sEmpty() { <span class="cstat-no" title="statement not covered" >return this.selectedCount === 0; </span>}
|
|
451
|
+
|
|
452
|
+
@computed
|
|
453
|
+
<span class="fstat-no" title="function not covered" > get i</span>sDefault() { <span class="cstat-no" title="statement not covered" >return arraysCompareDistinct(this.selectedIndexes, this._initial)?.diff === 0; </span>}
|
|
419
454
|
|
|
420
455
|
<span class="fstat-no" title="function not covered" > protected get v</span>alueToValidate() { <span class="cstat-no" title="statement not covered" >return this.selectedItems; </span>}
|
|
421
456
|
|
|
422
|
-
setItemSelected =
|
|
423
|
-
const i =
|
|
424
|
-
<span class="
|
|
425
|
-
|
|
457
|
+
setItemSelected = (item: T, selected: boolean) => {
|
|
458
|
+
const i = this.items.indexOf(item);
|
|
459
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (i >= 0) {
|
|
460
|
+
this.setIndexSelected(i, selected);
|
|
426
461
|
}
|
|
427
462
|
};
|
|
428
463
|
|
|
429
|
-
selectItem =
|
|
430
|
-
deSelectItem =
|
|
464
|
+
selectItem = (item: T) => this.setItemSelected(item, true);
|
|
465
|
+
deSelectItem = (item: T) => this.setItemSelected(item, false);
|
|
431
466
|
|
|
432
467
|
@action
|
|
433
|
-
selectItems =
|
|
434
|
-
|
|
468
|
+
selectItems = (items: readonly T[]) => {
|
|
469
|
+
items.forEach(this.selectItem);
|
|
435
470
|
};
|
|
436
471
|
|
|
437
|
-
setValueSelected =
|
|
438
|
-
const i =
|
|
439
|
-
<span class="
|
|
440
|
-
|
|
472
|
+
setValueSelected = (value: string, selected: boolean) => {
|
|
473
|
+
const i = this.values.indexOf(value);
|
|
474
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (i >= 0) {
|
|
475
|
+
this.setIndexSelected(i, selected);
|
|
441
476
|
}
|
|
442
477
|
};
|
|
443
478
|
|
|
444
|
-
selectValue =
|
|
445
|
-
deSelectValue =
|
|
479
|
+
selectValue = (value: string) => this.setValueSelected(value, true);
|
|
480
|
+
deSelectValue = (value: string) => this.setValueSelected(value, false);
|
|
446
481
|
|
|
447
482
|
@action
|
|
448
483
|
selectValues = <span class="fstat-no" title="function not covered" >(v</span>alues: readonly string[]) => {
|
|
@@ -450,19 +485,19 @@ export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArra
|
|
|
450
485
|
};
|
|
451
486
|
|
|
452
487
|
@action
|
|
453
|
-
setIndexSelected =
|
|
454
|
-
<span class="
|
|
488
|
+
setIndexSelected = (index: number, selected: boolean) => {
|
|
489
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (this._indexesLocked) {
|
|
455
490
|
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
456
491
|
}
|
|
457
492
|
|
|
458
|
-
|
|
459
|
-
|
|
493
|
+
if (selected) {
|
|
494
|
+
this._indexes.add(index);
|
|
460
495
|
} else {
|
|
461
|
-
|
|
496
|
+
this._indexes.delete(index);
|
|
462
497
|
}
|
|
463
498
|
|
|
464
|
-
<span class="
|
|
465
|
-
|
|
499
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (!this._flags.hasValue) {
|
|
500
|
+
return;
|
|
466
501
|
}
|
|
467
502
|
|
|
468
503
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
@@ -473,14 +508,21 @@ export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArra
|
|
|
473
508
|
}
|
|
474
509
|
};
|
|
475
510
|
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
511
|
+
selectIndex = (index: number) => this.setIndexSelected(index, true);
|
|
512
|
+
deSelectIndex = (index: number) => this.setIndexSelected(index, false);
|
|
513
|
+
|
|
514
|
+
reset = () => {
|
|
515
|
+
super.reset();
|
|
516
|
+
this.setInitialIndexes();
|
|
479
517
|
};
|
|
480
518
|
|
|
481
519
|
private setInitialIndexes() {
|
|
482
520
|
this._indexes.clear();
|
|
483
521
|
this._initial.forEach(i => this._indexes.add(i));
|
|
522
|
+
|
|
523
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (this._flags.hasValue) {
|
|
524
|
+
<span class="cstat-no" title="statement not covered" > this._flags.value.forEach(<span class="fstat-no" title="function not covered" >(f</span>lag, index) => <span class="cstat-no" title="statement not covered" >flag.value = this._indexes.has(index))</span>;</span>
|
|
525
|
+
}
|
|
484
526
|
}
|
|
485
527
|
|
|
486
528
|
private <span class="fstat-no" title="function not covered" >createFlags(</span>) {
|
|
@@ -503,8 +545,8 @@ export class MultiSelect<T = any> extends ValidatableModel<ReadonlyArra
|
|
|
503
545
|
|
|
504
546
|
export class MultiSelectString<T extends string = string> extends MultiSelect<T> {
|
|
505
547
|
|
|
506
|
-
|
|
507
|
-
|
|
548
|
+
constructor(items: ReadonlyArray<T>, ...selected: number[]) {
|
|
549
|
+
super(items, v => v, ...selected);
|
|
508
550
|
}
|
|
509
551
|
}
|
|
510
552
|
</pre></td></tr></table></pre>
|
|
@@ -514,7 +556,7 @@ export class MultiSelectString<T extends string = string> extends MultiSel
|
|
|
514
556
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
515
557
|
Code coverage generated by
|
|
516
558
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
517
|
-
at Mon Nov
|
|
559
|
+
at Mon Nov 29 2021 14:39:58 GMT+0000 (Coordinated Universal Time)
|
|
518
560
|
</div>
|
|
519
561
|
</div>
|
|
520
562
|
<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">
|
|
26
|
+
<span class="strong">80.95% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>17/
|
|
28
|
+
<span class='fraction'>17/21</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">
|
|
40
|
+
<span class="strong">42.86% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>3/
|
|
42
|
+
<span class='fraction'>3/7</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">86.67% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>13/
|
|
49
|
+
<span class='fraction'>13/15</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -93,7 +93,11 @@
|
|
|
93
93
|
<a name='L34'></a><a href='#L34'>34</a>
|
|
94
94
|
<a name='L35'></a><a href='#L35'>35</a>
|
|
95
95
|
<a name='L36'></a><a href='#L36'>36</a>
|
|
96
|
-
<a name='L37'></a><a href='#L37'>37</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
100
|
+
<span class="cline-any cline-neutral"> </span>
|
|
97
101
|
<span class="cline-any cline-neutral"> </span>
|
|
98
102
|
<span class="cline-any cline-neutral"> </span>
|
|
99
103
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -116,6 +120,8 @@
|
|
|
116
120
|
<span class="cline-any cline-yes">2x</span>
|
|
117
121
|
<span class="cline-any cline-yes">1x</span>
|
|
118
122
|
<span class="cline-any cline-neutral"> </span>
|
|
123
|
+
<span class="cline-any cline-no"> </span>
|
|
124
|
+
<span class="cline-any cline-neutral"> </span>
|
|
119
125
|
<span class="cline-any cline-neutral"> </span>
|
|
120
126
|
<span class="cline-any cline-yes">3x</span>
|
|
121
127
|
<span class="cline-any cline-no"> </span>
|
|
@@ -130,9 +136,10 @@
|
|
|
130
136
|
<span class="cline-any cline-neutral"> </span>
|
|
131
137
|
<span class="cline-any cline-yes">1x</span>
|
|
132
138
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { action, makeObservable, observable } from 'mobx';
|
|
133
|
-
import {
|
|
139
|
+
import { IResetableModel } from 'viewModels';
|
|
140
|
+
import { IValueModel } from './types';
|
|
134
141
|
|
|
135
|
-
export interface INumberModel {
|
|
142
|
+
export interface INumberModel extends IResetableModel {
|
|
136
143
|
value: number;
|
|
137
144
|
}
|
|
138
145
|
|
|
@@ -151,6 +158,8 @@ export class NumberModel implements INumberModel, IValueModel<number> {
|
|
|
151
158
|
|
|
152
159
|
get value() { return this._value; }
|
|
153
160
|
set value(v: number) { this._value = v; }
|
|
161
|
+
|
|
162
|
+
<span class="fstat-no" title="function not covered" > get i</span>sDefault() { <span class="cstat-no" title="statement not covered" >return this._value === this._initial; </span>}
|
|
154
163
|
|
|
155
164
|
@action
|
|
156
165
|
reset = <span class="fstat-no" title="function not covered" >() =</span>> {
|
|
@@ -172,7 +181,7 @@ export default NumberModel;
|
|
|
172
181
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
173
182
|
Code coverage generated by
|
|
174
183
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
175
|
-
at Mon Nov
|
|
184
|
+
at Mon Nov 29 2021 14:39:58 GMT+0000 (Coordinated Universal Time)
|
|
176
185
|
</div>
|
|
177
186
|
</div>
|
|
178
187
|
<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">
|
|
26
|
+
<span class="strong">95.16% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>59/
|
|
28
|
+
<span class='fraction'>59/62</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">
|
|
40
|
+
<span class="strong">88% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>22/
|
|
42
|
+
<span class='fraction'>22/25</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">94.64% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>53/
|
|
49
|
+
<span class='fraction'>53/56</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -182,13 +182,17 @@
|
|
|
182
182
|
<a name='L123'></a><a href='#L123'>123</a>
|
|
183
183
|
<a name='L124'></a><a href='#L124'>124</a>
|
|
184
184
|
<a name='L125'></a><a href='#L125'>125</a>
|
|
185
|
-
<a name='L126'></a><a href='#L126'>126</a
|
|
185
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
186
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
187
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
188
|
+
<a name='L129'></a><a href='#L129'>129</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
186
189
|
<span class="cline-any cline-yes">1x</span>
|
|
187
190
|
<span class="cline-any cline-yes">1x</span>
|
|
188
191
|
<span class="cline-any cline-yes">1x</span>
|
|
189
192
|
<span class="cline-any cline-neutral"> </span>
|
|
190
193
|
<span class="cline-any cline-yes">1x</span>
|
|
191
194
|
<span class="cline-any cline-neutral"> </span>
|
|
195
|
+
<span class="cline-any cline-neutral"> </span>
|
|
192
196
|
<span class="cline-any cline-yes">1x</span>
|
|
193
197
|
<span class="cline-any cline-neutral"> </span>
|
|
194
198
|
<span class="cline-any cline-yes">5x</span>
|
|
@@ -251,6 +255,8 @@
|
|
|
251
255
|
<span class="cline-any cline-neutral"> </span>
|
|
252
256
|
<span class="cline-any cline-neutral"> </span>
|
|
253
257
|
<span class="cline-any cline-neutral"> </span>
|
|
258
|
+
<span class="cline-any cline-no"> </span>
|
|
259
|
+
<span class="cline-any cline-neutral"> </span>
|
|
254
260
|
<span class="cline-any cline-neutral"> </span>
|
|
255
261
|
<span class="cline-any cline-yes">11x</span>
|
|
256
262
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -311,10 +317,11 @@
|
|
|
311
317
|
import { observable, computed, makeObservable, reaction } from 'mobx';
|
|
312
318
|
import { FlagModel, ILabeledFlagModel } from './FlagModel';
|
|
313
319
|
import { ValidatableModel } from './Validatable';
|
|
314
|
-
import { IValueModel } from './
|
|
320
|
+
import { IValueModel } from './types';
|
|
315
321
|
import { withLabel } from './wrappers';
|
|
322
|
+
import { IResetableModel } from 'viewModels';
|
|
316
323
|
|
|
317
|
-
export class Select<T = any> extends ValidatableModel<T> implements IValueModel<string>
|
|
324
|
+
export class Select<T = any> extends ValidatableModel<T> implements IValueModel<string>, IResetableModel {
|
|
318
325
|
@observable
|
|
319
326
|
private _index: number = undefined;
|
|
320
327
|
|
|
@@ -375,6 +382,8 @@ export class Select<T = any> extends ValidatableModel<T> implements
|
|
|
375
382
|
this.index = index;
|
|
376
383
|
}
|
|
377
384
|
}
|
|
385
|
+
|
|
386
|
+
<span class="fstat-no" title="function not covered" > get i</span>sDefault() { <span class="cstat-no" title="statement not covered" >return this._index === this._initialIndex; </span>}
|
|
378
387
|
|
|
379
388
|
get index() {
|
|
380
389
|
return this._index;
|
|
@@ -439,7 +448,7 @@ export class SelectString<T extends string = string> extends Select<T&g
|
|
|
439
448
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
440
449
|
Code coverage generated by
|
|
441
450
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
442
|
-
at Mon Nov
|
|
451
|
+
at Mon Nov 29 2021 14:39:58 GMT+0000 (Coordinated Universal Time)
|
|
443
452
|
</div>
|
|
444
453
|
</div>
|
|
445
454
|
<script src="../../prettify.js"></script>
|