@zajno/common 1.2.6 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/coverage/clover.xml +410 -144
- 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 +3 -3
- 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 +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 +113 -41
- 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 +77 -41
- package/coverage/lcov.info +765 -184
- 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 +3 -1
- package/lib/transitionObserver.d.ts.map +1 -1
- package/lib/transitionObserver.js +25 -5
- 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/PromptModal.d.ts +31 -0
- package/lib/viewModels/PromptModal.d.ts.map +1 -0
- package/lib/viewModels/PromptModal.js +57 -0
- package/lib/viewModels/PromptModal.js.map +1 -0
- 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 -23
- 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 +10 -5
- package/src/timeHelper.ts +3 -0
- package/src/transitionObserver.ts +32 -8
- 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/PromptModal.ts +65 -0
- package/src/viewModels/SelectModel.ts +125 -0
- package/src/viewModels/{TextInputViewModel.ts → TextModel.ts} +22 -26
- 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/PromptModalViewModel.d.ts +0 -27
- package/lib/viewModels/PromptModalViewModel.d.ts.map +0 -1
- package/lib/viewModels/PromptModalViewModel.js +0 -56
- package/lib/viewModels/PromptModalViewModel.js.map +0 -1
- 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/PromptModalViewModel.ts +0 -71
- 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 Tue Nov 23 2021 19:51:11 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">
|
|
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">
|
|
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
|
|
|
@@ -209,7 +209,19 @@
|
|
|
209
209
|
<a name='L150'></a><a href='#L150'>150</a>
|
|
210
210
|
<a name='L151'></a><a href='#L151'>151</a>
|
|
211
211
|
<a name='L152'></a><a href='#L152'>152</a>
|
|
212
|
-
<a name='L153'></a><a href='#L153'>153</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>
|
|
213
225
|
<span class="cline-any cline-yes">1x</span>
|
|
214
226
|
<span class="cline-any cline-yes">1x</span>
|
|
215
227
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -242,6 +254,9 @@
|
|
|
242
254
|
<span class="cline-any cline-yes">1x</span>
|
|
243
255
|
<span class="cline-any cline-yes">3x</span>
|
|
244
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>
|
|
259
|
+
<span class="cline-any cline-neutral"> </span>
|
|
245
260
|
<span class="cline-any cline-neutral"> </span>
|
|
246
261
|
<span class="cline-any cline-yes">7x</span>
|
|
247
262
|
<span class="cline-any cline-yes">7x</span>
|
|
@@ -261,8 +276,11 @@
|
|
|
261
276
|
<span class="cline-any cline-neutral"> </span>
|
|
262
277
|
<span class="cline-any cline-neutral"> </span>
|
|
263
278
|
<span class="cline-any cline-neutral"> </span>
|
|
264
|
-
<span class="cline-any cline-yes">
|
|
265
|
-
<span class="cline-any cline-
|
|
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>
|
|
266
284
|
<span class="cline-any cline-neutral"> </span>
|
|
267
285
|
<span class="cline-any cline-neutral"> </span>
|
|
268
286
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -287,13 +305,18 @@
|
|
|
287
305
|
<span class="cline-any cline-neutral"> </span>
|
|
288
306
|
<span class="cline-any cline-neutral"> </span>
|
|
289
307
|
<span class="cline-any cline-neutral"> </span>
|
|
290
|
-
<span class="cline-any cline-yes">
|
|
291
|
-
<span class="cline-any cline-yes">
|
|
292
|
-
<span class="cline-any cline-
|
|
293
|
-
<span class="cline-any cline-yes">2x</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>
|
|
294
311
|
<span class="cline-any cline-neutral"> </span>
|
|
295
312
|
<span class="cline-any cline-neutral"> </span>
|
|
296
|
-
<span class="cline-any cline-yes">
|
|
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>
|
|
297
320
|
<span class="cline-any cline-neutral"> </span>
|
|
298
321
|
<span class="cline-any cline-neutral"> </span>
|
|
299
322
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -311,6 +334,7 @@
|
|
|
311
334
|
<span class="cline-any cline-yes">12x</span>
|
|
312
335
|
<span class="cline-any cline-yes">12x</span>
|
|
313
336
|
<span class="cline-any cline-yes">5x</span>
|
|
337
|
+
<span class="cline-any cline-yes">5x</span>
|
|
314
338
|
<span class="cline-any cline-neutral"> </span>
|
|
315
339
|
<span class="cline-any cline-yes">12x</span>
|
|
316
340
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -318,14 +342,14 @@
|
|
|
318
342
|
<span class="cline-any cline-neutral"> </span>
|
|
319
343
|
<span class="cline-any cline-neutral"> </span>
|
|
320
344
|
<span class="cline-any cline-yes">7x</span>
|
|
321
|
-
<span class="cline-any cline-yes">
|
|
345
|
+
<span class="cline-any cline-yes">19x</span>
|
|
322
346
|
<span class="cline-any cline-neutral"> </span>
|
|
323
|
-
<span class="cline-any cline-yes">
|
|
347
|
+
<span class="cline-any cline-yes">19x</span>
|
|
324
348
|
<span class="cline-any cline-neutral"> </span>
|
|
325
349
|
<span class="cline-any cline-yes">4x</span>
|
|
326
|
-
<span class="cline-any cline-yes">
|
|
350
|
+
<span class="cline-any cline-yes">15x</span>
|
|
327
351
|
<span class="cline-any cline-neutral"> </span>
|
|
328
|
-
<span class="cline-any cline-yes">
|
|
352
|
+
<span class="cline-any cline-yes">11x</span>
|
|
329
353
|
<span class="cline-any cline-neutral"> </span>
|
|
330
354
|
<span class="cline-any cline-neutral"> </span>
|
|
331
355
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -333,31 +357,31 @@
|
|
|
333
357
|
<span class="cline-any cline-yes">4x</span>
|
|
334
358
|
<span class="cline-any cline-neutral"> </span>
|
|
335
359
|
<span class="cline-any cline-neutral"> </span>
|
|
336
|
-
<span class="cline-any cline-yes">
|
|
360
|
+
<span class="cline-any cline-yes">19x</span>
|
|
337
361
|
<span class="cline-any cline-neutral"> </span>
|
|
338
|
-
<span class="cline-any cline-yes">
|
|
362
|
+
<span class="cline-any cline-yes">19x</span>
|
|
339
363
|
<span class="cline-any cline-neutral"> </span>
|
|
340
|
-
<span class="cline-any cline-yes">
|
|
341
|
-
<span class="cline-any cline-yes">
|
|
364
|
+
<span class="cline-any cline-yes">19x</span>
|
|
365
|
+
<span class="cline-any cline-yes">11x</span>
|
|
342
366
|
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-yes">
|
|
344
|
-
<span class="cline-any cline-yes">
|
|
367
|
+
<span class="cline-any cline-yes">11x</span>
|
|
368
|
+
<span class="cline-any cline-yes">11x</span>
|
|
345
369
|
<span class="cline-any cline-neutral"> </span>
|
|
346
370
|
<span class="cline-any cline-neutral"> </span>
|
|
347
|
-
<span class="cline-any cline-yes">
|
|
371
|
+
<span class="cline-any cline-yes">11x</span>
|
|
348
372
|
<span class="cline-any cline-yes">1x</span>
|
|
349
373
|
<span class="cline-any cline-neutral"> </span>
|
|
350
374
|
<span class="cline-any cline-neutral"> </span>
|
|
351
375
|
<span class="cline-any cline-neutral"> </span>
|
|
352
|
-
<span class="cline-any cline-yes">
|
|
376
|
+
<span class="cline-any cline-yes">19x</span>
|
|
353
377
|
<span class="cline-any cline-neutral"> </span>
|
|
354
378
|
<span class="cline-any cline-neutral"> </span>
|
|
355
379
|
<span class="cline-any cline-neutral"> </span>
|
|
356
|
-
<span class="cline-any cline-yes">
|
|
357
|
-
<span class="cline-any cline-yes">
|
|
358
|
-
<span class="cline-any cline-yes">
|
|
359
|
-
<span class="cline-any cline-yes">
|
|
360
|
-
<span class="cline-any cline-yes">
|
|
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>
|
|
361
385
|
<span class="cline-any cline-neutral"> </span>
|
|
362
386
|
<span class="cline-any cline-neutral"> </span>
|
|
363
387
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -380,8 +404,8 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
380
404
|
private _cb: (v: T) => any;
|
|
381
405
|
private _fireOnce = false;
|
|
382
406
|
|
|
383
|
-
private _promise: Promise<
|
|
384
|
-
private _promiseReject: (err
|
|
407
|
+
private _promise: Promise<T> = null;
|
|
408
|
+
private _promiseReject: (err?: any) => any = null;
|
|
385
409
|
|
|
386
410
|
private logger: ILogger = createLogger('', true);
|
|
387
411
|
|
|
@@ -393,6 +417,9 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
393
417
|
|
|
394
418
|
public get event(): IEvent<T> { return this._event; }
|
|
395
419
|
public get currentValue() { return this._prev; }
|
|
420
|
+
|
|
421
|
+
public get isObserving() { return this._disposer != null; }
|
|
422
|
+
private get isPromising() { return this._promiseReject != null; }
|
|
396
423
|
|
|
397
424
|
observe(getter: () => T) {
|
|
398
425
|
this.dispose();
|
|
@@ -413,6 +440,9 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
413
440
|
}
|
|
414
441
|
|
|
415
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
|
+
}
|
|
416
446
|
this._cb = cb;
|
|
417
447
|
return this;
|
|
418
448
|
}
|
|
@@ -440,10 +470,15 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
440
470
|
|
|
441
471
|
getPromise() {
|
|
442
472
|
<span class="missing-if-branch" title="else path not taken" >E</span>if (!this._promise) {
|
|
443
|
-
|
|
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) => {
|
|
444
478
|
this._promiseReject = reject;
|
|
445
|
-
this.
|
|
479
|
+
this._cb = (v => this._finishPromise(resolve, v));
|
|
446
480
|
});
|
|
481
|
+
this.logger.log('started a new promise...');
|
|
447
482
|
}
|
|
448
483
|
return this._promise;
|
|
449
484
|
}
|
|
@@ -463,8 +498,9 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
463
498
|
this.logger.log(' disposing... ');
|
|
464
499
|
if (this._disposer) {
|
|
465
500
|
this._disposer();
|
|
501
|
+
this._disposer = null;
|
|
466
502
|
}
|
|
467
|
-
if (this.
|
|
503
|
+
if (this.isPromising) {
|
|
468
504
|
this._finishPromise(this._promiseReject, new Error('TransitionObserver Aborted'));
|
|
469
505
|
}
|
|
470
506
|
};
|
|
@@ -504,12 +540,12 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
504
540
|
return trigger;
|
|
505
541
|
};
|
|
506
542
|
|
|
507
|
-
private _finishPromise(cb: (
|
|
543
|
+
private _finishPromise<T>(cb: (a?: T) => any, arg?: T) {
|
|
508
544
|
this._promise = null;
|
|
509
545
|
this._promiseReject = null;
|
|
510
546
|
this._cb = null;
|
|
511
547
|
<span class="missing-if-branch" title="else path not taken" >E</span>if (cb) {
|
|
512
|
-
cb(
|
|
548
|
+
cb(arg);
|
|
513
549
|
}
|
|
514
550
|
}
|
|
515
551
|
}
|
|
@@ -520,7 +556,7 @@ export class TransitionObserver<T> implements IDisposable {
|
|
|
520
556
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
521
557
|
Code coverage generated by
|
|
522
558
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
523
|
-
at
|
|
559
|
+
at Tue Nov 02 2021 16:09:11 GMT+0000 (Coordinated Universal Time)
|
|
524
560
|
</div>
|
|
525
561
|
</div>
|
|
526
562
|
<script src="prettify.js"></script>
|