@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.
Files changed (100) hide show
  1. package/coverage/clover.xml +49 -35
  2. package/coverage/coverage-final.json +4 -3
  3. package/coverage/lcov-report/index.html +25 -25
  4. package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
  5. package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
  6. package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
  7. package/coverage/lcov-report/src/async/index.html +1 -1
  8. package/coverage/lcov-report/src/async/timeout.ts.html +12 -12
  9. package/coverage/lcov-report/src/cache.ts.html +1 -1
  10. package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
  11. package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
  12. package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
  13. package/coverage/lcov-report/src/dates/format.ts.html +1 -1
  14. package/coverage/lcov-report/src/dates/index.html +1 -1
  15. package/coverage/lcov-report/src/dates/index.ts.html +1 -1
  16. package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
  17. package/coverage/lcov-report/src/dates/period.ts.html +1 -1
  18. package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
  19. package/coverage/lcov-report/src/dates/types.ts.html +1 -1
  20. package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
  21. package/coverage/lcov-report/src/disposer.ts.html +1 -1
  22. package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
  23. package/coverage/lcov-report/src/event.ts.html +1 -1
  24. package/coverage/lcov-report/src/fields/index.html +1 -1
  25. package/coverage/lcov-report/src/fields/update.ts.html +1 -1
  26. package/coverage/lcov-report/src/functions.ts.html +1 -1
  27. package/coverage/lcov-report/src/index.html +24 -9
  28. package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
  29. package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
  30. package/coverage/lcov-report/src/logger/console.ts.html +1 -1
  31. package/coverage/lcov-report/src/logger/index.html +1 -1
  32. package/coverage/lcov-report/src/logger/index.ts.html +1 -1
  33. package/coverage/lcov-report/src/logger/named.ts.html +1 -1
  34. package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
  35. package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
  36. package/coverage/lcov-report/src/math/calc.ts.html +1 -1
  37. package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
  38. package/coverage/lcov-report/src/math/index.html +1 -1
  39. package/coverage/lcov-report/src/math/index.ts.html +1 -1
  40. package/coverage/lcov-report/src/observersMap.ts.html +1 -1
  41. package/coverage/lcov-report/src/observingCache.ts.html +1 -1
  42. package/coverage/lcov-report/src/tempoCache.ts.html +134 -0
  43. package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
  44. package/coverage/lcov-report/src/types.ts.html +1 -1
  45. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
  46. package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
  47. package/coverage/lcov-report/src/validation/helpers.ts.html +32 -38
  48. package/coverage/lcov-report/src/validation/index.html +14 -14
  49. package/coverage/lcov-report/src/validation/index.ts.html +1 -1
  50. package/coverage/lcov-report/src/validation/types.ts.html +13 -4
  51. package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
  52. package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
  53. package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +1 -1
  54. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
  55. package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +1 -1
  56. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
  57. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
  58. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +1 -1
  59. package/coverage/lcov-report/src/viewModels/TextModel.ts.html +1 -1
  60. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
  61. package/coverage/lcov-report/src/viewModels/index.html +1 -1
  62. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
  63. package/coverage/lcov-report/tempoCache.ts.html +134 -0
  64. package/coverage/lcov-report/timer.ts.html +200 -0
  65. package/coverage/lcov.info +82 -49
  66. package/lib/logger/file.d.ts +9 -8
  67. package/lib/logger/file.d.ts.map +1 -1
  68. package/lib/logger/file.js +44 -22
  69. package/lib/logger/file.js.map +1 -1
  70. package/lib/services/storage/web/sessionStorage.js +1 -1
  71. package/lib/services/storage/web/sessionStorage.js.map +1 -1
  72. package/lib/tempoCache.d.ts +10 -0
  73. package/lib/tempoCache.d.ts.map +1 -0
  74. package/lib/tempoCache.js +21 -0
  75. package/lib/tempoCache.js.map +1 -0
  76. package/lib/timeHelper.d.ts +0 -7
  77. package/lib/timeHelper.d.ts.map +1 -1
  78. package/lib/timeHelper.js +3 -19
  79. package/lib/timeHelper.js.map +1 -1
  80. package/lib/timer.d.ts +15 -0
  81. package/lib/timer.d.ts.map +1 -0
  82. package/lib/timer.js +36 -0
  83. package/lib/timer.js.map +1 -0
  84. package/lib/validation/helpers.d.ts +2 -6
  85. package/lib/validation/helpers.d.ts.map +1 -1
  86. package/lib/validation/helpers.js +6 -11
  87. package/lib/validation/helpers.js.map +1 -1
  88. package/lib/validation/types.d.ts +8 -2
  89. package/lib/validation/types.d.ts.map +1 -1
  90. package/lib/validation/types.js.map +1 -1
  91. package/lib/validation/wrappers.d.ts +3 -3
  92. package/package.json +1 -1
  93. package/src/__tests__/tempoCache.test.ts +31 -0
  94. package/src/logger/file.ts +46 -26
  95. package/src/services/storage/web/sessionStorage.ts +1 -1
  96. package/src/tempoCache.ts +18 -0
  97. package/src/timeHelper.ts +3 -18
  98. package/src/timer.ts +40 -0
  99. package/src/validation/helpers.ts +16 -18
  100. 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">&nbsp;</span>
79
+ <span class="cline-any cline-yes">1x</span>
80
+ <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
84
+ <span class="cline-any cline-yes">1x</span>
85
+ <span class="cline-any cline-neutral">&nbsp;</span>
86
+ <span class="cline-any cline-yes">3x</span>
87
+ <span class="cline-any cline-neutral">&nbsp;</span>
88
+ <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
93
+ <span class="cline-any cline-yes">3x</span>
94
+ <span class="cline-any cline-neutral">&nbsp;</span>
95
+ <span class="cline-any cline-neutral">&nbsp;</span>
96
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">&nbsp;
97
+ export class TempoCache&lt;T&gt; {
98
+ &nbsp;
99
+ private _expiringAt: number = 0; // already expired
100
+ private _current: T = undefined;
101
+ &nbsp;
102
+ constructor(readonly factory: () =&gt; T, readonly lifetimeMs: number) { }
103
+ &nbsp;
104
+ public get isExpired() { return Date.now() &gt;= this._expiringAt; }
105
+ &nbsp;
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
+ &nbsp;</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">&nbsp;</span>
101
+ <span class="cline-any cline-yes">1x</span>
102
+ <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</span>
112
+ <span class="cline-any cline-neutral">&nbsp;</span>
113
+ <span class="cline-any cline-neutral">&nbsp;</span>
114
+ <span class="cline-any cline-no">&nbsp;</span>
115
+ <span class="cline-any cline-neutral">&nbsp;</span>
116
+ <span class="cline-any cline-neutral">&nbsp;</span>
117
+ <span class="cline-any cline-neutral">&nbsp;</span>
118
+ <span class="cline-any cline-yes">1x</span>
119
+ <span class="cline-any cline-neutral">&nbsp;</span>
120
+ <span class="cline-any cline-neutral">&nbsp;</span>
121
+ <span class="cline-any cline-neutral">&nbsp;</span>
122
+ <span class="cline-any cline-yes">1x</span>
123
+ <span class="cline-any cline-neutral">&nbsp;</span>
124
+ <span class="cline-any cline-neutral">&nbsp;</span>
125
+ <span class="cline-any cline-neutral">&nbsp;</span>
126
+ <span class="cline-any cline-yes">1x</span>
127
+ <span class="cline-any cline-neutral">&nbsp;</span>
128
+ <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
133
+ <span class="cline-any cline-neutral">&nbsp;</span>
134
+ <span class="cline-any cline-neutral">&nbsp;</span>
135
+ <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
139
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { IDisposable } from './disposer';
141
+ import { Event, EventHandler, IEvent } from './event';
142
+ &nbsp;
143
+ export class Timer implements IDisposable, IEvent&lt;number&gt; {
144
+ private readonly _event = new Event&lt;number&gt;();
145
+ &nbsp;
146
+ private _now: number = Date.now();
147
+ private _handle = null;
148
+ &nbsp;
149
+ constructor(readonly interval = <span class="branch-0 cbranch-no" title="branch not covered" >3600 * 1000)</span> {
150
+ this.restart();
151
+ }
152
+ &nbsp;
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
+ &nbsp;
157
+ on(handler: EventHandler&lt;number&gt;): () =&gt; void {
158
+ return this._event.on(handler);
159
+ }
160
+ &nbsp;
161
+ off(handler: EventHandler&lt;number&gt;): void {
162
+ return this._event.off(handler);
163
+ }
164
+ &nbsp;
165
+ public restart() {
166
+ this.dispose();
167
+ &nbsp;
168
+ // Update _now once an hour
169
+ this._handle = setInterval(() =&gt; {
170
+ this._now = Date.now();
171
+ this._event.trigger(this._now);
172
+ }, this.interval);
173
+ }
174
+ &nbsp;
175
+ public dispose(): void {
176
+ clearInterval(this._handle);
177
+ this._handle = null;
178
+ }
179
+ }
180
+ &nbsp;</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
+
@@ -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:5,setTimeoutAsync
1103
- FNDA:5,(anonymous_1)
1104
- FNDA:5,(anonymous_2)
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,2
1110
- DA:3,5
1111
- DA:6,5
1112
- DA:7,5
1113
- DA:8,5
1114
- DA:9,5
1115
- DA:10,5
1116
- DA:11,5
1117
- DA:16,5
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,5
1125
- DA:32,2
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,5
1138
- BRDA:10,1,0,5
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,5
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:4,createShouldBeEqualTo
2919
- FN:5,(anonymous_1)
2920
- FN:8,throwNotOk
2921
- FN:14,validateObject
2922
- FN:21,(anonymous_4)
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:4,5
2933
- DA:5,0
2934
- DA:8,5
2935
- DA:9,0
2958
+ DA:9,5
2936
2959
  DA:10,0
2937
- DA:14,5
2938
- DA:19,0
2939
- DA:21,0
2940
- DA:22,0
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:42,0
2948
- DA:46,0
2949
- LF:19
2976
+ DA:45,0
2977
+ LF:21
2950
2978
  LH:5
2951
- BRDA:5,0,0,0
2952
- BRDA:5,0,1,0
2953
- BRDA:8,1,0,0
2954
- BRDA:9,2,0,0
2955
- BRDA:9,2,1,0
2956
- BRDA:24,3,0,0
2957
- BRDA:24,3,1,0
2958
- BRDA:41,4,0,0
2959
- BRDA:41,4,1,0
2960
- BRF:9
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:11,(anonymous_0)
3012
+ FN:14,(anonymous_0)
2980
3013
  FNF:1
2981
3014
  FNH:1
2982
3015
  FNDA:2,(anonymous_0)
2983
- DA:8,5
2984
- DA:9,2
3016
+ DA:11,5
2985
3017
  DA:12,2
2986
- DA:13,2
3018
+ DA:15,2
3019
+ DA:16,2
2987
3020
  LF:4
2988
3021
  LH:4
2989
3022
  BRF:0
@@ -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 fileName: Getter<string>;
3
+ readonly extraLogger: ILogger;
4
+ readonly instantFlush: boolean;
5
5
  private readonly _buffer;
6
- constructor(fileName: Getter<string>, bufferMode?: boolean);
7
- /** @example Path.resolve(__dirname, `../run.${new Date().toISOString()}.log`) */
8
- private get logFilePath();
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[]): void;
11
- error(...args: any[]): void;
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
@@ -1 +1 @@
1
- {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/logger/file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,cAAe,YAAW,OAAO;IAG9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;IAF7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;gBAEd,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,UAAQ;IAIjE,iFAAiF;IACjF,OAAO,KAAK,WAAW,GAA6C;IAEpE,GAAG,YAAa,GAAG,EAAE,UAEnB;IAEF,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAInB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAIb,KAAK;IASZ,OAAO,CAAC,YAAY;CASvB"}
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"}
@@ -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(fileName, bufferMode = false) {
10
- this.fileName = fileName;
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
- this.appendToFile(...args);
16
+ var _a;
17
+ (_a = this.extraLogger) === null || _a === void 0 ? void 0 : _a.log(...args);
18
+ this.append(...args);
13
19
  };
14
- this._buffer = bufferMode ? [] : null;
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
- /** @example Path.resolve(__dirname, `../run.${new Date().toISOString()}.log`) */
17
- get logFilePath() { return types_1.Getter.getValue(this.fileName); }
18
- warn(...args) {
19
- this.appendToFile(...args);
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
- error(...args) {
22
- this.appendToFile(...args);
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
- FS.writeFileSync(this.logFilePath, this._buffer.join(''));
29
- this._buffer.length = 0;
30
- }
31
- appendToFile(..._args) {
32
- // @ts-ignore
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
- else {
38
- FS.appendFileSync(this.logFilePath, str);
59
+ finally {
60
+ this._buffer.length = 0;
39
61
  }
40
62
  }
41
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/logger/file.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AACzB,mDAA6B;AAE7B,oCAAkC;AAElC,MAAa,cAAc;IAGvB,YAAqB,QAAwB,EAAE,UAAU,GAAG,KAAK;QAA5C,aAAQ,GAAR,QAAQ,CAAgB;QAO7C,QAAG,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QARE,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAED,iFAAiF;IACjF,IAAY,WAAW,KAAK,OAAO,cAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAMpE,IAAI,CAAC,GAAG,IAAW;QACf,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,GAAG,IAAW;QAChB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,OAAO;SACV;QAED,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5B,CAAC;IAEO,YAAY,CAAC,GAAG,KAAY;QAChC,aAAa;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC;QACtD,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC1B;aAAM;YACH,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;SAC5C;IACL,CAAC;CACJ;AAxCD,wCAwCC"}
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.localStorage; }
11
+ get storage() { return window.sessionStorage; }
12
12
  }
13
13
  exports.SessionStorage = new WebSessionStorage();
14
14
  exports.SessionStorageAsync = new __1.StorageAsyncWrapper(exports.SessionStorage);