@zajno/common 1.3.3 → 1.3.7
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 +80 -25
- package/coverage/coverage-final.json +3 -2
- package/coverage/lcov-report/index.html +35 -20
- 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 +51 -9
- 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 +34 -10
- package/coverage/lcov-report/src/viewModels/index.html +29 -29
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
- package/coverage/lcov-report/update.ts.html +374 -0
- package/coverage/lcov.info +189 -51
- 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/lib/unsubscriber.d.ts +4 -0
- package/lib/unsubscriber.d.ts.map +1 -1
- package/lib/unsubscriber.js +8 -1
- package/lib/unsubscriber.js.map +1 -1
- package/lib/viewModels/FlagModel.d.ts +2 -0
- package/lib/viewModels/FlagModel.d.ts.map +1 -1
- package/lib/viewModels/FlagModel.js +18 -0
- package/lib/viewModels/FlagModel.js.map +1 -1
- package/lib/viewModels/PromptModal.d.ts.map +1 -1
- package/lib/viewModels/PromptModal.js +1 -1
- package/lib/viewModels/PromptModal.js.map +1 -1
- package/lib/viewModels/Validatable.d.ts +2 -1
- package/lib/viewModels/Validatable.d.ts.map +1 -1
- package/lib/viewModels/Validatable.js +7 -0
- package/lib/viewModels/Validatable.js.map +1 -1
- 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/src/unsubscriber.ts +7 -0
- package/src/viewModels/FlagModel.ts +14 -0
- package/src/viewModels/PromptModal.ts +1 -1
- package/src/viewModels/Validatable.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,374 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for update.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="index.html">All files</a> update.ts</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
|
+
<pre><table class="coverage">
|
|
60
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
61
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
62
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
63
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
64
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
65
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
66
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
67
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
68
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
69
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
70
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
71
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
72
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
73
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
74
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
75
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
76
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
77
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
78
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
79
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
80
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
81
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
82
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
83
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
84
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
85
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
86
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
87
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
88
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
89
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
90
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
91
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
92
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
93
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
94
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
95
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
96
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
97
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
98
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
99
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
100
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
101
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
102
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
103
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
104
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
105
|
+
<a name='L46'></a><a href='#L46'>46</a>
|
|
106
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
107
|
+
<a name='L48'></a><a href='#L48'>48</a>
|
|
108
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
109
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
110
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
111
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
112
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
113
|
+
<a name='L54'></a><a href='#L54'>54</a>
|
|
114
|
+
<a name='L55'></a><a href='#L55'>55</a>
|
|
115
|
+
<a name='L56'></a><a href='#L56'>56</a>
|
|
116
|
+
<a name='L57'></a><a href='#L57'>57</a>
|
|
117
|
+
<a name='L58'></a><a href='#L58'>58</a>
|
|
118
|
+
<a name='L59'></a><a href='#L59'>59</a>
|
|
119
|
+
<a name='L60'></a><a href='#L60'>60</a>
|
|
120
|
+
<a name='L61'></a><a href='#L61'>61</a>
|
|
121
|
+
<a name='L62'></a><a href='#L62'>62</a>
|
|
122
|
+
<a name='L63'></a><a href='#L63'>63</a>
|
|
123
|
+
<a name='L64'></a><a href='#L64'>64</a>
|
|
124
|
+
<a name='L65'></a><a href='#L65'>65</a>
|
|
125
|
+
<a name='L66'></a><a href='#L66'>66</a>
|
|
126
|
+
<a name='L67'></a><a href='#L67'>67</a>
|
|
127
|
+
<a name='L68'></a><a href='#L68'>68</a>
|
|
128
|
+
<a name='L69'></a><a href='#L69'>69</a>
|
|
129
|
+
<a name='L70'></a><a href='#L70'>70</a>
|
|
130
|
+
<a name='L71'></a><a href='#L71'>71</a>
|
|
131
|
+
<a name='L72'></a><a href='#L72'>72</a>
|
|
132
|
+
<a name='L73'></a><a href='#L73'>73</a>
|
|
133
|
+
<a name='L74'></a><a href='#L74'>74</a>
|
|
134
|
+
<a name='L75'></a><a href='#L75'>75</a>
|
|
135
|
+
<a name='L76'></a><a href='#L76'>76</a>
|
|
136
|
+
<a name='L77'></a><a href='#L77'>77</a>
|
|
137
|
+
<a name='L78'></a><a href='#L78'>78</a>
|
|
138
|
+
<a name='L79'></a><a href='#L79'>79</a>
|
|
139
|
+
<a name='L80'></a><a href='#L80'>80</a>
|
|
140
|
+
<a name='L81'></a><a href='#L81'>81</a>
|
|
141
|
+
<a name='L82'></a><a href='#L82'>82</a>
|
|
142
|
+
<a name='L83'></a><a href='#L83'>83</a>
|
|
143
|
+
<a name='L84'></a><a href='#L84'>84</a>
|
|
144
|
+
<a name='L85'></a><a href='#L85'>85</a>
|
|
145
|
+
<a name='L86'></a><a href='#L86'>86</a>
|
|
146
|
+
<a name='L87'></a><a href='#L87'>87</a>
|
|
147
|
+
<a name='L88'></a><a href='#L88'>88</a>
|
|
148
|
+
<a name='L89'></a><a href='#L89'>89</a>
|
|
149
|
+
<a name='L90'></a><a href='#L90'>90</a>
|
|
150
|
+
<a name='L91'></a><a href='#L91'>91</a>
|
|
151
|
+
<a name='L92'></a><a href='#L92'>92</a>
|
|
152
|
+
<a name='L93'></a><a href='#L93'>93</a>
|
|
153
|
+
<a name='L94'></a><a href='#L94'>94</a>
|
|
154
|
+
<a name='L95'></a><a href='#L95'>95</a>
|
|
155
|
+
<a name='L96'></a><a href='#L96'>96</a>
|
|
156
|
+
<a name='L97'></a><a href='#L97'>97</a>
|
|
157
|
+
<a name='L98'></a><a href='#L98'>98</a>
|
|
158
|
+
<a name='L99'></a><a href='#L99'>99</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
159
|
+
<span class="cline-any cline-neutral"> </span>
|
|
160
|
+
<span class="cline-any cline-neutral"> </span>
|
|
161
|
+
<span class="cline-any cline-neutral"> </span>
|
|
162
|
+
<span class="cline-any cline-neutral"> </span>
|
|
163
|
+
<span class="cline-any cline-neutral"> </span>
|
|
164
|
+
<span class="cline-any cline-neutral"> </span>
|
|
165
|
+
<span class="cline-any cline-neutral"> </span>
|
|
166
|
+
<span class="cline-any cline-neutral"> </span>
|
|
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>
|
|
170
|
+
<span class="cline-any cline-neutral"> </span>
|
|
171
|
+
<span class="cline-any cline-neutral"> </span>
|
|
172
|
+
<span class="cline-any cline-yes">1x</span>
|
|
173
|
+
<span class="cline-any cline-neutral"> </span>
|
|
174
|
+
<span class="cline-any cline-neutral"> </span>
|
|
175
|
+
<span class="cline-any cline-neutral"> </span>
|
|
176
|
+
<span class="cline-any cline-neutral"> </span>
|
|
177
|
+
<span class="cline-any cline-neutral"> </span>
|
|
178
|
+
<span class="cline-any cline-neutral"> </span>
|
|
179
|
+
<span class="cline-any cline-neutral"> </span>
|
|
180
|
+
<span class="cline-any cline-neutral"> </span>
|
|
181
|
+
<span class="cline-any cline-no"> </span>
|
|
182
|
+
<span class="cline-any cline-neutral"> </span>
|
|
183
|
+
<span class="cline-any cline-no"> </span>
|
|
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>
|
|
189
|
+
<span class="cline-any cline-neutral"> </span>
|
|
190
|
+
<span class="cline-any cline-neutral"> </span>
|
|
191
|
+
<span class="cline-any cline-no"> </span>
|
|
192
|
+
<span class="cline-any cline-neutral"> </span>
|
|
193
|
+
<span class="cline-any cline-neutral"> </span>
|
|
194
|
+
<span class="cline-any cline-neutral"> </span>
|
|
195
|
+
<span class="cline-any cline-yes">38x</span>
|
|
196
|
+
<span class="cline-any cline-yes">1x</span>
|
|
197
|
+
<span class="cline-any cline-neutral"> </span>
|
|
198
|
+
<span class="cline-any cline-neutral"> </span>
|
|
199
|
+
<span class="cline-any cline-neutral"> </span>
|
|
200
|
+
<span class="cline-any cline-neutral"> </span>
|
|
201
|
+
<span class="cline-any cline-neutral"> </span>
|
|
202
|
+
<span class="cline-any cline-neutral"> </span>
|
|
203
|
+
<span class="cline-any cline-neutral"> </span>
|
|
204
|
+
<span class="cline-any cline-neutral"> </span>
|
|
205
|
+
<span class="cline-any cline-neutral"> </span>
|
|
206
|
+
<span class="cline-any cline-yes">1x</span>
|
|
207
|
+
<span class="cline-any cline-neutral"> </span>
|
|
208
|
+
<span class="cline-any cline-neutral"> </span>
|
|
209
|
+
<span class="cline-any cline-neutral"> </span>
|
|
210
|
+
<span class="cline-any cline-neutral"> </span>
|
|
211
|
+
<span class="cline-any cline-yes">6x</span>
|
|
212
|
+
<span class="cline-any cline-yes">1x</span>
|
|
213
|
+
<span class="cline-any cline-neutral"> </span>
|
|
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>
|
|
217
|
+
<span class="cline-any cline-neutral"> </span>
|
|
218
|
+
<span class="cline-any cline-neutral"> </span>
|
|
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>
|
|
222
|
+
<span class="cline-any cline-neutral"> </span>
|
|
223
|
+
<span class="cline-any cline-neutral"> </span>
|
|
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>
|
|
230
|
+
<span class="cline-any cline-neutral"> </span>
|
|
231
|
+
<span class="cline-any cline-neutral"> </span>
|
|
232
|
+
<span class="cline-any cline-neutral"> </span>
|
|
233
|
+
<span class="cline-any cline-neutral"> </span>
|
|
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>
|
|
237
|
+
<span class="cline-any cline-yes">12x</span>
|
|
238
|
+
<span class="cline-any cline-yes">12x</span>
|
|
239
|
+
<span class="cline-any cline-yes">7x</span>
|
|
240
|
+
<span class="cline-any cline-yes">7x</span>
|
|
241
|
+
<span class="cline-any cline-yes">5x</span>
|
|
242
|
+
<span class="cline-any cline-yes">1x</span>
|
|
243
|
+
<span class="cline-any cline-neutral"> </span>
|
|
244
|
+
<span class="cline-any cline-neutral"> </span>
|
|
245
|
+
<span class="cline-any cline-neutral"> </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>
|
|
249
|
+
<span class="cline-any cline-neutral"> </span>
|
|
250
|
+
<span class="cline-any cline-neutral"> </span>
|
|
251
|
+
<span class="cline-any cline-yes">5x</span>
|
|
252
|
+
<span class="cline-any cline-neutral"> </span>
|
|
253
|
+
<span class="cline-any cline-neutral"> </span>
|
|
254
|
+
<span class="cline-any cline-neutral"> </span>
|
|
255
|
+
<span class="cline-any cline-neutral"> </span>
|
|
256
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { Comparator } from '../types';
|
|
257
|
+
|
|
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
|
+
}
|
|
264
|
+
|
|
265
|
+
|
|
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
|
+
}
|
|
269
|
+
|
|
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 {
|
|
278
|
+
|
|
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>
|
|
280
|
+
|
|
281
|
+
let changed = <span class="cstat-no" title="statement not covered" >true;</span>
|
|
282
|
+
|
|
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>
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
<span class="cstat-no" title="statement not covered" > return changed;</span>
|
|
290
|
+
|
|
291
|
+
}
|
|
292
|
+
|
|
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>
|
|
295
|
+
|
|
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
|
+
};
|
|
303
|
+
|
|
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 };
|
|
311
|
+
}
|
|
312
|
+
|
|
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>
|
|
317
|
+
|
|
318
|
+
const comparator = options?.comparator || DefaultComparator;
|
|
319
|
+
const updater = options?.updater || DefaultUpdater;
|
|
320
|
+
|
|
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;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
|
|
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
|
+
});
|
|
343
|
+
|
|
344
|
+
const sorter = options?.sorter;
|
|
345
|
+
if (sorter !== null) {
|
|
346
|
+
result.sort(sorter || undefined);
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
return {
|
|
350
|
+
result,
|
|
351
|
+
changed,
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
</pre></td></tr></table></pre>
|
|
355
|
+
|
|
356
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
357
|
+
</div><!-- /wrapper -->
|
|
358
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
359
|
+
Code coverage generated by
|
|
360
|
+
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
361
|
+
at Mon Jan 03 2022 18:18:41 GMT+0000 (Coordinated Universal Time)
|
|
362
|
+
</div>
|
|
363
|
+
</div>
|
|
364
|
+
<script src="prettify.js"></script>
|
|
365
|
+
<script>
|
|
366
|
+
window.onload = function () {
|
|
367
|
+
prettyPrint();
|
|
368
|
+
};
|
|
369
|
+
</script>
|
|
370
|
+
<script src="sorter.js"></script>
|
|
371
|
+
<script src="block-navigation.js"></script>
|
|
372
|
+
</body>
|
|
373
|
+
</html>
|
|
374
|
+
|
package/coverage/lcov.info
CHANGED
|
@@ -1340,6 +1340,124 @@ BRF:53
|
|
|
1340
1340
|
BRH:51
|
|
1341
1341
|
end_of_record
|
|
1342
1342
|
TN:
|
|
1343
|
+
SF:src/fields/update.ts
|
|
1344
|
+
FN:11,updateField
|
|
1345
|
+
FN:12,(anonymous_1)
|
|
1346
|
+
FN:12,(anonymous_2)
|
|
1347
|
+
FN:15,updateFieldExtended
|
|
1348
|
+
FN:24,(anonymous_4)
|
|
1349
|
+
FN:38,(anonymous_5)
|
|
1350
|
+
FN:39,(anonymous_6)
|
|
1351
|
+
FN:49,updateArray
|
|
1352
|
+
FN:69,(anonymous_8)
|
|
1353
|
+
FN:78,(anonymous_9)
|
|
1354
|
+
FN:79,(anonymous_10)
|
|
1355
|
+
FNF:11
|
|
1356
|
+
FNH:5
|
|
1357
|
+
FNDA:0,updateField
|
|
1358
|
+
FNDA:0,(anonymous_1)
|
|
1359
|
+
FNDA:0,(anonymous_2)
|
|
1360
|
+
FNDA:0,updateFieldExtended
|
|
1361
|
+
FNDA:0,(anonymous_4)
|
|
1362
|
+
FNDA:38,(anonymous_5)
|
|
1363
|
+
FNDA:0,(anonymous_6)
|
|
1364
|
+
FNDA:6,updateArray
|
|
1365
|
+
FNDA:31,(anonymous_8)
|
|
1366
|
+
FNDA:12,(anonymous_9)
|
|
1367
|
+
FNDA:15,(anonymous_10)
|
|
1368
|
+
DA:11,1
|
|
1369
|
+
DA:12,0
|
|
1370
|
+
DA:15,1
|
|
1371
|
+
DA:24,0
|
|
1372
|
+
DA:26,0
|
|
1373
|
+
DA:28,0
|
|
1374
|
+
DA:29,0
|
|
1375
|
+
DA:30,0
|
|
1376
|
+
DA:31,0
|
|
1377
|
+
DA:34,0
|
|
1378
|
+
DA:38,38
|
|
1379
|
+
DA:39,1
|
|
1380
|
+
DA:49,1
|
|
1381
|
+
DA:54,6
|
|
1382
|
+
DA:55,1
|
|
1383
|
+
DA:58,5
|
|
1384
|
+
DA:59,5
|
|
1385
|
+
DA:63,5
|
|
1386
|
+
DA:64,5
|
|
1387
|
+
DA:67,5
|
|
1388
|
+
DA:68,5
|
|
1389
|
+
DA:69,31
|
|
1390
|
+
DA:70,10
|
|
1391
|
+
DA:71,10
|
|
1392
|
+
DA:72,10
|
|
1393
|
+
DA:78,5
|
|
1394
|
+
DA:79,15
|
|
1395
|
+
DA:80,12
|
|
1396
|
+
DA:81,12
|
|
1397
|
+
DA:82,7
|
|
1398
|
+
DA:83,7
|
|
1399
|
+
DA:84,5
|
|
1400
|
+
DA:85,1
|
|
1401
|
+
DA:89,5
|
|
1402
|
+
DA:90,5
|
|
1403
|
+
DA:91,4
|
|
1404
|
+
DA:94,5
|
|
1405
|
+
LF:37
|
|
1406
|
+
LH:29
|
|
1407
|
+
BRDA:11,0,0,0
|
|
1408
|
+
BRDA:21,1,0,0
|
|
1409
|
+
BRDA:24,2,0,0
|
|
1410
|
+
BRDA:24,2,1,0
|
|
1411
|
+
BRDA:28,3,0,0
|
|
1412
|
+
BRDA:28,3,1,0
|
|
1413
|
+
BRDA:28,4,0,0
|
|
1414
|
+
BRDA:28,4,1,0
|
|
1415
|
+
BRDA:54,5,0,1
|
|
1416
|
+
BRDA:54,5,1,5
|
|
1417
|
+
BRDA:60,6,0,5
|
|
1418
|
+
BRDA:60,6,1,0
|
|
1419
|
+
BRDA:60,7,0,2
|
|
1420
|
+
BRDA:60,7,1,3
|
|
1421
|
+
BRDA:60,8,0,2
|
|
1422
|
+
BRDA:60,8,1,3
|
|
1423
|
+
BRDA:60,9,0,5
|
|
1424
|
+
BRDA:60,9,1,5
|
|
1425
|
+
BRDA:63,10,0,5
|
|
1426
|
+
BRDA:63,10,1,4
|
|
1427
|
+
BRDA:63,11,0,2
|
|
1428
|
+
BRDA:63,11,1,3
|
|
1429
|
+
BRDA:63,12,0,5
|
|
1430
|
+
BRDA:63,12,1,5
|
|
1431
|
+
BRDA:64,13,0,5
|
|
1432
|
+
BRDA:64,13,1,4
|
|
1433
|
+
BRDA:64,14,0,2
|
|
1434
|
+
BRDA:64,14,1,3
|
|
1435
|
+
BRDA:64,15,0,5
|
|
1436
|
+
BRDA:64,15,1,5
|
|
1437
|
+
BRDA:67,16,0,5
|
|
1438
|
+
BRDA:67,16,1,0
|
|
1439
|
+
BRDA:67,17,0,2
|
|
1440
|
+
BRDA:67,17,1,3
|
|
1441
|
+
BRDA:67,18,0,5
|
|
1442
|
+
BRDA:67,18,1,5
|
|
1443
|
+
BRDA:69,19,0,10
|
|
1444
|
+
BRDA:69,19,1,5
|
|
1445
|
+
BRDA:81,20,0,7
|
|
1446
|
+
BRDA:81,20,1,5
|
|
1447
|
+
BRDA:84,21,0,1
|
|
1448
|
+
BRDA:84,21,1,4
|
|
1449
|
+
BRDA:89,22,0,2
|
|
1450
|
+
BRDA:89,22,1,3
|
|
1451
|
+
BRDA:89,23,0,5
|
|
1452
|
+
BRDA:89,23,1,5
|
|
1453
|
+
BRDA:90,24,0,4
|
|
1454
|
+
BRDA:90,24,1,1
|
|
1455
|
+
BRDA:91,25,0,4
|
|
1456
|
+
BRDA:91,25,1,3
|
|
1457
|
+
BRF:50
|
|
1458
|
+
BRH:40
|
|
1459
|
+
end_of_record
|
|
1460
|
+
TN:
|
|
1343
1461
|
SF:src/logger/batch.ts
|
|
1344
1462
|
FN:3,batchLoggers
|
|
1345
1463
|
FN:5,(anonymous_1)
|
|
@@ -2315,18 +2433,22 @@ TN:
|
|
|
2315
2433
|
SF:src/viewModels/FlagModel.ts
|
|
2316
2434
|
FN:20,(anonymous_0)
|
|
2317
2435
|
FN:36,(anonymous_1)
|
|
2318
|
-
FN:
|
|
2319
|
-
FN:
|
|
2320
|
-
FN:
|
|
2321
|
-
FN:
|
|
2322
|
-
|
|
2436
|
+
FN:43,(anonymous_2)
|
|
2437
|
+
FN:50,(anonymous_3)
|
|
2438
|
+
FN:55,(anonymous_4)
|
|
2439
|
+
FN:25,(anonymous_5)
|
|
2440
|
+
FN:29,(anonymous_6)
|
|
2441
|
+
FN:33,(anonymous_7)
|
|
2442
|
+
FNF:8
|
|
2323
2443
|
FNH:3
|
|
2324
2444
|
FNDA:17,(anonymous_0)
|
|
2325
2445
|
FNDA:0,(anonymous_1)
|
|
2326
2446
|
FNDA:0,(anonymous_2)
|
|
2327
|
-
FNDA:
|
|
2328
|
-
FNDA:
|
|
2329
|
-
FNDA:
|
|
2447
|
+
FNDA:0,(anonymous_3)
|
|
2448
|
+
FNDA:0,(anonymous_4)
|
|
2449
|
+
FNDA:39,(anonymous_5)
|
|
2450
|
+
FNDA:38,(anonymous_6)
|
|
2451
|
+
FNDA:0,(anonymous_7)
|
|
2330
2452
|
DA:1,3
|
|
2331
2453
|
DA:15,3
|
|
2332
2454
|
DA:18,17
|
|
@@ -2337,10 +2459,18 @@ DA:30,38
|
|
|
2337
2459
|
DA:33,0
|
|
2338
2460
|
DA:36,17
|
|
2339
2461
|
DA:37,0
|
|
2340
|
-
DA:
|
|
2341
|
-
DA:
|
|
2342
|
-
|
|
2343
|
-
|
|
2462
|
+
DA:38,0
|
|
2463
|
+
DA:39,0
|
|
2464
|
+
DA:43,17
|
|
2465
|
+
DA:44,0
|
|
2466
|
+
DA:45,0
|
|
2467
|
+
DA:46,0
|
|
2468
|
+
DA:50,17
|
|
2469
|
+
DA:51,0
|
|
2470
|
+
DA:55,17
|
|
2471
|
+
DA:56,0
|
|
2472
|
+
LF:20
|
|
2473
|
+
LH:11
|
|
2344
2474
|
BRDA:20,0,0,13
|
|
2345
2475
|
BRF:1
|
|
2346
2476
|
BRH:1
|
|
@@ -2717,26 +2847,28 @@ FN:31,(anonymous_2)
|
|
|
2717
2847
|
FN:33,(anonymous_3)
|
|
2718
2848
|
FN:35,(anonymous_4)
|
|
2719
2849
|
FN:41,(anonymous_5)
|
|
2720
|
-
FN:
|
|
2721
|
-
FN:
|
|
2722
|
-
FN:
|
|
2723
|
-
FN:
|
|
2724
|
-
FN:
|
|
2725
|
-
FN:
|
|
2726
|
-
|
|
2850
|
+
FN:49,(anonymous_6)
|
|
2851
|
+
FN:72,(anonymous_7)
|
|
2852
|
+
FN:78,(anonymous_8)
|
|
2853
|
+
FN:83,(anonymous_9)
|
|
2854
|
+
FN:85,(anonymous_10)
|
|
2855
|
+
FN:88,(anonymous_11)
|
|
2856
|
+
FN:89,(anonymous_12)
|
|
2857
|
+
FNF:13
|
|
2727
2858
|
FNH:6
|
|
2728
2859
|
FNDA:1,(anonymous_0)
|
|
2729
2860
|
FNDA:11,(anonymous_1)
|
|
2730
2861
|
FNDA:0,(anonymous_2)
|
|
2731
2862
|
FNDA:1,(anonymous_3)
|
|
2732
2863
|
FNDA:11,(anonymous_4)
|
|
2733
|
-
FNDA:
|
|
2734
|
-
FNDA:
|
|
2735
|
-
FNDA:
|
|
2736
|
-
FNDA:
|
|
2864
|
+
FNDA:0,(anonymous_5)
|
|
2865
|
+
FNDA:1,(anonymous_6)
|
|
2866
|
+
FNDA:0,(anonymous_7)
|
|
2867
|
+
FNDA:2,(anonymous_8)
|
|
2737
2868
|
FNDA:0,(anonymous_9)
|
|
2738
2869
|
FNDA:0,(anonymous_10)
|
|
2739
2870
|
FNDA:0,(anonymous_11)
|
|
2871
|
+
FNDA:0,(anonymous_12)
|
|
2740
2872
|
DA:1,2
|
|
2741
2873
|
DA:2,2
|
|
2742
2874
|
DA:3,2
|
|
@@ -2753,27 +2885,31 @@ DA:33,1
|
|
|
2753
2885
|
DA:36,11
|
|
2754
2886
|
DA:37,11
|
|
2755
2887
|
DA:38,11
|
|
2756
|
-
DA:42,
|
|
2888
|
+
DA:42,0
|
|
2757
2889
|
DA:43,0
|
|
2758
|
-
DA:
|
|
2759
|
-
DA:
|
|
2760
|
-
DA:
|
|
2761
|
-
DA:
|
|
2890
|
+
DA:44,0
|
|
2891
|
+
DA:46,0
|
|
2892
|
+
DA:50,1
|
|
2893
|
+
DA:51,0
|
|
2894
|
+
DA:54,1
|
|
2762
2895
|
DA:55,1
|
|
2763
2896
|
DA:56,1
|
|
2764
|
-
DA:
|
|
2765
|
-
DA:
|
|
2766
|
-
DA:
|
|
2767
|
-
DA:65,0
|
|
2897
|
+
DA:60,0
|
|
2898
|
+
DA:63,1
|
|
2899
|
+
DA:64,1
|
|
2768
2900
|
DA:66,0
|
|
2769
|
-
DA:
|
|
2770
|
-
DA:
|
|
2771
|
-
DA:
|
|
2772
|
-
DA:
|
|
2773
|
-
DA:
|
|
2774
|
-
DA:
|
|
2775
|
-
DA:
|
|
2776
|
-
|
|
2901
|
+
DA:67,0
|
|
2902
|
+
DA:69,1
|
|
2903
|
+
DA:73,0
|
|
2904
|
+
DA:74,0
|
|
2905
|
+
DA:78,2
|
|
2906
|
+
DA:79,2
|
|
2907
|
+
DA:80,2
|
|
2908
|
+
DA:84,0
|
|
2909
|
+
DA:85,0
|
|
2910
|
+
DA:88,0
|
|
2911
|
+
DA:89,0
|
|
2912
|
+
LF:40
|
|
2777
2913
|
LH:25
|
|
2778
2914
|
BRDA:36,0,0,11
|
|
2779
2915
|
BRDA:36,0,1,11
|
|
@@ -2786,17 +2922,19 @@ BRDA:37,3,1,0
|
|
|
2786
2922
|
BRDA:37,4,0,11
|
|
2787
2923
|
BRDA:37,4,1,11
|
|
2788
2924
|
BRDA:42,5,0,0
|
|
2789
|
-
BRDA:42,5,1,
|
|
2790
|
-
BRDA:
|
|
2791
|
-
BRDA:
|
|
2792
|
-
BRDA:
|
|
2793
|
-
BRDA:
|
|
2794
|
-
BRDA:
|
|
2795
|
-
BRDA:
|
|
2796
|
-
BRDA:
|
|
2797
|
-
BRDA:
|
|
2798
|
-
BRDA:
|
|
2799
|
-
|
|
2925
|
+
BRDA:42,5,1,0
|
|
2926
|
+
BRDA:50,6,0,0
|
|
2927
|
+
BRDA:50,6,1,1
|
|
2928
|
+
BRDA:57,7,0,1
|
|
2929
|
+
BRDA:57,7,1,0
|
|
2930
|
+
BRDA:63,8,0,1
|
|
2931
|
+
BRDA:63,8,1,0
|
|
2932
|
+
BRDA:67,9,0,0
|
|
2933
|
+
BRDA:67,9,1,0
|
|
2934
|
+
BRDA:83,10,0,0
|
|
2935
|
+
BRDA:84,11,0,0
|
|
2936
|
+
BRDA:84,11,1,0
|
|
2937
|
+
BRF:23
|
|
2800
2938
|
BRH:11
|
|
2801
2939
|
end_of_record
|
|
2802
2940
|
TN:
|