@zajno/common 1.2.5 → 1.3.0-beta
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 +453 -173
- package/coverage/coverage-final.json +38 -30
- package/coverage/lcov-report/index.html +34 -19
- 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 +5 -5
- 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 +11 -11
- package/coverage/lcov-report/src/event.ts.html +6 -6
- package/coverage/lcov-report/src/index.html +49 -19
- package/coverage/lcov-report/src/lazy.light.ts.html +155 -0
- package/coverage/lcov-report/src/logger/console.ts.html +2 -2
- package/coverage/lcov-report/src/logger/index.html +1 -1
- package/coverage/lcov-report/src/logger/index.ts.html +8 -8
- package/coverage/lcov-report/src/logger/named.ts.html +16 -16
- package/coverage/lcov-report/src/logger/proxy.ts.html +4 -4
- 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 +192 -45
- package/coverage/lcov-report/src/types.ts.html +143 -0
- package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +22 -22
- package/coverage/lcov-report/src/validation/creditCard.ts.html +4 -4
- package/coverage/lcov-report/src/validation/helpers.ts.html +6 -6
- package/coverage/lcov-report/src/validation/index.html +1 -1
- package/coverage/lcov-report/src/validation/index.ts.html +6 -6
- package/coverage/lcov-report/src/validation/types.ts.html +2 -2
- package/coverage/lcov-report/src/validation/validators.ts.html +5 -5
- package/coverage/lcov-report/src/validation/wrappers.ts.html +5 -5
- package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +209 -0
- package/coverage/lcov-report/src/viewModels/LabeledFlagModel.ts.html +146 -0
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +530 -0
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +188 -0
- package/coverage/lcov-report/{enumHelper.ts.html → src/viewModels/SelectModel.ts.html} +158 -152
- package/coverage/lcov-report/src/viewModels/SelectViewModel.ts.html +434 -0
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +329 -0
- package/coverage/lcov-report/src/viewModels/index.html +186 -0
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +239 -0
- package/coverage/lcov-report/transitionObserver.ts.html +155 -44
- package/coverage/lcov.info +838 -229
- package/lib/timeHelper.d.ts +3 -0
- package/lib/timeHelper.d.ts.map +1 -1
- package/lib/timeHelper.js +3 -0
- package/lib/timeHelper.js.map +1 -1
- package/lib/transitionObserver.d.ts +6 -0
- package/lib/transitionObserver.d.ts.map +1 -1
- package/lib/transitionObserver.js +42 -0
- package/lib/transitionObserver.js.map +1 -1
- package/lib/types.d.ts +5 -0
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +14 -0
- package/lib/types.js.map +1 -1
- package/lib/viewModels/FlagModel.d.ts +19 -0
- package/lib/viewModels/FlagModel.d.ts.map +1 -0
- package/lib/viewModels/FlagModel.js +38 -0
- package/lib/viewModels/FlagModel.js.map +1 -0
- package/lib/viewModels/MultiSelectModel.d.ts +41 -0
- package/lib/viewModels/MultiSelectModel.d.ts.map +1 -0
- package/lib/viewModels/MultiSelectModel.js +150 -0
- package/lib/viewModels/MultiSelectModel.js.map +1 -0
- package/lib/viewModels/NumberModel.d.ts +16 -0
- package/lib/viewModels/NumberModel.d.ts.map +1 -0
- package/lib/viewModels/NumberModel.js +40 -0
- package/lib/viewModels/NumberModel.js.map +1 -0
- package/lib/viewModels/PromptModalViewModel.d.ts +20 -16
- package/lib/viewModels/PromptModalViewModel.d.ts.map +1 -1
- package/lib/viewModels/PromptModalViewModel.js +37 -36
- package/lib/viewModels/PromptModalViewModel.js.map +1 -1
- package/lib/viewModels/{SelectViewModel.d.ts → SelectModel.d.ts} +14 -8
- package/lib/viewModels/SelectModel.d.ts.map +1 -0
- package/lib/viewModels/SelectModel.js +109 -0
- package/lib/viewModels/SelectModel.js.map +1 -0
- package/lib/viewModels/{TextInputViewModel.d.ts → TextModel.d.ts} +10 -9
- package/lib/viewModels/TextModel.d.ts.map +1 -0
- package/lib/viewModels/{TextInputViewModel.js → TextModel.js} +8 -17
- package/lib/viewModels/TextModel.js.map +1 -0
- package/lib/viewModels/Validatable.d.ts +9 -7
- package/lib/viewModels/Validatable.d.ts.map +1 -1
- package/lib/viewModels/Validatable.js +22 -8
- package/lib/viewModels/Validatable.js.map +1 -1
- package/lib/viewModels/ValuesCollector.d.ts +28 -0
- package/lib/viewModels/ValuesCollector.d.ts.map +1 -0
- package/lib/viewModels/ValuesCollector.js +51 -0
- package/lib/viewModels/ValuesCollector.js.map +1 -0
- package/lib/viewModels/index.d.ts +7 -5
- package/lib/viewModels/index.d.ts.map +1 -1
- package/lib/viewModels/index.js +7 -5
- package/lib/viewModels/index.js.map +1 -1
- package/lib/viewModels/wrappers.d.ts +15 -0
- package/lib/viewModels/wrappers.d.ts.map +1 -0
- package/lib/viewModels/wrappers.js +43 -0
- package/lib/viewModels/wrappers.js.map +1 -0
- package/package.json +1 -1
- package/src/__tests__/transitionObserver.test.ts +39 -0
- package/src/timeHelper.ts +3 -0
- package/src/transitionObserver.ts +49 -0
- package/src/types.ts +16 -0
- package/src/viewModels/FlagModel.ts +43 -0
- package/src/viewModels/MultiSelectModel.ts +150 -0
- package/src/viewModels/NumberModel.ts +36 -0
- package/src/viewModels/PromptModalViewModel.ts +43 -49
- package/src/viewModels/SelectModel.ts +125 -0
- package/src/viewModels/{TextInputViewModel.ts → TextModel.ts} +22 -25
- package/src/viewModels/Validatable.ts +26 -11
- package/src/viewModels/ValuesCollector.ts +84 -0
- package/src/viewModels/__tests__/multiSelect.test.ts +23 -0
- package/src/viewModels/__tests__/select.test.ts +71 -0
- package/src/viewModels/__tests__/wrappers.test.ts +79 -0
- package/src/viewModels/index.ts +9 -5
- package/src/viewModels/wrappers.ts +53 -0
- package/yarn-error.log +3709 -0
- package/lib/viewModels/RadioButtonGroupViewModel.d.ts +0 -11
- package/lib/viewModels/RadioButtonGroupViewModel.d.ts.map +0 -1
- package/lib/viewModels/RadioButtonGroupViewModel.js +0 -51
- package/lib/viewModels/RadioButtonGroupViewModel.js.map +0 -1
- package/lib/viewModels/RadioButtonViewModel.d.ts +0 -9
- package/lib/viewModels/RadioButtonViewModel.d.ts.map +0 -1
- package/lib/viewModels/RadioButtonViewModel.js +0 -32
- package/lib/viewModels/RadioButtonViewModel.js.map +0 -1
- package/lib/viewModels/SelectViewModel.d.ts.map +0 -1
- package/lib/viewModels/SelectViewModel.js +0 -88
- package/lib/viewModels/SelectViewModel.js.map +0 -1
- package/lib/viewModels/TextInputViewModel.d.ts.map +0 -1
- package/lib/viewModels/TextInputViewModel.js.map +0 -1
- package/src/viewModels/RadioButtonGroupViewModel.ts +0 -47
- package/src/viewModels/RadioButtonViewModel.ts +0 -26
- package/src/viewModels/SelectViewModel.ts +0 -88
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/viewModels/wrappers.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> / <a href="index.html">src/viewModels</a> wrappers.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">84.21% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>16/19</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>0/0</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">70% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>7/10</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">84.21% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>16/19</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 high'></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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
|
|
114
|
+
<span class="cline-any cline-neutral"> </span>
|
|
115
|
+
<span class="cline-any cline-neutral"> </span>
|
|
116
|
+
<span class="cline-any cline-neutral"> </span>
|
|
117
|
+
<span class="cline-any cline-neutral"> </span>
|
|
118
|
+
<span class="cline-any cline-neutral"> </span>
|
|
119
|
+
<span class="cline-any cline-neutral"> </span>
|
|
120
|
+
<span class="cline-any cline-yes">3x</span>
|
|
121
|
+
<span class="cline-any cline-yes">6x</span>
|
|
122
|
+
<span class="cline-any cline-yes">6x</span>
|
|
123
|
+
<span class="cline-any cline-neutral"> </span>
|
|
124
|
+
<span class="cline-any cline-neutral"> </span>
|
|
125
|
+
<span class="cline-any cline-yes">13x</span>
|
|
126
|
+
<span class="cline-any cline-neutral"> </span>
|
|
127
|
+
<span class="cline-any cline-neutral"> </span>
|
|
128
|
+
<span class="cline-any cline-yes">6x</span>
|
|
129
|
+
<span class="cline-any cline-neutral"> </span>
|
|
130
|
+
<span class="cline-any cline-neutral"> </span>
|
|
131
|
+
<span class="cline-any cline-yes">3x</span>
|
|
132
|
+
<span class="cline-any cline-yes">3x</span>
|
|
133
|
+
<span class="cline-any cline-neutral"> </span>
|
|
134
|
+
<span class="cline-any cline-neutral"> </span>
|
|
135
|
+
<span class="cline-any cline-yes">6x</span>
|
|
136
|
+
<span class="cline-any cline-yes">3x</span>
|
|
137
|
+
<span class="cline-any cline-neutral"> </span>
|
|
138
|
+
<span class="cline-any cline-neutral"> </span>
|
|
139
|
+
<span class="cline-any cline-yes">3x</span>
|
|
140
|
+
<span class="cline-any cline-neutral"> </span>
|
|
141
|
+
<span class="cline-any cline-neutral"> </span>
|
|
142
|
+
<span class="cline-any cline-yes">3x</span>
|
|
143
|
+
<span class="cline-any cline-no"> </span>
|
|
144
|
+
<span class="cline-any cline-no"> </span>
|
|
145
|
+
<span class="cline-any cline-no"> </span>
|
|
146
|
+
<span class="cline-any cline-neutral"> </span>
|
|
147
|
+
<span class="cline-any cline-neutral"> </span>
|
|
148
|
+
<span class="cline-any cline-neutral"> </span>
|
|
149
|
+
<span class="cline-any cline-neutral"> </span>
|
|
150
|
+
<span class="cline-any cline-neutral"> </span>
|
|
151
|
+
<span class="cline-any cline-neutral"> </span>
|
|
152
|
+
<span class="cline-any cline-neutral"> </span>
|
|
153
|
+
<span class="cline-any cline-neutral"> </span>
|
|
154
|
+
<span class="cline-any cline-neutral"> </span>
|
|
155
|
+
<span class="cline-any cline-yes">3x</span>
|
|
156
|
+
<span class="cline-any cline-neutral"> </span>
|
|
157
|
+
<span class="cline-any cline-neutral"> </span>
|
|
158
|
+
<span class="cline-any cline-neutral"> </span>
|
|
159
|
+
<span class="cline-any cline-yes">2x</span>
|
|
160
|
+
<span class="cline-any cline-yes">2x</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-yes">1x</span>
|
|
165
|
+
<span class="cline-any cline-neutral"> </span>
|
|
166
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { Getter } from '../types';
|
|
167
|
+
import { IValueModel } from './ValuesCollector';
|
|
168
|
+
|
|
169
|
+
export interface ILabel<T> {
|
|
170
|
+
readonly label: T;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export function withLabel<T, TModel extends IValueModel<T>, TLabel = string>(model: TModel, label: Getter<TLabel>) {
|
|
174
|
+
const _label = label;
|
|
175
|
+
Object.defineProperty(model, 'label', {
|
|
176
|
+
configurable: true,
|
|
177
|
+
enumerable: false,
|
|
178
|
+
get() { return Getter.getValue(_label); },
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
return model as TModel & ILabel<TLabel>;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
export function inject<T, TModel extends IValueModel<T>>(model: TModel, source: IValueModel<T>) {
|
|
185
|
+
Object.defineProperty(model, 'value', {
|
|
186
|
+
configurable: true,
|
|
187
|
+
enumerable: false,
|
|
188
|
+
get() { return source.value; },
|
|
189
|
+
set(v: T) { source.value = v; },
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
return model;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
export function <span class="fstat-no" title="function not covered" >wrap<</span>T, TModel extends IValueModel<T>, TRes>(model: TModel, getter: (m: TModel) => TRes, setter: (v: TRes, model: TModel) => void): IValueModel<TRes> {
|
|
196
|
+
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
197
|
+
<span class="fstat-no" title="function not covered" > get v</span>alue() { <span class="cstat-no" title="statement not covered" >return getter(model); </span>},
|
|
198
|
+
<span class="fstat-no" title="function not covered" > set v</span>alue(v: TRes) { <span class="cstat-no" title="statement not covered" >setter(v, model); </span>},
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
type LabeledModel<T, TModel extends IValueModel<T>, TLabel = string> = TModel & ILabel<TLabel>;
|
|
203
|
+
|
|
204
|
+
interface LabeledModelCtor<T, TModel extends IValueModel<T>, TLabel = string> {
|
|
205
|
+
new (label?: Getter<TLabel>, initial?: T): LabeledModel<T, TModel, TLabel>;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
export function mixinLabel<T, TModel extends IValueModel<T>, TLabel = string>(Superclass: new (initial?: T) => TModel): LabeledModelCtor<T, TModel, TLabel> {
|
|
209
|
+
// @ts-ignore
|
|
210
|
+
class Sub extends Superclass {
|
|
211
|
+
constructor(label: Getter<TLabel>, initial?: T) {
|
|
212
|
+
super(initial);
|
|
213
|
+
withLabel(this, label);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
return Sub as any;
|
|
218
|
+
}
|
|
219
|
+
</pre></td></tr></table></pre>
|
|
220
|
+
|
|
221
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
222
|
+
</div><!-- /wrapper -->
|
|
223
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
224
|
+
Code coverage generated by
|
|
225
|
+
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
226
|
+
at Mon Nov 22 2021 09:37:35 GMT+0000 (Coordinated Universal Time)
|
|
227
|
+
</div>
|
|
228
|
+
</div>
|
|
229
|
+
<script src="../../prettify.js"></script>
|
|
230
|
+
<script>
|
|
231
|
+
window.onload = function () {
|
|
232
|
+
prettyPrint();
|
|
233
|
+
};
|
|
234
|
+
</script>
|
|
235
|
+
<script src="../../sorter.js"></script>
|
|
236
|
+
<script src="../../block-navigation.js"></script>
|
|
237
|
+
</body>
|
|
238
|
+
</html>
|
|
239
|
+
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">91.
|
|
26
|
+
<span class="strong">91.25% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>73/80</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">83.78% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>31/37</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">85.71% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>18/21</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">91.
|
|
47
|
+
<span class="strong">91.14% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>72/79</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -184,47 +184,85 @@
|
|
|
184
184
|
<a name='L125'></a><a href='#L125'>125</a>
|
|
185
185
|
<a name='L126'></a><a href='#L126'>126</a>
|
|
186
186
|
<a name='L127'></a><a href='#L127'>127</a>
|
|
187
|
-
<a name='L128'></a><a href='#L128'>128</a
|
|
187
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
188
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
189
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
190
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
191
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
192
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
193
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
194
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
195
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
196
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
197
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
198
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
199
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
200
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
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>
|
|
213
|
+
<a name='L154'></a><a href='#L154'>154</a>
|
|
214
|
+
<a name='L155'></a><a href='#L155'>155</a>
|
|
215
|
+
<a name='L156'></a><a href='#L156'>156</a>
|
|
216
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
217
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
218
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
219
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
220
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
221
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
222
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
223
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
224
|
+
<a name='L165'></a><a href='#L165'>165</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
188
225
|
<span class="cline-any cline-yes">1x</span>
|
|
189
226
|
<span class="cline-any cline-yes">1x</span>
|
|
190
227
|
<span class="cline-any cline-neutral"> </span>
|
|
191
228
|
<span class="cline-any cline-neutral"> </span>
|
|
192
229
|
<span class="cline-any cline-yes">1x</span>
|
|
193
230
|
<span class="cline-any cline-neutral"> </span>
|
|
194
|
-
<span class="cline-any cline-yes">
|
|
195
|
-
<span class="cline-any cline-yes">
|
|
231
|
+
<span class="cline-any cline-yes">7x</span>
|
|
232
|
+
<span class="cline-any cline-yes">7x</span>
|
|
196
233
|
<span class="cline-any cline-neutral"> </span>
|
|
197
234
|
<span class="cline-any cline-neutral"> </span>
|
|
198
|
-
<span class="cline-any cline-yes">
|
|
235
|
+
<span class="cline-any cline-yes">7x</span>
|
|
199
236
|
<span class="cline-any cline-neutral"> </span>
|
|
200
|
-
<span class="cline-any cline-yes">
|
|
201
|
-
<span class="cline-any cline-yes">
|
|
237
|
+
<span class="cline-any cline-yes">7x</span>
|
|
238
|
+
<span class="cline-any cline-yes">7x</span>
|
|
202
239
|
<span class="cline-any cline-neutral"> </span>
|
|
203
240
|
<span class="cline-any cline-neutral"> </span>
|
|
204
|
-
<span class="cline-any cline-yes">
|
|
241
|
+
<span class="cline-any cline-yes">7x</span>
|
|
205
242
|
<span class="cline-any cline-neutral"> </span>
|
|
206
|
-
<span class="cline-any cline-yes">
|
|
243
|
+
<span class="cline-any cline-yes">7x</span>
|
|
244
|
+
<span class="cline-any cline-yes">7x</span>
|
|
207
245
|
<span class="cline-any cline-neutral"> </span>
|
|
246
|
+
<span class="cline-any cline-yes">7x</span>
|
|
208
247
|
<span class="cline-any cline-neutral"> </span>
|
|
209
|
-
<span class="cline-any cline-
|
|
210
|
-
<span class="cline-any cline-yes">
|
|
248
|
+
<span class="cline-any cline-neutral"> </span>
|
|
249
|
+
<span class="cline-any cline-yes">7x</span>
|
|
250
|
+
<span class="cline-any cline-yes">6x</span>
|
|
211
251
|
<span class="cline-any cline-neutral"> </span>
|
|
212
252
|
<span class="cline-any cline-neutral"> </span>
|
|
213
253
|
<span class="cline-any cline-neutral"> </span>
|
|
214
254
|
<span class="cline-any cline-yes">1x</span>
|
|
215
255
|
<span class="cline-any cline-yes">3x</span>
|
|
216
256
|
<span class="cline-any cline-neutral"> </span>
|
|
257
|
+
<span class="cline-any cline-yes">3x</span>
|
|
258
|
+
<span class="cline-any cline-yes">19x</span>
|
|
217
259
|
<span class="cline-any cline-neutral"> </span>
|
|
218
|
-
<span class="cline-any cline-yes">5x</span>
|
|
219
|
-
<span class="cline-any cline-yes">5x</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-yes">5x</span>
|
|
223
260
|
<span class="cline-any cline-neutral"> </span>
|
|
224
|
-
<span class="cline-any cline-
|
|
225
|
-
<span class="cline-any cline-
|
|
226
|
-
<span class="cline-any cline-yes">
|
|
227
|
-
<span class="cline-any cline-yes">
|
|
261
|
+
<span class="cline-any cline-yes">7x</span>
|
|
262
|
+
<span class="cline-any cline-yes">7x</span>
|
|
263
|
+
<span class="cline-any cline-yes">7x</span>
|
|
264
|
+
<span class="cline-any cline-yes">7x</span>
|
|
265
|
+
<span class="cline-any cline-yes">7x</span>
|
|
228
266
|
<span class="cline-any cline-neutral"> </span>
|
|
229
267
|
<span class="cline-any cline-neutral"> </span>
|
|
230
268
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -238,6 +276,14 @@
|
|
|
238
276
|
<span class="cline-any cline-neutral"> </span>
|
|
239
277
|
<span class="cline-any cline-neutral"> </span>
|
|
240
278
|
<span class="cline-any cline-neutral"> </span>
|
|
279
|
+
<span class="cline-any cline-yes">7x</span>
|
|
280
|
+
<span class="cline-any cline-no"> </span>
|
|
281
|
+
<span class="cline-any cline-neutral"> </span>
|
|
282
|
+
<span class="cline-any cline-yes">7x</span>
|
|
283
|
+
<span class="cline-any cline-yes">7x</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>
|
|
241
287
|
<span class="cline-any cline-yes">1x</span>
|
|
242
288
|
<span class="cline-any cline-yes">1x</span>
|
|
243
289
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -259,6 +305,21 @@
|
|
|
259
305
|
<span class="cline-any cline-neutral"> </span>
|
|
260
306
|
<span class="cline-any cline-neutral"> </span>
|
|
261
307
|
<span class="cline-any cline-neutral"> </span>
|
|
308
|
+
<span class="cline-any cline-yes">3x</span>
|
|
309
|
+
<span class="cline-any cline-yes">3x</span>
|
|
310
|
+
<span class="cline-any cline-no"> </span>
|
|
311
|
+
<span class="cline-any cline-neutral"> </span>
|
|
312
|
+
<span class="cline-any cline-neutral"> </span>
|
|
313
|
+
<span class="cline-any cline-yes">3x</span>
|
|
314
|
+
<span class="cline-any cline-yes">3x</span>
|
|
315
|
+
<span class="cline-any cline-yes">3x</span>
|
|
316
|
+
<span class="cline-any cline-neutral"> </span>
|
|
317
|
+
<span class="cline-any cline-yes">3x</span>
|
|
318
|
+
<span class="cline-any cline-neutral"> </span>
|
|
319
|
+
<span class="cline-any cline-yes">3x</span>
|
|
320
|
+
<span class="cline-any cline-neutral"> </span>
|
|
321
|
+
<span class="cline-any cline-neutral"> </span>
|
|
322
|
+
<span class="cline-any cline-neutral"> </span>
|
|
262
323
|
<span class="cline-any cline-no"> </span>
|
|
263
324
|
<span class="cline-any cline-neutral"> </span>
|
|
264
325
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -269,22 +330,26 @@
|
|
|
269
330
|
<span class="cline-any cline-no"> </span>
|
|
270
331
|
<span class="cline-any cline-neutral"> </span>
|
|
271
332
|
<span class="cline-any cline-neutral"> </span>
|
|
333
|
+
<span class="cline-any cline-yes">7x</span>
|
|
334
|
+
<span class="cline-any cline-yes">12x</span>
|
|
335
|
+
<span class="cline-any cline-yes">12x</span>
|
|
336
|
+
<span class="cline-any cline-yes">5x</span>
|
|
272
337
|
<span class="cline-any cline-yes">5x</span>
|
|
273
|
-
<span class="cline-any cline-yes">9x</span>
|
|
274
|
-
<span class="cline-any cline-yes">9x</span>
|
|
275
|
-
<span class="cline-any cline-yes">4x</span>
|
|
276
338
|
<span class="cline-any cline-neutral"> </span>
|
|
339
|
+
<span class="cline-any cline-yes">12x</span>
|
|
340
|
+
<span class="cline-any cline-yes">1x</span>
|
|
277
341
|
<span class="cline-any cline-neutral"> </span>
|
|
278
342
|
<span class="cline-any cline-neutral"> </span>
|
|
279
|
-
<span class="cline-any cline-yes">5x</span>
|
|
280
|
-
<span class="cline-any cline-yes">16x</span>
|
|
281
343
|
<span class="cline-any cline-neutral"> </span>
|
|
282
|
-
<span class="cline-any cline-yes">
|
|
344
|
+
<span class="cline-any cline-yes">7x</span>
|
|
345
|
+
<span class="cline-any cline-yes">19x</span>
|
|
346
|
+
<span class="cline-any cline-neutral"> </span>
|
|
347
|
+
<span class="cline-any cline-yes">19x</span>
|
|
283
348
|
<span class="cline-any cline-neutral"> </span>
|
|
284
349
|
<span class="cline-any cline-yes">4x</span>
|
|
285
|
-
<span class="cline-any cline-yes">
|
|
350
|
+
<span class="cline-any cline-yes">15x</span>
|
|
286
351
|
<span class="cline-any cline-neutral"> </span>
|
|
287
|
-
<span class="cline-any cline-yes">
|
|
352
|
+
<span class="cline-any cline-yes">11x</span>
|
|
288
353
|
<span class="cline-any cline-neutral"> </span>
|
|
289
354
|
<span class="cline-any cline-neutral"> </span>
|
|
290
355
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -292,23 +357,32 @@
|
|
|
292
357
|
<span class="cline-any cline-yes">4x</span>
|
|
293
358
|
<span class="cline-any cline-neutral"> </span>
|
|
294
359
|
<span class="cline-any cline-neutral"> </span>
|
|
295
|
-
<span class="cline-any cline-yes">
|
|
360
|
+
<span class="cline-any cline-yes">19x</span>
|
|
296
361
|
<span class="cline-any cline-neutral"> </span>
|
|
297
|
-
<span class="cline-any cline-yes">
|
|
362
|
+
<span class="cline-any cline-yes">19x</span>
|
|
298
363
|
<span class="cline-any cline-neutral"> </span>
|
|
299
|
-
<span class="cline-any cline-yes">
|
|
300
|
-
<span class="cline-any cline-yes">
|
|
364
|
+
<span class="cline-any cline-yes">19x</span>
|
|
365
|
+
<span class="cline-any cline-yes">11x</span>
|
|
301
366
|
<span class="cline-any cline-neutral"> </span>
|
|
302
|
-
<span class="cline-any cline-yes">
|
|
303
|
-
<span class="cline-any cline-yes">
|
|
367
|
+
<span class="cline-any cline-yes">11x</span>
|
|
368
|
+
<span class="cline-any cline-yes">11x</span>
|
|
304
369
|
<span class="cline-any cline-neutral"> </span>
|
|
305
370
|
<span class="cline-any cline-neutral"> </span>
|
|
306
|
-
<span class="cline-any cline-yes">
|
|
371
|
+
<span class="cline-any cline-yes">11x</span>
|
|
307
372
|
<span class="cline-any cline-yes">1x</span>
|
|
308
373
|
<span class="cline-any cline-neutral"> </span>
|
|
309
374
|
<span class="cline-any cline-neutral"> </span>
|
|
310
375
|
<span class="cline-any cline-neutral"> </span>
|
|
311
|
-
<span class="cline-any cline-yes">
|
|
376
|
+
<span class="cline-any cline-yes">19x</span>
|
|
377
|
+
<span class="cline-any cline-neutral"> </span>
|
|
378
|
+
<span class="cline-any cline-neutral"> </span>
|
|
379
|
+
<span class="cline-any cline-neutral"> </span>
|
|
380
|
+
<span class="cline-any cline-yes">3x</span>
|
|
381
|
+
<span class="cline-any cline-yes">3x</span>
|
|
382
|
+
<span class="cline-any cline-yes">3x</span>
|
|
383
|
+
<span class="cline-any cline-yes">3x</span>
|
|
384
|
+
<span class="cline-any cline-yes">3x</span>
|
|
385
|
+
<span class="cline-any cline-neutral"> </span>
|
|
312
386
|
<span class="cline-any cline-neutral"> </span>
|
|
313
387
|
<span class="cline-any cline-neutral"> </span>
|
|
314
388
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { reaction } from 'mobx';
|
|
@@ -329,6 +403,9 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
329
403
|
|
|
330
404
|
private _cb: (v: T) => any;
|
|
331
405
|
private _fireOnce = false;
|
|
406
|
+
|
|
407
|
+
private _promise: Promise<T> = null;
|
|
408
|
+
private _promiseReject: (err?: any) => any = null;
|
|
332
409
|
|
|
333
410
|
private logger: ILogger = createLogger('', true);
|
|
334
411
|
|
|
@@ -340,6 +417,9 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
340
417
|
|
|
341
418
|
public get event(): IEvent<T> { return this._event; }
|
|
342
419
|
public get currentValue() { return this._prev; }
|
|
420
|
+
|
|
421
|
+
public get isObserving() { return this._disposer != null; }
|
|
422
|
+
private get isPromising() { return this._promiseReject != null; }
|
|
343
423
|
|
|
344
424
|
observe(getter: () => T) {
|
|
345
425
|
this.dispose();
|
|
@@ -360,6 +440,9 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
360
440
|
}
|
|
361
441
|
|
|
362
442
|
cb(cb: (v: T) => any) {
|
|
443
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (this.isPromising) {
|
|
444
|
+
<span class="cstat-no" title="statement not covered" > throw new Error('Cannot set callback when promise is running');</span>
|
|
445
|
+
}
|
|
363
446
|
this._cb = cb;
|
|
364
447
|
return this;
|
|
365
448
|
}
|
|
@@ -384,6 +467,21 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
384
467
|
<span class="cstat-no" title="statement not covered" > this.forceCheck();</span>
|
|
385
468
|
<span class="cstat-no" title="statement not covered" > return this;</span>
|
|
386
469
|
}
|
|
470
|
+
|
|
471
|
+
getPromise() {
|
|
472
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (!this._promise) {
|
|
473
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!this.isObserving) {
|
|
474
|
+
<span class="cstat-no" title="statement not covered" > return Promise.reject(new Error('Cannot get promise for disposed TransitionObserver'));</span>
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
this._promise = new Promise<T>((resolve, reject) => {
|
|
478
|
+
this._promiseReject = reject;
|
|
479
|
+
this._cb = (v => this._finishPromise(resolve, v));
|
|
480
|
+
});
|
|
481
|
+
this.logger.log('started a new promise...');
|
|
482
|
+
}
|
|
483
|
+
return this._promise;
|
|
484
|
+
}
|
|
387
485
|
|
|
388
486
|
<span class="fstat-no" title="function not covered" > reverse(</span>) {
|
|
389
487
|
<span class="cstat-no" title="statement not covered" > return new TransitionObserver<T>(this._getter)</span>
|
|
@@ -400,6 +498,10 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
400
498
|
this.logger.log(' disposing... ');
|
|
401
499
|
if (this._disposer) {
|
|
402
500
|
this._disposer();
|
|
501
|
+
this._disposer = null;
|
|
502
|
+
}
|
|
503
|
+
if (this.isPromising) {
|
|
504
|
+
this._finishPromise(this._promiseReject, new Error('TransitionObserver Aborted'));
|
|
403
505
|
}
|
|
404
506
|
};
|
|
405
507
|
|
|
@@ -437,6 +539,15 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
437
539
|
|
|
438
540
|
return trigger;
|
|
439
541
|
};
|
|
542
|
+
|
|
543
|
+
private _finishPromise<T>(cb: (a?: T) => any, arg?: T) {
|
|
544
|
+
this._promise = null;
|
|
545
|
+
this._promiseReject = null;
|
|
546
|
+
this._cb = null;
|
|
547
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (cb) {
|
|
548
|
+
cb(arg);
|
|
549
|
+
}
|
|
550
|
+
}
|
|
440
551
|
}
|
|
441
552
|
</pre></td></tr></table></pre>
|
|
442
553
|
|
|
@@ -445,7 +556,7 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
445
556
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
446
557
|
Code coverage generated by
|
|
447
558
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
448
|
-
at
|
|
559
|
+
at Tue Nov 02 2021 16:09:11 GMT+0000 (Coordinated Universal Time)
|
|
449
560
|
</div>
|
|
450
561
|
</div>
|
|
451
562
|
<script src="prettify.js"></script>
|