@zajno/common 1.4.19 → 1.5.0

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 (69) hide show
  1. package/coverage/clover.xml +63 -61
  2. package/coverage/coverage-final.json +2 -2
  3. package/coverage/lcov-report/index.html +20 -20
  4. package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
  5. package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
  6. package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
  7. package/coverage/lcov-report/src/async/index.html +1 -1
  8. package/coverage/lcov-report/src/async/timeout.ts.html +1 -1
  9. package/coverage/lcov-report/src/cache.ts.html +1 -1
  10. package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
  11. package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
  12. package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
  13. package/coverage/lcov-report/src/dates/format.ts.html +1 -1
  14. package/coverage/lcov-report/src/dates/index.html +1 -1
  15. package/coverage/lcov-report/src/dates/index.ts.html +1 -1
  16. package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
  17. package/coverage/lcov-report/src/dates/period.ts.html +1 -1
  18. package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
  19. package/coverage/lcov-report/src/dates/types.ts.html +1 -1
  20. package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
  21. package/coverage/lcov-report/src/disposer.ts.html +1 -1
  22. package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
  23. package/coverage/lcov-report/src/event.ts.html +1 -1
  24. package/coverage/lcov-report/src/fields/index.html +1 -1
  25. package/coverage/lcov-report/src/fields/update.ts.html +1 -1
  26. package/coverage/lcov-report/src/functions.ts.html +1 -1
  27. package/coverage/lcov-report/src/index.html +15 -15
  28. package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
  29. package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
  30. package/coverage/lcov-report/src/logger/console.ts.html +1 -1
  31. package/coverage/lcov-report/src/logger/index.html +1 -1
  32. package/coverage/lcov-report/src/logger/index.ts.html +1 -1
  33. package/coverage/lcov-report/src/logger/named.ts.html +1 -1
  34. package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
  35. package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
  36. package/coverage/lcov-report/src/math/calc.ts.html +1 -1
  37. package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
  38. package/coverage/lcov-report/src/math/index.html +1 -1
  39. package/coverage/lcov-report/src/math/index.ts.html +1 -1
  40. package/coverage/lcov-report/src/observersMap.ts.html +1 -1
  41. package/coverage/lcov-report/src/observingCache.ts.html +1 -1
  42. package/coverage/lcov-report/src/tempoCache.ts.html +1 -1
  43. package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
  44. package/coverage/lcov-report/src/types.ts.html +13 -13
  45. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
  46. package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
  47. package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
  48. package/coverage/lcov-report/src/validation/index.html +1 -1
  49. package/coverage/lcov-report/src/validation/index.ts.html +1 -1
  50. package/coverage/lcov-report/src/validation/types.ts.html +1 -1
  51. package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
  52. package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
  53. package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +1 -1
  54. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
  55. package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +1 -1
  56. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
  57. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
  58. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +54 -21
  59. package/coverage/lcov-report/src/viewModels/TextModel.ts.html +1 -1
  60. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
  61. package/coverage/lcov-report/src/viewModels/index.html +10 -10
  62. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
  63. package/coverage/lcov.info +107 -105
  64. package/lib/viewModels/SelectModel.d.ts +5 -4
  65. package/lib/viewModels/SelectModel.d.ts.map +1 -1
  66. package/lib/viewModels/SelectModel.js +14 -9
  67. package/lib/viewModels/SelectModel.js.map +1 -1
  68. package/package.json +1 -1
  69. package/src/viewModels/SelectModel.ts +23 -12
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">90% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>9/10</span>
28
+ <span class='fraction'>10/10</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">87.5% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>7/8</span>
35
+ <span class='fraction'>8/8</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">88.89% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>8/9</span>
49
+ <span class='fraction'>9/9</span>
50
50
  </div>
51
51
 
52
52
 
@@ -97,13 +97,13 @@
97
97
  <span class="cline-any cline-neutral">&nbsp;</span>
98
98
  <span class="cline-any cline-yes">10x</span>
99
99
  <span class="cline-any cline-yes">10x</span>
100
- <span class="cline-any cline-yes">86x</span>
101
- <span class="cline-any cline-yes">9x</span>
100
+ <span class="cline-any cline-yes">111x</span>
101
+ <span class="cline-any cline-yes">10x</span>
102
102
  <span class="cline-any cline-neutral">&nbsp;</span>
103
- <span class="cline-any cline-yes">77x</span>
103
+ <span class="cline-any cline-yes">101x</span>
104
104
  <span class="cline-any cline-yes">77x</span>
105
105
  <span class="cline-any cline-neutral">&nbsp;</span>
106
- <span class="cline-any cline-no">&nbsp;</span>
106
+ <span class="cline-any cline-yes">24x</span>
107
107
  <span class="cline-any cline-neutral">&nbsp;</span>
108
108
  <span class="cline-any cline-neutral">&nbsp;</span>
109
109
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -130,10 +130,10 @@ export namespace Getter {
130
130
  if (getter == null) {
131
131
  return undefined;
132
132
  }
133
- <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof getter === 'function') {
133
+ if (typeof getter === 'function') {
134
134
  return (getter as () =&gt; T)();
135
135
  }
136
- <span class="cstat-no" title="statement not covered" > return getter;</span>
136
+ return getter;
137
137
  }
138
138
  }
139
139
  &nbsp;
@@ -154,7 +154,7 @@ export type TypedKeys&lt;T extends Object, K&gt; = {
154
154
  <div class='footer quiet pad2 space-top1 center small'>
155
155
  Code coverage generated by
156
156
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
157
- at Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
157
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
158
158
  </div>
159
159
  </div>
160
160
  <script src="../prettify.js"></script>
@@ -142,7 +142,7 @@ export namespace <span class="branch-1 cbranch-no" title="branch not covered" >V
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 Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
145
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
146
146
  </div>
147
147
  </div>
148
148
  <script src="../../prettify.js"></script>
@@ -139,7 +139,7 @@ export default {
139
139
  <div class='footer quiet pad2 space-top1 center small'>
140
140
  Code coverage generated by
141
141
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
142
- at Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
142
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
143
143
  </div>
144
144
  </div>
145
145
  <script src="../../prettify.js"></script>
@@ -202,7 +202,7 @@ export function <span class="fstat-no" title="function not covered" >validateObj
202
202
  <div class='footer quiet pad2 space-top1 center small'>
203
203
  Code coverage generated by
204
204
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
205
- at Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
205
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
206
206
  </div>
207
207
  </div>
208
208
  <script src="../../prettify.js"></script>
@@ -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 Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
188
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
189
189
  </div>
190
190
  </div>
191
191
  <script src="../../prettify.js"></script>
@@ -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 Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
94
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
95
95
  </div>
96
96
  </div>
97
97
  <script src="../../prettify.js"></script>
@@ -118,7 +118,7 @@ export class ValidationError&lt;TErrors = ValidationErrors&gt; extends Error {
118
118
  <div class='footer quiet pad2 space-top1 center small'>
119
119
  Code coverage generated by
120
120
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
121
- at Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
121
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
122
122
  </div>
123
123
  </div>
124
124
  <script src="../../prettify.js"></script>
@@ -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 Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
232
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
233
233
  </div>
234
234
  </div>
235
235
  <script src="../../prettify.js"></script>
@@ -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 Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
145
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
146
146
  </div>
147
147
  </div>
148
148
  <script src="../../prettify.js"></script>
@@ -199,7 +199,7 @@ export class CommonModel&lt;T = any&gt; extends ValidatableModel&lt;T&gt; {
199
199
  <div class='footer quiet pad2 space-top1 center small'>
200
200
  Code coverage generated by
201
201
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
202
- at Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
202
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
203
203
  </div>
204
204
  </div>
205
205
  <script src="../../prettify.js"></script>
@@ -274,7 +274,7 @@ export class FlagModel implements IFlagModel, IFlagModelReadonly {
274
274
  <div class='footer quiet pad2 space-top1 center small'>
275
275
  Code coverage generated by
276
276
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
277
- at Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
277
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
278
278
  </div>
279
279
  </div>
280
280
  <script src="../../prettify.js"></script>
@@ -148,7 +148,7 @@ export class LoadingModel extends NumberModel {
148
148
  <div class='footer quiet pad2 space-top1 center small'>
149
149
  Code coverage generated by
150
150
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
151
- at Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
151
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
152
152
  </div>
153
153
  </div>
154
154
  <script src="../../prettify.js"></script>
@@ -598,7 +598,7 @@ export class MultiSelectString&lt;T extends string = string&gt; extends MultiSel
598
598
  <div class='footer quiet pad2 space-top1 center small'>
599
599
  Code coverage generated by
600
600
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
601
- at Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
601
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
602
602
  </div>
603
603
  </div>
604
604
  <script src="../../prettify.js"></script>
@@ -214,7 +214,7 @@ export default NumberModel;
214
214
  <div class='footer quiet pad2 space-top1 center small'>
215
215
  Code coverage generated by
216
216
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
217
- at Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
217
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
218
218
  </div>
219
219
  </div>
220
220
  <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">90.63% </span>
26
+ <span class="strong">90.91% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>58/64</span>
28
+ <span class='fraction'>60/66</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">89.83% </span>
47
+ <span class="strong">90.16% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>53/59</span>
49
+ <span class='fraction'>55/61</span>
50
50
  </div>
51
51
 
52
52
 
@@ -198,36 +198,56 @@
198
198
  <a name='L139'></a><a href='#L139'>139</a>
199
199
  <a name='L140'></a><a href='#L140'>140</a>
200
200
  <a name='L141'></a><a href='#L141'>141</a>
201
- <a name='L142'></a><a href='#L142'>142</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
201
+ <a name='L142'></a><a href='#L142'>142</a>
202
+ <a name='L143'></a><a href='#L143'>143</a>
203
+ <a name='L144'></a><a href='#L144'>144</a>
204
+ <a name='L145'></a><a href='#L145'>145</a>
205
+ <a name='L146'></a><a href='#L146'>146</a>
206
+ <a name='L147'></a><a href='#L147'>147</a>
207
+ <a name='L148'></a><a href='#L148'>148</a>
208
+ <a name='L149'></a><a href='#L149'>149</a>
209
+ <a name='L150'></a><a href='#L150'>150</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
202
213
  <span class="cline-any cline-yes">2x</span>
203
214
  <span class="cline-any cline-yes">2x</span>
204
215
  <span class="cline-any cline-yes">2x</span>
205
216
  <span class="cline-any cline-neutral">&nbsp;</span>
206
217
  <span class="cline-any cline-yes">2x</span>
207
218
  <span class="cline-any cline-neutral">&nbsp;</span>
219
+ <span class="cline-any cline-yes">2x</span>
208
220
  <span class="cline-any cline-neutral">&nbsp;</span>
209
221
  <span class="cline-any cline-yes">2x</span>
210
222
  <span class="cline-any cline-neutral">&nbsp;</span>
211
223
  <span class="cline-any cline-yes">6x</span>
212
224
  <span class="cline-any cline-neutral">&nbsp;</span>
225
+ <span class="cline-any cline-neutral">&nbsp;</span>
226
+ <span class="cline-any cline-neutral">&nbsp;</span>
213
227
  <span class="cline-any cline-yes">6x</span>
214
228
  <span class="cline-any cline-yes">6x</span>
229
+ <span class="cline-any cline-neutral">&nbsp;</span>
215
230
  <span class="cline-any cline-yes">6x</span>
216
231
  <span class="cline-any cline-neutral">&nbsp;</span>
217
232
  <span class="cline-any cline-yes">6x</span>
218
233
  <span class="cline-any cline-neutral">&nbsp;</span>
219
234
  <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-yes">6x</span>
235
+ <span class="cline-any cline-neutral">&nbsp;</span>
221
236
  <span class="cline-any cline-yes">6x</span>
222
237
  <span class="cline-any cline-neutral">&nbsp;</span>
223
238
  <span class="cline-any cline-neutral">&nbsp;</span>
224
239
  <span class="cline-any cline-yes">6x</span>
240
+ <span class="cline-any cline-neutral">&nbsp;</span>
241
+ <span class="cline-any cline-yes">6x</span>
242
+ <span class="cline-any cline-neutral">&nbsp;</span>
225
243
  <span class="cline-any cline-yes">6x</span>
226
244
  <span class="cline-any cline-neutral">&nbsp;</span>
227
245
  <span class="cline-any cline-neutral">&nbsp;</span>
228
246
  <span class="cline-any cline-neutral">&nbsp;</span>
229
247
  <span class="cline-any cline-neutral">&nbsp;</span>
230
248
  <span class="cline-any cline-neutral">&nbsp;</span>
249
+ <span class="cline-any cline-neutral">&nbsp;</span>
250
+ <span class="cline-any cline-neutral">&nbsp;</span>
231
251
  <span class="cline-any cline-yes">6x</span>
232
252
  <span class="cline-any cline-yes">6x</span>
233
253
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -244,7 +264,8 @@
244
264
  <span class="cline-any cline-neutral">&nbsp;</span>
245
265
  <span class="cline-any cline-neutral">&nbsp;</span>
246
266
  <span class="cline-any cline-neutral">&nbsp;</span>
247
- <span class="cline-any cline-yes">1x</span>
267
+ <span class="cline-any cline-neutral">&nbsp;</span>
268
+ <span class="cline-any cline-yes">25x</span>
248
269
  <span class="cline-any cline-neutral">&nbsp;</span>
249
270
  <span class="cline-any cline-neutral">&nbsp;</span>
250
271
  <span class="cline-any cline-no">&nbsp;</span>
@@ -263,6 +284,7 @@
263
284
  <span class="cline-any cline-neutral">&nbsp;</span>
264
285
  <span class="cline-any cline-neutral">&nbsp;</span>
265
286
  <span class="cline-any cline-yes">4x</span>
287
+ <span class="cline-any cline-yes">4x</span>
266
288
  <span class="cline-any cline-neutral">&nbsp;</span>
267
289
  <span class="cline-any cline-neutral">&nbsp;</span>
268
290
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -339,33 +361,42 @@
339
361
  <span class="cline-any cline-yes">3x</span>
340
362
  <span class="cline-any cline-neutral">&nbsp;</span>
341
363
  <span class="cline-any cline-neutral">&nbsp;</span>
342
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { createLazy } from '../lazy.light';
343
- import { observable, computed, makeObservable, reaction, action } from 'mobx';
364
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { observable, computed, makeObservable, reaction, action } from 'mobx';
365
+ import { createLazy } from '../lazy.light';
344
366
  import { FlagModel, ILabeledFlagModel } from './FlagModel';
345
367
  import { ValidatableModel } from './Validatable';
346
368
  import { IValueModel } from './types';
347
369
  import { withLabel } from './wrappers';
348
- import { IResetableModel } from 'viewModels';
370
+ import { IResetableModel } from './types';
371
+ import { Getter } from '../types';
349
372
  &nbsp;
350
373
  export class Select&lt;T = any&gt; extends ValidatableModel&lt;T&gt; implements IValueModel&lt;string&gt;, IResetableModel {
351
374
  // @observable
352
375
  private _index: number = undefined;
353
376
  &nbsp;
354
- public readonly opened = new FlagModel();
377
+ private readonly _items: Getter&lt;readonly T[]&gt;;
378
+ &nbsp;
355
379
  private _indexLocked = false;
356
380
  private _initialIndex: number = null;
357
381
  &nbsp;
358
382
  private readonly _flags = createLazy(() =&gt; this.createFlags());
383
+ &nbsp;
384
+ public readonly opened = new FlagModel();
359
385
  &nbsp;
360
386
  constructor(
361
- private readonly _items: readonly T[],
387
+ items: Getter&lt;readonly T[]&gt;,
362
388
  private readonly _accessor: (item: T) =&gt; string,
363
389
  initialIndex: number = 0,
364
390
  ) {
365
391
  super();
366
- makeObservable&lt;Select&lt;T&gt;, '_index'&gt;(this, {
392
+ &nbsp;
393
+ this._items = items;
394
+ &nbsp;
395
+ makeObservable&lt;Select&lt;T&gt;, '_index' | '_items'&gt;(this, {
367
396
  '_index': observable,
397
+ '_items': observable.ref,
368
398
  values: computed,
399
+ items: computed,
369
400
  setIndex: action,
370
401
  });
371
402
  &nbsp;
@@ -377,15 +408,16 @@ export class Select&lt;T = any&gt; extends ValidatableModel&lt;T&gt; implements
377
408
  &nbsp;
378
409
  // @computed
379
410
  get values(): readonly string[] {
380
- return this._items.map(i =&gt; this._accessor(i));
411
+ return this.items.map(i =&gt; this._accessor(i));
381
412
  }
382
413
  &nbsp;
383
414
  get flags() {
384
415
  return this._flags.value;
385
416
  }
386
417
  &nbsp;
387
- get items() {
388
- return this._items;
418
+ // @computed
419
+ get items(): readonly T[] {
420
+ return Getter.getValue(this._items);
389
421
  }
390
422
  &nbsp;
391
423
  <span class="fstat-no" title="function not covered" > get v</span>alue() { <span class="cstat-no" title="statement not covered" >return this.selectedValue; </span>}
@@ -403,11 +435,12 @@ export class Select&lt;T = any&gt; extends ValidatableModel&lt;T&gt; implements
403
435
  }
404
436
  &nbsp;
405
437
  get selectedItem(): T {
406
- return this._items.length ? this._items[this._index] : <span class="branch-1 cbranch-no" title="branch not covered" >null;</span>
438
+ const items = this.items;
439
+ return items.length ? items[this._index] : <span class="branch-1 cbranch-no" title="branch not covered" >null;</span>
407
440
  }
408
441
  &nbsp;
409
442
  set selectedItem(item: T) {
410
- const index = this._items.indexOf(item);
443
+ const index = this.items.indexOf(item);
411
444
  if (index &gt;= 0) {
412
445
  this.index = index;
413
446
  }
@@ -447,13 +480,13 @@ export class Select&lt;T = any&gt; extends ValidatableModel&lt;T&gt; implements
447
480
  }
448
481
  };
449
482
  &nbsp;
450
- reset = () =&gt; {
483
+ public reset = () =&gt; {
451
484
  super.reset();
452
485
  this.index = this._initialIndex;
453
486
  };
454
487
  &nbsp;
455
488
  private createFlags() {
456
- const flags: ReadonlyArray&lt;ILabeledFlagModel&gt; = this._items
489
+ const flags: ReadonlyArray&lt;ILabeledFlagModel&gt; = this.items
457
490
  .map((item, index) =&gt; {
458
491
  const flag: ILabeledFlagModel = withLabel(
459
492
  new FlagModel(index === this.index),
@@ -487,7 +520,7 @@ export class SelectString&lt;T extends string = string&gt; extends Select&lt;T&g
487
520
  <div class='footer quiet pad2 space-top1 center small'>
488
521
  Code coverage generated by
489
522
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
490
- at Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
523
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
491
524
  </div>
492
525
  </div>
493
526
  <script src="../../prettify.js"></script>
@@ -445,7 +445,7 @@ export class TextInputVM extends ValidatableModel&lt;string&gt; implements IValu
445
445
  <div class='footer quiet pad2 space-top1 center small'>
446
446
  Code coverage generated by
447
447
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
448
- at Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
448
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
449
449
  </div>
450
450
  </div>
451
451
  <script src="../../prettify.js"></script>
@@ -370,7 +370,7 @@ export abstract class ValidatableModel&lt;T = string&gt; {
370
370
  <div class='footer quiet pad2 space-top1 center small'>
371
371
  Code coverage generated by
372
372
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
373
- at Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
373
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
374
374
  </div>
375
375
  </div>
376
376
  <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">74.01% </span>
26
+ <span class="strong">74.16% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>262/354</span>
28
+ <span class='fraction'>264/356</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">74.38% </span>
47
+ <span class="strong">74.54% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>241/324</span>
49
+ <span class='fraction'>243/326</span>
50
50
  </div>
51
51
 
52
52
 
@@ -149,17 +149,17 @@
149
149
 
150
150
  <tr>
151
151
  <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">
152
+ <td data-value="90.91" class="pic high">
153
153
  <div class="chart"><div class="cover-fill" style="width: 90%"></div><div class="cover-empty" style="width: 10%"></div></div>
154
154
  </td>
155
- <td data-value="90.63" class="pct high">90.63%</td>
156
- <td data-value="64" class="abs high">58/64</td>
155
+ <td data-value="90.91" class="pct high">90.91%</td>
156
+ <td data-value="66" class="abs high">60/66</td>
157
157
  <td data-value="83.33" class="pct high">83.33%</td>
158
158
  <td data-value="18" class="abs high">15/18</td>
159
159
  <td data-value="84.62" class="pct high">84.62%</td>
160
160
  <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>
161
+ <td data-value="90.16" class="pct high">90.16%</td>
162
+ <td data-value="61" class="abs high">55/61</td>
163
163
  </tr>
164
164
 
165
165
  <tr>
@@ -215,7 +215,7 @@
215
215
  <div class='footer quiet pad2 space-top1 center small'>
216
216
  Code coverage generated by
217
217
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
218
- at Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
218
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
219
219
  </div>
220
220
  </div>
221
221
  <script src="../../prettify.js"></script>
@@ -211,7 +211,7 @@ export function mixinLabel&lt;T, TModel extends IValueModel&lt;T&gt;, TLabel = s
211
211
  <div class='footer quiet pad2 space-top1 center small'>
212
212
  Code coverage generated by
213
213
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
214
- at Fri May 20 2022 08:16:32 GMT+0000 (Coordinated Universal Time)
214
+ at Sun May 22 2022 18:34:38 GMT+0000 (Coordinated Universal Time)
215
215
  </div>
216
216
  </div>
217
217
  <script src="../../prettify.js"></script>