@zajno/common 1.4.16 → 1.4.19
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 +49 -35
- package/coverage/coverage-final.json +4 -3
- package/coverage/lcov-report/index.html +25 -25
- 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/async/timeout.ts.html +12 -12
- package/coverage/lcov-report/src/cache.ts.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/disposer.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 +1 -1
- package/coverage/lcov-report/src/fields/update.ts.html +1 -1
- package/coverage/lcov-report/src/functions.ts.html +1 -1
- package/coverage/lcov-report/src/index.html +24 -9
- 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/observersMap.ts.html +1 -1
- package/coverage/lcov-report/src/observingCache.ts.html +1 -1
- package/coverage/lcov-report/src/tempoCache.ts.html +134 -0
- 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 +32 -38
- package/coverage/lcov-report/src/validation/index.html +14 -14
- package/coverage/lcov-report/src/validation/index.ts.html +1 -1
- package/coverage/lcov-report/src/validation/types.ts.html +13 -4
- 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/CommonModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/TextModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/index.html +1 -1
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
- package/coverage/lcov-report/tempoCache.ts.html +134 -0
- package/coverage/lcov-report/timer.ts.html +200 -0
- package/coverage/lcov.info +82 -49
- package/lib/logger/file.d.ts +9 -8
- package/lib/logger/file.d.ts.map +1 -1
- package/lib/logger/file.js +44 -22
- package/lib/logger/file.js.map +1 -1
- package/lib/services/storage/web/sessionStorage.js +1 -1
- package/lib/services/storage/web/sessionStorage.js.map +1 -1
- package/lib/tempoCache.d.ts +10 -0
- package/lib/tempoCache.d.ts.map +1 -0
- package/lib/tempoCache.js +21 -0
- package/lib/tempoCache.js.map +1 -0
- package/lib/timeHelper.d.ts +0 -7
- package/lib/timeHelper.d.ts.map +1 -1
- package/lib/timeHelper.js +3 -19
- package/lib/timeHelper.js.map +1 -1
- package/lib/timer.d.ts +15 -0
- package/lib/timer.d.ts.map +1 -0
- package/lib/timer.js +36 -0
- package/lib/timer.js.map +1 -0
- package/lib/validation/helpers.d.ts +2 -6
- package/lib/validation/helpers.d.ts.map +1 -1
- package/lib/validation/helpers.js +6 -11
- package/lib/validation/helpers.js.map +1 -1
- package/lib/validation/types.d.ts +8 -2
- package/lib/validation/types.d.ts.map +1 -1
- package/lib/validation/types.js.map +1 -1
- package/lib/validation/wrappers.d.ts +3 -3
- package/package.json +1 -1
- package/src/__tests__/tempoCache.test.ts +31 -0
- package/src/logger/file.ts +46 -26
- package/src/services/storage/web/sessionStorage.ts +1 -1
- package/src/tempoCache.ts +18 -0
- package/src/timeHelper.ts +3 -18
- package/src/timer.ts +40 -0
- package/src/validation/helpers.ts +16 -18
- package/src/validation/types.ts +5 -2
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for tempoCache.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> tempoCache.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>10/10</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'>2/2</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>3/3</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>9/9</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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
79
|
+
<span class="cline-any cline-yes">1x</span>
|
|
80
|
+
<span class="cline-any cline-neutral"> </span>
|
|
81
|
+
<span class="cline-any cline-yes">1x</span>
|
|
82
|
+
<span class="cline-any cline-yes">1x</span>
|
|
83
|
+
<span class="cline-any cline-neutral"> </span>
|
|
84
|
+
<span class="cline-any cline-yes">1x</span>
|
|
85
|
+
<span class="cline-any cline-neutral"> </span>
|
|
86
|
+
<span class="cline-any cline-yes">3x</span>
|
|
87
|
+
<span class="cline-any cline-neutral"> </span>
|
|
88
|
+
<span class="cline-any cline-neutral"> </span>
|
|
89
|
+
<span class="cline-any cline-yes">3x</span>
|
|
90
|
+
<span class="cline-any cline-yes">1x</span>
|
|
91
|
+
<span class="cline-any cline-yes">1x</span>
|
|
92
|
+
<span class="cline-any cline-neutral"> </span>
|
|
93
|
+
<span class="cline-any cline-yes">3x</span>
|
|
94
|
+
<span class="cline-any cline-neutral"> </span>
|
|
95
|
+
<span class="cline-any cline-neutral"> </span>
|
|
96
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">
|
|
97
|
+
export class TempoCache<T> {
|
|
98
|
+
|
|
99
|
+
private _expiringAt: number = 0; // already expired
|
|
100
|
+
private _current: T = undefined;
|
|
101
|
+
|
|
102
|
+
constructor(readonly factory: () => T, readonly lifetimeMs: number) { }
|
|
103
|
+
|
|
104
|
+
public get isExpired() { return Date.now() >= this._expiringAt; }
|
|
105
|
+
|
|
106
|
+
public get current() {
|
|
107
|
+
if (this.isExpired) {
|
|
108
|
+
this._current = this.factory();
|
|
109
|
+
this._expiringAt = Date.now() + this.lifetimeMs;
|
|
110
|
+
}
|
|
111
|
+
return this._current;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
</pre></td></tr></table></pre>
|
|
115
|
+
|
|
116
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
117
|
+
</div><!-- /wrapper -->
|
|
118
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
119
|
+
Code coverage generated by
|
|
120
|
+
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
121
|
+
at Thu Apr 21 2022 11:43:17 GMT+0000 (Coordinated Universal Time)
|
|
122
|
+
</div>
|
|
123
|
+
</div>
|
|
124
|
+
<script src="prettify.js"></script>
|
|
125
|
+
<script>
|
|
126
|
+
window.onload = function () {
|
|
127
|
+
prettyPrint();
|
|
128
|
+
};
|
|
129
|
+
</script>
|
|
130
|
+
<script src="sorter.js"></script>
|
|
131
|
+
<script src="block-navigation.js"></script>
|
|
132
|
+
</body>
|
|
133
|
+
</html>
|
|
134
|
+
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for timer.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> timer.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">93.75% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>15/16</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">0% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>0/1</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">85.71% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>6/7</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">93.75% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>15/16</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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
101
|
+
<span class="cline-any cline-yes">1x</span>
|
|
102
|
+
<span class="cline-any cline-neutral"> </span>
|
|
103
|
+
<span class="cline-any cline-yes">1x</span>
|
|
104
|
+
<span class="cline-any cline-yes">1x</span>
|
|
105
|
+
<span class="cline-any cline-neutral"> </span>
|
|
106
|
+
<span class="cline-any cline-yes">1x</span>
|
|
107
|
+
<span class="cline-any cline-yes">1x</span>
|
|
108
|
+
<span class="cline-any cline-neutral"> </span>
|
|
109
|
+
<span class="cline-any cline-yes">1x</span>
|
|
110
|
+
<span class="cline-any cline-yes">1x</span>
|
|
111
|
+
<span class="cline-any cline-neutral"> </span>
|
|
112
|
+
<span class="cline-any cline-neutral"> </span>
|
|
113
|
+
<span class="cline-any cline-neutral"> </span>
|
|
114
|
+
<span class="cline-any cline-no"> </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-yes">1x</span>
|
|
119
|
+
<span class="cline-any cline-neutral"> </span>
|
|
120
|
+
<span class="cline-any cline-neutral"> </span>
|
|
121
|
+
<span class="cline-any cline-neutral"> </span>
|
|
122
|
+
<span class="cline-any cline-yes">1x</span>
|
|
123
|
+
<span class="cline-any cline-neutral"> </span>
|
|
124
|
+
<span class="cline-any cline-neutral"> </span>
|
|
125
|
+
<span class="cline-any cline-neutral"> </span>
|
|
126
|
+
<span class="cline-any cline-yes">1x</span>
|
|
127
|
+
<span class="cline-any cline-neutral"> </span>
|
|
128
|
+
<span class="cline-any cline-neutral"> </span>
|
|
129
|
+
<span class="cline-any cline-yes">1x</span>
|
|
130
|
+
<span class="cline-any cline-yes">1x</span>
|
|
131
|
+
<span class="cline-any cline-yes">1x</span>
|
|
132
|
+
<span class="cline-any cline-neutral"> </span>
|
|
133
|
+
<span class="cline-any cline-neutral"> </span>
|
|
134
|
+
<span class="cline-any cline-neutral"> </span>
|
|
135
|
+
<span class="cline-any cline-neutral"> </span>
|
|
136
|
+
<span class="cline-any cline-yes">2x</span>
|
|
137
|
+
<span class="cline-any cline-yes">2x</span>
|
|
138
|
+
<span class="cline-any cline-neutral"> </span>
|
|
139
|
+
<span class="cline-any cline-neutral"> </span>
|
|
140
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { IDisposable } from './disposer';
|
|
141
|
+
import { Event, EventHandler, IEvent } from './event';
|
|
142
|
+
|
|
143
|
+
export class Timer implements IDisposable, IEvent<number> {
|
|
144
|
+
private readonly _event = new Event<number>();
|
|
145
|
+
|
|
146
|
+
private _now: number = Date.now();
|
|
147
|
+
private _handle = null;
|
|
148
|
+
|
|
149
|
+
constructor(readonly interval = <span class="branch-0 cbranch-no" title="branch not covered" >3600 * 1000)</span> {
|
|
150
|
+
this.restart();
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
<span class="fstat-no" title="function not covered" > get n</span>ow() {
|
|
154
|
+
<span class="cstat-no" title="statement not covered" > return this._now;</span>
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
on(handler: EventHandler<number>): () => void {
|
|
158
|
+
return this._event.on(handler);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
off(handler: EventHandler<number>): void {
|
|
162
|
+
return this._event.off(handler);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
public restart() {
|
|
166
|
+
this.dispose();
|
|
167
|
+
|
|
168
|
+
// Update _now once an hour
|
|
169
|
+
this._handle = setInterval(() => {
|
|
170
|
+
this._now = Date.now();
|
|
171
|
+
this._event.trigger(this._now);
|
|
172
|
+
}, this.interval);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
public dispose(): void {
|
|
176
|
+
clearInterval(this._handle);
|
|
177
|
+
this._handle = null;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
</pre></td></tr></table></pre>
|
|
181
|
+
|
|
182
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
183
|
+
</div><!-- /wrapper -->
|
|
184
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
185
|
+
Code coverage generated by
|
|
186
|
+
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
187
|
+
at Thu Apr 21 2022 11:32:20 GMT+0000 (Coordinated Universal Time)
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
<script src="prettify.js"></script>
|
|
191
|
+
<script>
|
|
192
|
+
window.onload = function () {
|
|
193
|
+
prettyPrint();
|
|
194
|
+
};
|
|
195
|
+
</script>
|
|
196
|
+
<script src="sorter.js"></script>
|
|
197
|
+
<script src="block-navigation.js"></script>
|
|
198
|
+
</body>
|
|
199
|
+
</html>
|
|
200
|
+
|
package/coverage/lcov.info
CHANGED
|
@@ -809,6 +809,32 @@ BRF:26
|
|
|
809
809
|
BRH:16
|
|
810
810
|
end_of_record
|
|
811
811
|
TN:
|
|
812
|
+
SF:src/tempoCache.ts
|
|
813
|
+
FN:7,(anonymous_0)
|
|
814
|
+
FN:9,(anonymous_1)
|
|
815
|
+
FN:11,(anonymous_2)
|
|
816
|
+
FNF:3
|
|
817
|
+
FNH:3
|
|
818
|
+
FNDA:1,(anonymous_0)
|
|
819
|
+
FNDA:8,(anonymous_1)
|
|
820
|
+
FNDA:8,(anonymous_2)
|
|
821
|
+
DA:2,1
|
|
822
|
+
DA:4,1
|
|
823
|
+
DA:5,1
|
|
824
|
+
DA:7,1
|
|
825
|
+
DA:9,8
|
|
826
|
+
DA:12,8
|
|
827
|
+
DA:13,3
|
|
828
|
+
DA:14,3
|
|
829
|
+
DA:16,8
|
|
830
|
+
LF:9
|
|
831
|
+
LH:9
|
|
832
|
+
BRDA:12,0,0,3
|
|
833
|
+
BRDA:12,0,1,5
|
|
834
|
+
BRF:2
|
|
835
|
+
BRH:2
|
|
836
|
+
end_of_record
|
|
837
|
+
TN:
|
|
812
838
|
SF:src/transitionObserver.ts
|
|
813
839
|
FN:25,(anonymous_0)
|
|
814
840
|
FN:122,(anonymous_1)
|
|
@@ -1099,30 +1125,30 @@ FN:37,(anonymous_5)
|
|
|
1099
1125
|
FN:40,(anonymous_6)
|
|
1100
1126
|
FNF:7
|
|
1101
1127
|
FNH:3
|
|
1102
|
-
FNDA:
|
|
1103
|
-
FNDA:
|
|
1104
|
-
FNDA:
|
|
1128
|
+
FNDA:9,setTimeoutAsync
|
|
1129
|
+
FNDA:9,(anonymous_1)
|
|
1130
|
+
FNDA:9,(anonymous_2)
|
|
1105
1131
|
FNDA:0,(anonymous_3)
|
|
1106
1132
|
FNDA:0,setTimeoutFramesAsync
|
|
1107
1133
|
FNDA:0,(anonymous_5)
|
|
1108
1134
|
FNDA:0,(anonymous_6)
|
|
1109
|
-
DA:2,
|
|
1110
|
-
DA:3,
|
|
1111
|
-
DA:6,
|
|
1112
|
-
DA:7,
|
|
1113
|
-
DA:8,
|
|
1114
|
-
DA:9,
|
|
1115
|
-
DA:10,
|
|
1116
|
-
DA:11,
|
|
1117
|
-
DA:16,
|
|
1135
|
+
DA:2,3
|
|
1136
|
+
DA:3,9
|
|
1137
|
+
DA:6,9
|
|
1138
|
+
DA:7,9
|
|
1139
|
+
DA:8,9
|
|
1140
|
+
DA:9,9
|
|
1141
|
+
DA:10,9
|
|
1142
|
+
DA:11,9
|
|
1143
|
+
DA:16,9
|
|
1118
1144
|
DA:17,0
|
|
1119
1145
|
DA:18,0
|
|
1120
1146
|
DA:19,0
|
|
1121
1147
|
DA:20,0
|
|
1122
1148
|
DA:21,0
|
|
1123
1149
|
DA:24,0
|
|
1124
|
-
DA:27,
|
|
1125
|
-
DA:32,
|
|
1150
|
+
DA:27,9
|
|
1151
|
+
DA:32,3
|
|
1126
1152
|
DA:33,0
|
|
1127
1153
|
DA:34,0
|
|
1128
1154
|
DA:37,0
|
|
@@ -1134,11 +1160,11 @@ DA:44,0
|
|
|
1134
1160
|
DA:48,0
|
|
1135
1161
|
LF:26
|
|
1136
1162
|
LH:11
|
|
1137
|
-
BRDA:2,0,0,
|
|
1138
|
-
BRDA:10,1,0,
|
|
1163
|
+
BRDA:2,0,0,9
|
|
1164
|
+
BRDA:10,1,0,9
|
|
1139
1165
|
BRDA:10,1,1,0
|
|
1140
1166
|
BRDA:16,2,0,0
|
|
1141
|
-
BRDA:16,2,1,
|
|
1167
|
+
BRDA:16,2,1,9
|
|
1142
1168
|
BRDA:20,3,0,0
|
|
1143
1169
|
BRDA:20,3,1,0
|
|
1144
1170
|
BRDA:33,4,0,0
|
|
@@ -2915,11 +2941,11 @@ BRH:0
|
|
|
2915
2941
|
end_of_record
|
|
2916
2942
|
TN:
|
|
2917
2943
|
SF:src/validation/helpers.ts
|
|
2918
|
-
FN:
|
|
2919
|
-
FN:
|
|
2920
|
-
FN:
|
|
2921
|
-
FN:
|
|
2922
|
-
FN:
|
|
2944
|
+
FN:9,createShouldBeEqualTo
|
|
2945
|
+
FN:10,(anonymous_1)
|
|
2946
|
+
FN:13,throwNotOk
|
|
2947
|
+
FN:19,validateObject
|
|
2948
|
+
FN:27,(anonymous_4)
|
|
2923
2949
|
FNF:5
|
|
2924
2950
|
FNH:0
|
|
2925
2951
|
FNDA:0,createShouldBeEqualTo
|
|
@@ -2929,35 +2955,42 @@ FNDA:0,validateObject
|
|
|
2929
2955
|
FNDA:0,(anonymous_4)
|
|
2930
2956
|
DA:1,5
|
|
2931
2957
|
DA:2,5
|
|
2932
|
-
DA:
|
|
2933
|
-
DA:5,0
|
|
2934
|
-
DA:8,5
|
|
2935
|
-
DA:9,0
|
|
2958
|
+
DA:9,5
|
|
2936
2959
|
DA:10,0
|
|
2937
|
-
DA:
|
|
2938
|
-
DA:
|
|
2939
|
-
DA:
|
|
2940
|
-
DA:
|
|
2941
|
-
DA:23,0
|
|
2942
|
-
DA:24,0
|
|
2960
|
+
DA:13,5
|
|
2961
|
+
DA:14,0
|
|
2962
|
+
DA:15,0
|
|
2963
|
+
DA:19,5
|
|
2943
2964
|
DA:25,0
|
|
2965
|
+
DA:27,0
|
|
2944
2966
|
DA:28,0
|
|
2967
|
+
DA:29,0
|
|
2968
|
+
DA:30,0
|
|
2969
|
+
DA:31,0
|
|
2970
|
+
DA:34,0
|
|
2971
|
+
DA:35,0
|
|
2972
|
+
DA:36,0
|
|
2973
|
+
DA:39,0
|
|
2945
2974
|
DA:40,0
|
|
2946
2975
|
DA:41,0
|
|
2947
|
-
DA:
|
|
2948
|
-
|
|
2949
|
-
LF:19
|
|
2976
|
+
DA:45,0
|
|
2977
|
+
LF:21
|
|
2950
2978
|
LH:5
|
|
2951
|
-
BRDA:
|
|
2952
|
-
BRDA:
|
|
2953
|
-
BRDA:
|
|
2954
|
-
BRDA:
|
|
2955
|
-
BRDA:
|
|
2956
|
-
BRDA:
|
|
2957
|
-
BRDA:
|
|
2958
|
-
BRDA:
|
|
2959
|
-
BRDA:
|
|
2960
|
-
|
|
2979
|
+
BRDA:10,0,0,0
|
|
2980
|
+
BRDA:10,0,1,0
|
|
2981
|
+
BRDA:13,1,0,0
|
|
2982
|
+
BRDA:14,2,0,0
|
|
2983
|
+
BRDA:14,2,1,0
|
|
2984
|
+
BRDA:22,3,0,0
|
|
2985
|
+
BRDA:30,4,0,0
|
|
2986
|
+
BRDA:30,4,1,0
|
|
2987
|
+
BRDA:35,5,0,0
|
|
2988
|
+
BRDA:35,5,1,0
|
|
2989
|
+
BRDA:35,6,0,0
|
|
2990
|
+
BRDA:35,6,1,0
|
|
2991
|
+
BRDA:40,7,0,0
|
|
2992
|
+
BRDA:40,7,1,0
|
|
2993
|
+
BRF:14
|
|
2961
2994
|
BRH:0
|
|
2962
2995
|
end_of_record
|
|
2963
2996
|
TN:
|
|
@@ -2976,14 +3009,14 @@ BRH:0
|
|
|
2976
3009
|
end_of_record
|
|
2977
3010
|
TN:
|
|
2978
3011
|
SF:src/validation/types.ts
|
|
2979
|
-
FN:
|
|
3012
|
+
FN:14,(anonymous_0)
|
|
2980
3013
|
FNF:1
|
|
2981
3014
|
FNH:1
|
|
2982
3015
|
FNDA:2,(anonymous_0)
|
|
2983
|
-
DA:
|
|
2984
|
-
DA:9,2
|
|
3016
|
+
DA:11,5
|
|
2985
3017
|
DA:12,2
|
|
2986
|
-
DA:
|
|
3018
|
+
DA:15,2
|
|
3019
|
+
DA:16,2
|
|
2987
3020
|
LF:4
|
|
2988
3021
|
LH:4
|
|
2989
3022
|
BRF:0
|
package/lib/logger/file.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { ILogger } from './abstractions';
|
|
2
|
-
import { Getter } from '../types';
|
|
3
2
|
export declare class FileLoggerNode implements ILogger {
|
|
4
|
-
readonly
|
|
3
|
+
readonly extraLogger: ILogger;
|
|
4
|
+
readonly instantFlush: boolean;
|
|
5
5
|
private readonly _buffer;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
private _logFilePath;
|
|
7
|
+
constructor(extraLogger?: ILogger, instantFlush?: boolean);
|
|
8
|
+
setLogFilePath(path: string): this;
|
|
9
|
+
setLogName(name: string): this;
|
|
10
|
+
private append;
|
|
9
11
|
log: (...args: any[]) => void;
|
|
10
|
-
warn(...args: any[])
|
|
11
|
-
error(...args: any[])
|
|
12
|
+
warn: (...args: any[]) => void;
|
|
13
|
+
error: (...args: any[]) => void;
|
|
12
14
|
flush(): void;
|
|
13
|
-
private appendToFile;
|
|
14
15
|
}
|
|
15
16
|
//# sourceMappingURL=file.d.ts.map
|
package/lib/logger/file.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/logger/file.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/logger/file.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,qBAAa,cAAe,YAAW,OAAO;IAI9B,QAAQ,CAAC,WAAW,EAAE,OAAO;IAAY,QAAQ,CAAC,YAAY;IAH1E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,YAAY,CAAgB;gBAEf,WAAW,GAAE,OAAiB,EAAW,YAAY,UAAQ;IAIlF,cAAc,CAAC,IAAI,EAAE,MAAM;IAK3B,UAAU,CAAC,IAAI,EAAE,MAAM;IAMvB,OAAO,CAAC,MAAM;IAUd,GAAG,YAAa,GAAG,EAAE,UAGnB;IAEF,IAAI,YAAa,GAAG,EAAE,UAGpB;IAEF,KAAK,YAAa,GAAG,EAAE,UAGrB;IAEF,KAAK;CAaR"}
|
package/lib/logger/file.js
CHANGED
|
@@ -2,40 +2,62 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FileLoggerNode = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
/* eslint-disable no-console */
|
|
6
|
+
const Path = tslib_1.__importStar(require("path"));
|
|
5
7
|
const FS = tslib_1.__importStar(require("fs"));
|
|
6
8
|
const Util = tslib_1.__importStar(require("util"));
|
|
7
|
-
const types_1 = require("../types");
|
|
8
9
|
class FileLoggerNode {
|
|
9
|
-
constructor(
|
|
10
|
-
this.
|
|
10
|
+
constructor(extraLogger = console, instantFlush = false) {
|
|
11
|
+
this.extraLogger = extraLogger;
|
|
12
|
+
this.instantFlush = instantFlush;
|
|
13
|
+
this._buffer = [];
|
|
14
|
+
this._logFilePath = null;
|
|
11
15
|
this.log = (...args) => {
|
|
12
|
-
|
|
16
|
+
var _a;
|
|
17
|
+
(_a = this.extraLogger) === null || _a === void 0 ? void 0 : _a.log(...args);
|
|
18
|
+
this.append(...args);
|
|
13
19
|
};
|
|
14
|
-
this.
|
|
20
|
+
this.warn = (...args) => {
|
|
21
|
+
var _a;
|
|
22
|
+
(_a = this.extraLogger) === null || _a === void 0 ? void 0 : _a.warn(...args);
|
|
23
|
+
this.append(...args);
|
|
24
|
+
};
|
|
25
|
+
this.error = (...args) => {
|
|
26
|
+
var _a;
|
|
27
|
+
(_a = this.extraLogger) === null || _a === void 0 ? void 0 : _a.error(...args);
|
|
28
|
+
this.append(...args);
|
|
29
|
+
};
|
|
30
|
+
this.setLogName('');
|
|
31
|
+
}
|
|
32
|
+
setLogFilePath(path) {
|
|
33
|
+
this._logFilePath = path;
|
|
34
|
+
return this;
|
|
15
35
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
this
|
|
36
|
+
setLogName(name) {
|
|
37
|
+
const n = name ? `-${name}` : '';
|
|
38
|
+
this._logFilePath = Path.resolve(__dirname, `../run${n}.${new Date().toISOString()}.log`);
|
|
39
|
+
return this;
|
|
20
40
|
}
|
|
21
|
-
|
|
22
|
-
|
|
41
|
+
append(..._args) {
|
|
42
|
+
// @ts-ignore
|
|
43
|
+
const str = Util.format.apply(null, arguments) + '\n';
|
|
44
|
+
this._buffer.push(str);
|
|
45
|
+
if (this.instantFlush) {
|
|
46
|
+
this.flush();
|
|
47
|
+
}
|
|
23
48
|
}
|
|
24
49
|
flush() {
|
|
25
|
-
if (!this._buffer) {
|
|
50
|
+
if (!this._buffer.length) {
|
|
26
51
|
return;
|
|
27
52
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const str = Util.format.apply(null, arguments) + '\n';
|
|
34
|
-
if (this._buffer) {
|
|
35
|
-
this._buffer.push(str);
|
|
53
|
+
try {
|
|
54
|
+
FS.appendFileSync(this._logFilePath, this._buffer.join(''));
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
console.warn('Failed to flush file, error', err);
|
|
36
58
|
}
|
|
37
|
-
|
|
38
|
-
|
|
59
|
+
finally {
|
|
60
|
+
this._buffer.length = 0;
|
|
39
61
|
}
|
|
40
62
|
}
|
|
41
63
|
}
|
package/lib/logger/file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/logger/file.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/logger/file.ts"],"names":[],"mappings":";;;;AACA,+BAA+B;AAC/B,mDAA6B;AAC7B,+CAAyB;AACzB,mDAA6B;AAI7B,MAAa,cAAc;IAIvB,YAAqB,cAAuB,OAAO,EAAW,eAAe,KAAK;QAA7D,gBAAW,GAAX,WAAW,CAAmB;QAAW,iBAAY,GAAZ,YAAY,CAAQ;QAHjE,YAAO,GAAa,EAAE,CAAC;QAChC,iBAAY,GAAW,IAAI,CAAC;QA2BpC,QAAG,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;;YACrB,MAAA,IAAI,CAAC,WAAW,0CAAE,GAAG,CAAC,GAAG,IAAI,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,SAAI,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;;YACtB,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI,CAAC,GAAG,IAAI,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,UAAK,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;;YACvB,MAAA,IAAI,CAAC,WAAW,0CAAE,KAAK,CAAC,GAAG,IAAI,EAAE;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC;QArCE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,cAAc,CAAC,IAAY;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,IAAY;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,GAAG,KAAY;QAC1B,aAAa;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEvB,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;IACL,CAAC;IAiBD,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACtB,OAAO;SACV;QAED,IAAI;YACA,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;SAC/D;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;SACpD;gBAAS;YACN,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3B;IACL,CAAC;CACJ;AAzDD,wCAyDC"}
|
|
@@ -8,7 +8,7 @@ if (typeof window === undefined) {
|
|
|
8
8
|
throw new Error("Can't use web/Storage module outside browser environment!");
|
|
9
9
|
}
|
|
10
10
|
class WebSessionStorage extends webStorage_1.WebStorage {
|
|
11
|
-
get storage() { return window.
|
|
11
|
+
get storage() { return window.sessionStorage; }
|
|
12
12
|
}
|
|
13
13
|
exports.SessionStorage = new WebSessionStorage();
|
|
14
14
|
exports.SessionStorageAsync = new __1.StorageAsyncWrapper(exports.SessionStorage);
|