@zajno/common 1.3.5 → 1.3.6
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/coverage/clover.xml +46 -3
- package/coverage/coverage-final.json +1 -0
- package/coverage/lcov-report/index.html +24 -9
- package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
- package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
- 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 +1 -1
- package/coverage/lcov-report/src/fields/index.html +111 -0
- package/coverage/lcov-report/src/{viewModels/SelectViewModel.ts.html → fields/update.ts.html} +118 -178
- package/coverage/lcov-report/src/index.html +1 -1
- package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
- package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
- package/coverage/lcov-report/src/logger/console.ts.html +1 -1
- package/coverage/lcov-report/src/logger/index.html +1 -1
- package/coverage/lcov-report/src/logger/index.ts.html +1 -1
- package/coverage/lcov-report/src/logger/named.ts.html +1 -1
- package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
- package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
- package/coverage/lcov-report/src/math/calc.ts.html +1 -1
- package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
- package/coverage/lcov-report/src/math/index.html +1 -1
- package/coverage/lcov-report/src/math/index.ts.html +1 -1
- package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
- package/coverage/lcov-report/src/types.ts.html +1 -1
- 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 +1 -1
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/index.html +1 -1
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
- package/coverage/lcov-report/update.ts.html +374 -0
- package/coverage/lcov.info +118 -0
- package/lib/fields/update.d.ts +17 -6
- package/lib/fields/update.d.ts.map +1 -1
- package/lib/fields/update.js +29 -13
- package/lib/fields/update.js.map +1 -1
- package/lib/ident.d.ts +6 -0
- package/lib/ident.d.ts.map +1 -0
- package/lib/ident.js +3 -0
- package/lib/ident.js.map +1 -0
- package/package.json +1 -1
- package/src/fields/__tests__/fields.update.test.ts +73 -0
- package/src/fields/update.ts +54 -20
- package/src/ident.ts +8 -0
- package/coverage/lcov-report/src/viewModels/LabeledFlagModel.ts.html +0 -146
- package/coverage/lcov-report/transitionObserver.ts.html +0 -572
- package/yarn-error.log +0 -3709
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/fields</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../index.html">All files</a> src/fields</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">73.33% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>33/45</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">80% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>40/50</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">45.45% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>5/11</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">78.38% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>29/37</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
</div>
|
|
58
|
+
<div class='status-line medium'></div>
|
|
59
|
+
<div class="pad1">
|
|
60
|
+
<table class="coverage-summary">
|
|
61
|
+
<thead>
|
|
62
|
+
<tr>
|
|
63
|
+
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
|
64
|
+
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
|
65
|
+
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
|
66
|
+
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
|
67
|
+
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
|
68
|
+
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
|
69
|
+
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
|
70
|
+
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
|
71
|
+
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
|
72
|
+
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
|
73
|
+
</tr>
|
|
74
|
+
</thead>
|
|
75
|
+
<tbody><tr>
|
|
76
|
+
<td class="file medium" data-value="update.ts"><a href="update.ts.html">update.ts</a></td>
|
|
77
|
+
<td data-value="73.33" class="pic medium">
|
|
78
|
+
<div class="chart"><div class="cover-fill" style="width: 73%"></div><div class="cover-empty" style="width: 27%"></div></div>
|
|
79
|
+
</td>
|
|
80
|
+
<td data-value="73.33" class="pct medium">73.33%</td>
|
|
81
|
+
<td data-value="45" class="abs medium">33/45</td>
|
|
82
|
+
<td data-value="80" class="pct high">80%</td>
|
|
83
|
+
<td data-value="50" class="abs high">40/50</td>
|
|
84
|
+
<td data-value="45.45" class="pct low">45.45%</td>
|
|
85
|
+
<td data-value="11" class="abs low">5/11</td>
|
|
86
|
+
<td data-value="78.38" class="pct medium">78.38%</td>
|
|
87
|
+
<td data-value="37" class="abs medium">29/37</td>
|
|
88
|
+
</tr>
|
|
89
|
+
|
|
90
|
+
</tbody>
|
|
91
|
+
</table>
|
|
92
|
+
</div>
|
|
93
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
94
|
+
</div><!-- /wrapper -->
|
|
95
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
96
|
+
Code coverage generated by
|
|
97
|
+
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
98
|
+
at Mon Jan 03 2022 18:23:02 GMT+0000 (Coordinated Universal Time)
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
<script src="../../prettify.js"></script>
|
|
102
|
+
<script>
|
|
103
|
+
window.onload = function () {
|
|
104
|
+
prettyPrint();
|
|
105
|
+
};
|
|
106
|
+
</script>
|
|
107
|
+
<script src="../../sorter.js"></script>
|
|
108
|
+
<script src="../../block-navigation.js"></script>
|
|
109
|
+
</body>
|
|
110
|
+
</html>
|
|
111
|
+
|
package/coverage/lcov-report/src/{viewModels/SelectViewModel.ts.html → fields/update.ts.html}
RENAMED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for src/
|
|
6
|
+
<title>Code coverage report for src/fields/update.ts</title>
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
8
|
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
9
|
<link rel="stylesheet" href="../../base.css" />
|
|
@@ -19,34 +19,34 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/fields</a> update.ts</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">73.33% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>33/45</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">80% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>40/50</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">45.45% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>5/11</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">78.38% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>29/37</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>
|
|
@@ -155,261 +155,201 @@
|
|
|
155
155
|
<a name='L96'></a><a href='#L96'>96</a>
|
|
156
156
|
<a name='L97'></a><a href='#L97'>97</a>
|
|
157
157
|
<a name='L98'></a><a href='#L98'>98</a>
|
|
158
|
-
<a name='L99'></a><a href='#L99'>99</a>
|
|
159
|
-
<a name='L100'></a><a href='#L100'>100</a>
|
|
160
|
-
<a name='L101'></a><a href='#L101'>101</a>
|
|
161
|
-
<a name='L102'></a><a href='#L102'>102</a>
|
|
162
|
-
<a name='L103'></a><a href='#L103'>103</a>
|
|
163
|
-
<a name='L104'></a><a href='#L104'>104</a>
|
|
164
|
-
<a name='L105'></a><a href='#L105'>105</a>
|
|
165
|
-
<a name='L106'></a><a href='#L106'>106</a>
|
|
166
|
-
<a name='L107'></a><a href='#L107'>107</a>
|
|
167
|
-
<a name='L108'></a><a href='#L108'>108</a>
|
|
168
|
-
<a name='L109'></a><a href='#L109'>109</a>
|
|
169
|
-
<a name='L110'></a><a href='#L110'>110</a>
|
|
170
|
-
<a name='L111'></a><a href='#L111'>111</a>
|
|
171
|
-
<a name='L112'></a><a href='#L112'>112</a>
|
|
172
|
-
<a name='L113'></a><a href='#L113'>113</a>
|
|
173
|
-
<a name='L114'></a><a href='#L114'>114</a>
|
|
174
|
-
<a name='L115'></a><a href='#L115'>115</a>
|
|
175
|
-
<a name='L116'></a><a href='#L116'>116</a>
|
|
176
|
-
<a name='L117'></a><a href='#L117'>117</a>
|
|
177
|
-
<a name='L118'></a><a href='#L118'>118</a>
|
|
178
|
-
<a name='L119'></a><a href='#L119'>119</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
179
|
-
<span class="cline-any cline-yes">1x</span>
|
|
180
|
-
<span class="cline-any cline-yes">1x</span>
|
|
181
|
-
<span class="cline-any cline-yes">1x</span>
|
|
158
|
+
<a name='L99'></a><a href='#L99'>99</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
182
159
|
<span class="cline-any cline-neutral"> </span>
|
|
183
|
-
<span class="cline-any cline-yes">1x</span>
|
|
184
160
|
<span class="cline-any cline-neutral"> </span>
|
|
185
|
-
<span class="cline-any cline-yes">5x</span>
|
|
186
161
|
<span class="cline-any cline-neutral"> </span>
|
|
187
162
|
<span class="cline-any cline-neutral"> </span>
|
|
188
|
-
<span class="cline-any cline-yes">5x</span>
|
|
189
163
|
<span class="cline-any cline-neutral"> </span>
|
|
190
|
-
<span class="cline-any cline-yes">5x</span>
|
|
191
|
-
<span class="cline-any cline-yes">5x</span>
|
|
192
164
|
<span class="cline-any cline-neutral"> </span>
|
|
193
|
-
<span class="cline-any cline-yes">5x</span>
|
|
194
165
|
<span class="cline-any cline-neutral"> </span>
|
|
195
166
|
<span class="cline-any cline-neutral"> </span>
|
|
196
|
-
<span class="cline-any cline-yes">5x</span>
|
|
197
|
-
<span class="cline-any cline-yes">5x</span>
|
|
198
167
|
<span class="cline-any cline-neutral"> </span>
|
|
168
|
+
<span class="cline-any cline-yes">1x</span>
|
|
169
|
+
<span class="cline-any cline-no"> </span>
|
|
199
170
|
<span class="cline-any cline-neutral"> </span>
|
|
200
|
-
<span class="cline-any cline-yes">5x</span>
|
|
201
|
-
<span class="cline-any cline-yes">5x</span>
|
|
202
171
|
<span class="cline-any cline-neutral"> </span>
|
|
172
|
+
<span class="cline-any cline-yes">1x</span>
|
|
203
173
|
<span class="cline-any cline-neutral"> </span>
|
|
204
174
|
<span class="cline-any cline-neutral"> </span>
|
|
205
|
-
<span class="cline-any cline-yes">1x</span>
|
|
206
|
-
<span class="cline-any cline-yes">34x</span>
|
|
207
175
|
<span class="cline-any cline-neutral"> </span>
|
|
208
176
|
<span class="cline-any cline-neutral"> </span>
|
|
209
177
|
<span class="cline-any cline-neutral"> </span>
|
|
210
|
-
<span class="cline-any cline-yes">8x</span>
|
|
211
178
|
<span class="cline-any cline-neutral"> </span>
|
|
212
179
|
<span class="cline-any cline-neutral"> </span>
|
|
213
180
|
<span class="cline-any cline-neutral"> </span>
|
|
214
|
-
<span class="cline-any cline-
|
|
181
|
+
<span class="cline-any cline-no"> </span>
|
|
215
182
|
<span class="cline-any cline-neutral"> </span>
|
|
183
|
+
<span class="cline-any cline-no"> </span>
|
|
216
184
|
<span class="cline-any cline-neutral"> </span>
|
|
185
|
+
<span class="cline-any cline-no"> </span>
|
|
186
|
+
<span class="cline-any cline-no"> </span>
|
|
187
|
+
<span class="cline-any cline-no"> </span>
|
|
188
|
+
<span class="cline-any cline-no"> </span>
|
|
217
189
|
<span class="cline-any cline-neutral"> </span>
|
|
218
|
-
<span class="cline-any cline-
|
|
190
|
+
<span class="cline-any cline-neutral"> </span>
|
|
191
|
+
<span class="cline-any cline-no"> </span>
|
|
219
192
|
<span class="cline-any cline-neutral"> </span>
|
|
220
193
|
<span class="cline-any cline-neutral"> </span>
|
|
221
194
|
<span class="cline-any cline-neutral"> </span>
|
|
195
|
+
<span class="cline-any cline-yes">38x</span>
|
|
222
196
|
<span class="cline-any cline-yes">1x</span>
|
|
223
197
|
<span class="cline-any cline-neutral"> </span>
|
|
224
198
|
<span class="cline-any cline-neutral"> </span>
|
|
225
199
|
<span class="cline-any cline-neutral"> </span>
|
|
226
|
-
<span class="cline-any cline-yes">6x</span>
|
|
227
|
-
<span class="cline-any cline-yes">6x</span>
|
|
228
200
|
<span class="cline-any cline-neutral"> </span>
|
|
229
201
|
<span class="cline-any cline-neutral"> </span>
|
|
230
202
|
<span class="cline-any cline-neutral"> </span>
|
|
231
|
-
<span class="cline-any cline-yes">4x</span>
|
|
232
|
-
<span class="cline-any cline-yes">4x</span>
|
|
233
|
-
<span class="cline-any cline-yes">3x</span>
|
|
234
203
|
<span class="cline-any cline-neutral"> </span>
|
|
235
204
|
<span class="cline-any cline-neutral"> </span>
|
|
236
205
|
<span class="cline-any cline-neutral"> </span>
|
|
206
|
+
<span class="cline-any cline-yes">1x</span>
|
|
237
207
|
<span class="cline-any cline-neutral"> </span>
|
|
238
|
-
<span class="cline-any cline-yes">4x</span>
|
|
239
208
|
<span class="cline-any cline-neutral"> </span>
|
|
240
209
|
<span class="cline-any cline-neutral"> </span>
|
|
241
210
|
<span class="cline-any cline-neutral"> </span>
|
|
242
|
-
<span class="cline-any cline-yes">
|
|
243
|
-
<span class="cline-any cline-yes">
|
|
244
|
-
<span class="cline-any cline-yes">4x</span>
|
|
211
|
+
<span class="cline-any cline-yes">6x</span>
|
|
212
|
+
<span class="cline-any cline-yes">1x</span>
|
|
245
213
|
<span class="cline-any cline-neutral"> </span>
|
|
246
214
|
<span class="cline-any cline-neutral"> </span>
|
|
215
|
+
<span class="cline-any cline-yes">5x</span>
|
|
216
|
+
<span class="cline-any cline-yes">5x</span>
|
|
247
217
|
<span class="cline-any cline-neutral"> </span>
|
|
248
218
|
<span class="cline-any cline-neutral"> </span>
|
|
249
|
-
<span class="cline-any cline-yes">11x</span>
|
|
250
219
|
<span class="cline-any cline-neutral"> </span>
|
|
220
|
+
<span class="cline-any cline-yes">5x</span>
|
|
221
|
+
<span class="cline-any cline-yes">5x</span>
|
|
251
222
|
<span class="cline-any cline-neutral"> </span>
|
|
252
223
|
<span class="cline-any cline-neutral"> </span>
|
|
253
|
-
<span class="cline-any cline-yes">17x</span>
|
|
254
224
|
<span class="cline-any cline-yes">5x</span>
|
|
225
|
+
<span class="cline-any cline-yes">5x</span>
|
|
226
|
+
<span class="cline-any cline-yes">31x</span>
|
|
227
|
+
<span class="cline-any cline-yes">10x</span>
|
|
228
|
+
<span class="cline-any cline-yes">10x</span>
|
|
229
|
+
<span class="cline-any cline-yes">10x</span>
|
|
255
230
|
<span class="cline-any cline-neutral"> </span>
|
|
256
231
|
<span class="cline-any cline-neutral"> </span>
|
|
257
|
-
<span class="cline-any cline-yes">12x</span>
|
|
258
232
|
<span class="cline-any cline-neutral"> </span>
|
|
259
233
|
<span class="cline-any cline-neutral"> </span>
|
|
260
|
-
<span class="cline-any cline-yes">12x</span>
|
|
261
|
-
<span class="cline-any cline-yes">12x</span>
|
|
262
234
|
<span class="cline-any cline-neutral"> </span>
|
|
235
|
+
<span class="cline-any cline-yes">5x</span>
|
|
236
|
+
<span class="cline-any cline-yes">15x</span>
|
|
263
237
|
<span class="cline-any cline-yes">12x</span>
|
|
264
|
-
<span class="cline-any cline-yes">33x</span>
|
|
265
|
-
<span class="cline-any cline-neutral"> </span>
|
|
266
|
-
<span class="cline-any cline-neutral"> </span>
|
|
267
238
|
<span class="cline-any cline-yes">12x</span>
|
|
268
|
-
<span class="cline-any cline-
|
|
269
|
-
<span class="cline-any cline-
|
|
270
|
-
<span class="cline-any cline-neutral"> </span>
|
|
239
|
+
<span class="cline-any cline-yes">7x</span>
|
|
240
|
+
<span class="cline-any cline-yes">7x</span>
|
|
271
241
|
<span class="cline-any cline-yes">5x</span>
|
|
272
242
|
<span class="cline-any cline-yes">1x</span>
|
|
273
243
|
<span class="cline-any cline-neutral"> </span>
|
|
274
244
|
<span class="cline-any cline-neutral"> </span>
|
|
275
245
|
<span class="cline-any cline-neutral"> </span>
|
|
276
|
-
<span class="cline-any cline-yes">
|
|
277
|
-
<span class="cline-any cline-yes">
|
|
278
|
-
<span class="cline-any cline-
|
|
279
|
-
<span class="cline-any cline-neutral"> </span>
|
|
280
|
-
<span class="cline-any cline-yes">1x</span>
|
|
281
|
-
<span class="cline-any cline-yes">19x</span>
|
|
282
|
-
<span class="cline-any cline-yes">16x</span>
|
|
283
|
-
<span class="cline-any cline-yes">8x</span>
|
|
284
|
-
<span class="cline-any cline-neutral"> </span>
|
|
285
|
-
<span class="cline-any cline-neutral"> </span>
|
|
286
|
-
<span class="cline-any cline-neutral"> </span>
|
|
287
|
-
<span class="cline-any cline-yes">1x</span>
|
|
246
|
+
<span class="cline-any cline-yes">5x</span>
|
|
247
|
+
<span class="cline-any cline-yes">5x</span>
|
|
248
|
+
<span class="cline-any cline-yes">4x</span>
|
|
288
249
|
<span class="cline-any cline-neutral"> </span>
|
|
289
250
|
<span class="cline-any cline-neutral"> </span>
|
|
251
|
+
<span class="cline-any cline-yes">5x</span>
|
|
290
252
|
<span class="cline-any cline-neutral"> </span>
|
|
291
|
-
<span class="cline-any cline-yes">1x</span>
|
|
292
253
|
<span class="cline-any cline-neutral"> </span>
|
|
293
|
-
<span class="cline-any cline-yes">3x</span>
|
|
294
254
|
<span class="cline-any cline-neutral"> </span>
|
|
295
255
|
<span class="cline-any cline-neutral"> </span>
|
|
296
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
297
|
-
import { observable, computed, makeObservable, reaction } from 'mobx';
|
|
298
|
-
import { FlagModel } from './FlagModel';
|
|
299
|
-
import { ILabeledFlagModel, LabeledFlagModel } from './LabeledFlagModel';
|
|
256
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { Comparator } from '../types';
|
|
300
257
|
|
|
301
|
-
export
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
&
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
private readonly _opened = new FlagModel();
|
|
309
|
-
private _indexLocked = false;
|
|
310
|
-
|
|
311
|
-
private readonly _flags = createLazy(() => this.createFlags());
|
|
258
|
+
export namespace Fields {
|
|
259
|
+
export type Getter<T> = (obj: Partial<T>) => T[keyof T];
|
|
260
|
+
export type Setter<T> = (obj: Partial<T>, val: T[keyof T]) => void;
|
|
261
|
+
export type Comparer<T> = (source: Partial<T>, target: Partial<T>) => boolean;
|
|
262
|
+
export type Updater<T> = (target: T, source: T) => T;
|
|
263
|
+
}
|
|
312
264
|
|
|
313
|
-
constructor(
|
|
314
|
-
private readonly _items: readonly T[],
|
|
315
|
-
private readonly _accessor: (item: T) => string,
|
|
316
|
-
initialIndex: number = undefined,
|
|
317
|
-
) {
|
|
318
|
-
makeObservable(this);
|
|
319
|
-
this._index = initialIndex;
|
|
320
|
-
}
|
|
321
265
|
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
}
|
|
266
|
+
export function <span class="fstat-no" title="function not covered" >updateField<</span>T>(target: T, source: Partial<T>, diff: Partial<T>, key: keyof T, hasChanged: Fields.Comparer<T> = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span>: boolean {
|
|
267
|
+
<span class="cstat-no" title="statement not covered" > return updateFieldExtended(target, source, diff, <span class="fstat-no" title="function not covered" >t </span>=> <span class="cstat-no" title="statement not covered" >t[key],</span> <span class="fstat-no" title="function not covered" >(t</span>, v) => <span class="cstat-no" title="statement not covered" >t[key] = v,</span> hasChanged);</span>
|
|
268
|
+
}
|
|
326
269
|
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
270
|
+
export function <span class="fstat-no" title="function not covered" >updateFieldExtended<</span>T>(
|
|
271
|
+
target: T,
|
|
272
|
+
source: Partial<T>,
|
|
273
|
+
diff: Partial<T>,
|
|
274
|
+
get: Fields.Getter<T>,
|
|
275
|
+
set: Fields.Setter<T>,
|
|
276
|
+
hasChanged: Fields.Comparer<T> = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
|
|
277
|
+
): boolean {
|
|
330
278
|
|
|
331
|
-
get
|
|
332
|
-
return this._opened.value;
|
|
333
|
-
}
|
|
279
|
+
<span class="cstat-no" title="statement not covered" > hasChanged = hasChanged || (<span class="fstat-no" title="function not covered" >(v</span>1: T, v2: T) => (<span class="cstat-no" title="statement not covered" >get(v1) !== get(v2))</span>);</span>
|
|
334
280
|
|
|
335
|
-
|
|
336
|
-
this._opened.value = value;
|
|
337
|
-
}
|
|
281
|
+
let changed = <span class="cstat-no" title="statement not covered" >true;</span>
|
|
338
282
|
|
|
339
|
-
get
|
|
340
|
-
|
|
283
|
+
<span class="cstat-no" title="statement not covered" > if (get(source) !== undefined && hasChanged(source, target)) {</span>
|
|
284
|
+
<span class="cstat-no" title="statement not covered" > changed = true;</span>
|
|
285
|
+
<span class="cstat-no" title="statement not covered" > set(diff, get(target));</span>
|
|
286
|
+
<span class="cstat-no" title="statement not covered" > set(target, get(source));</span>
|
|
341
287
|
}
|
|
342
288
|
|
|
343
|
-
|
|
344
|
-
const vs = this.values;
|
|
345
|
-
return vs.length ? vs[this._index] : null;
|
|
346
|
-
}
|
|
289
|
+
<span class="cstat-no" title="statement not covered" > return changed;</span>
|
|
347
290
|
|
|
348
|
-
|
|
349
|
-
const index = this.values.indexOf(value);
|
|
350
|
-
if (index >= 0) {
|
|
351
|
-
this.index = index;
|
|
352
|
-
}
|
|
353
|
-
}
|
|
291
|
+
}
|
|
354
292
|
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
}
|
|
293
|
+
const DefaultComparator: Comparator<any> = (v1, v2) => v1 === v2;
|
|
294
|
+
const DefaultUpdater: Fields.Updater<any> = <span class="fstat-no" title="function not covered" >(v</span>1, v2) => <span class="cstat-no" title="statement not covered" >Object.assign(v1, v2);</span>
|
|
358
295
|
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
296
|
+
export type UpdateArrayOptions<T> = {
|
|
297
|
+
additive?: boolean,
|
|
298
|
+
clone?: boolean,
|
|
299
|
+
comparator?: Comparator<T>,
|
|
300
|
+
updater?: Fields.Updater<T>,
|
|
301
|
+
sorter?: Comparator<T, number> | null | undefined,
|
|
302
|
+
};
|
|
365
303
|
|
|
366
|
-
|
|
367
|
-
|
|
304
|
+
export function updateArray<T>(
|
|
305
|
+
target: T[] | null,
|
|
306
|
+
source: T[],
|
|
307
|
+
options?: UpdateArrayOptions<T>,
|
|
308
|
+
): { changed: number, result: T[] } {
|
|
309
|
+
if (!source) {
|
|
310
|
+
return { changed: 0, result: target };
|
|
368
311
|
}
|
|
369
312
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
313
|
+
let changed = 0;
|
|
314
|
+
const result = Array.isArray(target)
|
|
315
|
+
? (options?.clone ? target.slice() : target)
|
|
316
|
+
: <span class="branch-1 cbranch-no" title="branch not covered" >[];</span>
|
|
374
317
|
|
|
375
|
-
|
|
318
|
+
const comparator = options?.comparator || DefaultComparator;
|
|
319
|
+
const updater = options?.updater || DefaultUpdater;
|
|
376
320
|
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
321
|
+
// remove all missing elements
|
|
322
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (!options?.additive) {
|
|
323
|
+
for (let i = 0; i < result.length; ++i) {
|
|
324
|
+
if (source.find(item => comparator(item, result[i])) == null) {
|
|
325
|
+
result.splice(i, 1);
|
|
326
|
+
++changed;
|
|
327
|
+
--i;
|
|
383
328
|
}
|
|
384
|
-
} finally {
|
|
385
|
-
this._indexLocked = false;
|
|
386
329
|
}
|
|
387
330
|
}
|
|
388
331
|
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
332
|
+
// add all new elements and update existing
|
|
333
|
+
source.forEach(i => {
|
|
334
|
+
const existingIndex = result.findIndex(item => comparator(i, item));
|
|
335
|
+
const existingItem = result[existingIndex];
|
|
336
|
+
if (existingIndex < 0) {
|
|
337
|
+
result.push(i);
|
|
338
|
+
++changed;
|
|
339
|
+
} else if (typeof existingItem === 'object') {
|
|
340
|
+
result[existingIndex] = updater(existingItem, i);
|
|
341
|
+
}
|
|
342
|
+
});
|
|
396
343
|
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
if (isSelected) {
|
|
401
|
-
this.index = index;
|
|
402
|
-
}
|
|
403
|
-
});
|
|
404
|
-
});
|
|
405
|
-
return flags;
|
|
344
|
+
const sorter = options?.sorter;
|
|
345
|
+
if (sorter !== null) {
|
|
346
|
+
result.sort(sorter || undefined);
|
|
406
347
|
}
|
|
407
|
-
}
|
|
408
348
|
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
}
|
|
349
|
+
return {
|
|
350
|
+
result,
|
|
351
|
+
changed,
|
|
352
|
+
};
|
|
413
353
|
}
|
|
414
354
|
</pre></td></tr></table></pre>
|
|
415
355
|
|
|
@@ -418,7 +358,7 @@ export class SelectString<T extends string = string> extends Select<T&g
|
|
|
418
358
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
419
359
|
Code coverage generated by
|
|
420
360
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
421
|
-
at
|
|
361
|
+
at Mon Jan 03 2022 18:23:02 GMT+0000 (Coordinated Universal Time)
|
|
422
362
|
</div>
|
|
423
363
|
</div>
|
|
424
364
|
<script src="../../prettify.js"></script>
|
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
156
156
|
Code coverage generated by
|
|
157
157
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
158
|
-
at Mon
|
|
158
|
+
at Mon Jan 03 2022 18:23:02 GMT+0000 (Coordinated Universal Time)
|
|
159
159
|
</div>
|
|
160
160
|
</div>
|
|
161
161
|
<script src="../prettify.js"></script>
|
|
@@ -139,7 +139,7 @@ export function createLazy<T>(factory: () => T) {
|
|
|
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 Mon
|
|
142
|
+
at Mon Jan 03 2022 18:23:02 GMT+0000 (Coordinated Universal Time)
|
|
143
143
|
</div>
|
|
144
144
|
</div>
|
|
145
145
|
<script src="../prettify.js"></script>
|
|
@@ -91,7 +91,7 @@ export function batchLoggers(...loggers: ILogger[]): ILogger {
|
|
|
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 Mon
|
|
94
|
+
at Mon Jan 03 2022 18:23:02 GMT+0000 (Coordinated Universal Time)
|
|
95
95
|
</div>
|
|
96
96
|
</div>
|
|
97
97
|
<script src="../../prettify.js"></script>
|
|
@@ -220,7 +220,7 @@ export class BufferedConsoleLogger implements ILogger {
|
|
|
220
220
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
221
221
|
Code coverage generated by
|
|
222
222
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
223
|
-
at Mon
|
|
223
|
+
at Mon Jan 03 2022 18:23:02 GMT+0000 (Coordinated Universal Time)
|
|
224
224
|
</div>
|
|
225
225
|
</div>
|
|
226
226
|
<script src="../../prettify.js"></script>
|
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
156
156
|
Code coverage generated by
|
|
157
157
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
158
|
-
at Mon
|
|
158
|
+
at Mon Jan 03 2022 18:23:02 GMT+0000 (Coordinated Universal Time)
|
|
159
159
|
</div>
|
|
160
160
|
</div>
|
|
161
161
|
<script src="../../prettify.js"></script>
|
|
@@ -277,7 +277,7 @@ function _createImplementation(overrideMode: typeof Mode = undefined): ILogger {
|
|
|
277
277
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
278
278
|
Code coverage generated by
|
|
279
279
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
280
|
-
at Mon
|
|
280
|
+
at Mon Jan 03 2022 18:23:02 GMT+0000 (Coordinated Universal Time)
|
|
281
281
|
</div>
|
|
282
282
|
</div>
|
|
283
283
|
<script src="../../prettify.js"></script>
|
|
@@ -205,7 +205,7 @@ export abstract class NamedLogger implements ILogger, ILoggerSwitchable {
|
|
|
205
205
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
206
206
|
Code coverage generated by
|
|
207
207
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
208
|
-
at Mon
|
|
208
|
+
at Mon Jan 03 2022 18:23:02 GMT+0000 (Coordinated Universal Time)
|
|
209
209
|
</div>
|
|
210
210
|
</div>
|
|
211
211
|
<script src="../../prettify.js"></script>
|
|
@@ -151,7 +151,7 @@ export class ProxyLogger extends NamedLogger {
|
|
|
151
151
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
152
152
|
Code coverage generated by
|
|
153
153
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
154
|
-
at Mon
|
|
154
|
+
at Mon Jan 03 2022 18:23:02 GMT+0000 (Coordinated Universal Time)
|
|
155
155
|
</div>
|
|
156
156
|
</div>
|
|
157
157
|
<script src="../../prettify.js"></script>
|