@zajno/common 2.0.0-beta.2 → 2.0.1
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 +2 -2
- package/coverage/lcov-report/__tests__/helpers/expect.ts.html +1 -1
- package/coverage/lcov-report/__tests__/helpers/index.html +1 -1
- package/coverage/lcov-report/__tests__/helpers/main.ts.html +1 -1
- package/coverage/lcov-report/async/arrays.ts.html +1 -1
- package/coverage/lcov-report/async/index.html +1 -1
- package/coverage/lcov-report/async/timeout.ts.html +1 -1
- package/coverage/lcov-report/dates/calc.ts.html +1 -1
- package/coverage/lcov-report/dates/convert.ts.html +1 -1
- package/coverage/lcov-report/dates/datex.ts.html +1 -1
- package/coverage/lcov-report/dates/format.ts.html +1 -1
- package/coverage/lcov-report/dates/index.html +1 -1
- package/coverage/lcov-report/dates/index.ts.html +1 -1
- package/coverage/lcov-report/dates/parse.ts.html +1 -1
- package/coverage/lcov-report/dates/period.ts.html +1 -1
- package/coverage/lcov-report/dates/shift.ts.html +1 -1
- package/coverage/lcov-report/dates/types.ts.html +1 -1
- package/coverage/lcov-report/dates/yearDate.ts.html +1 -1
- package/coverage/lcov-report/fields/index.html +1 -1
- package/coverage/lcov-report/fields/update.ts.html +1 -1
- package/coverage/lcov-report/functions/index.html +1 -1
- package/coverage/lcov-report/functions/safeCall.ts.html +1 -1
- package/coverage/lcov-report/index.html +1 -1
- package/coverage/lcov-report/lazy/index.html +1 -1
- package/coverage/lcov-report/lazy/promise.ts.html +1 -1
- package/coverage/lcov-report/lazy/singleton.ts.html +1 -1
- package/coverage/lcov-report/logger/batch.ts.html +1 -1
- package/coverage/lcov-report/logger/console.ts.html +1 -1
- package/coverage/lcov-report/logger/index.html +1 -1
- package/coverage/lcov-report/logger/index.ts.html +1 -1
- package/coverage/lcov-report/logger/named.ts.html +1 -1
- package/coverage/lcov-report/logger/proxy.ts.html +1 -1
- package/coverage/lcov-report/math/arrays.ts.html +1 -1
- package/coverage/lcov-report/math/calc.ts.html +1 -1
- package/coverage/lcov-report/math/distribution.ts.html +1 -1
- package/coverage/lcov-report/math/index.html +1 -1
- package/coverage/lcov-report/math/index.ts.html +1 -1
- package/coverage/lcov-report/observing/event.ts.html +1 -1
- package/coverage/lcov-report/observing/index.html +1 -1
- package/coverage/lcov-report/structures/helpers/enum.ts.html +1 -1
- package/coverage/lcov-report/structures/helpers/index.html +1 -1
- package/coverage/lcov-report/structures/index.html +1 -1
- package/coverage/lcov-report/structures/queue/index.html +1 -1
- package/coverage/lcov-report/structures/queue/parallel.ts.html +1 -1
- package/coverage/lcov-report/structures/queue/tasks.ts.html +1 -1
- package/coverage/lcov-report/structures/tempoCache.ts.html +1 -1
- package/coverage/lcov-report/types/comparator.ts.html +1 -1
- package/coverage/lcov-report/types/getter.ts.html +1 -1
- package/coverage/lcov-report/types/index.html +1 -1
- package/coverage/lcov-report/types/index.ts.html +26 -2
- package/coverage/lcov-report/validation/ValidationErrors.ts.html +1 -1
- package/coverage/lcov-report/validation/creditCard.ts.html +1 -1
- package/coverage/lcov-report/validation/helpers.ts.html +1 -1
- package/coverage/lcov-report/validation/index.html +1 -1
- package/coverage/lcov-report/validation/index.ts.html +1 -1
- package/coverage/lcov-report/validation/types.ts.html +1 -1
- package/coverage/lcov-report/validation/validators.ts.html +1 -1
- package/coverage/lcov-report/validation/wrappers.ts.html +1 -1
- package/lib/async/misc.d.ts +3 -0
- package/lib/async/misc.d.ts.map +1 -0
- package/lib/async/misc.js +13 -0
- package/lib/async/misc.js.map +1 -0
- package/lib/models/File.d.ts +10 -0
- package/lib/models/File.d.ts.map +1 -0
- package/lib/models/File.js +3 -0
- package/lib/models/File.js.map +1 -0
- package/lib/observing/progressTracker.d.ts +24 -0
- package/lib/observing/progressTracker.d.ts.map +1 -0
- package/lib/observing/progressTracker.js +71 -0
- package/lib/observing/progressTracker.js.map +1 -0
- package/lib/types/index.d.ts +4 -0
- package/lib/types/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/async/misc.ts +11 -0
- package/src/models/File.ts +14 -0
- package/src/observing/progressTracker.ts +84 -0
- package/src/types/index.ts +8 -0
- package/lib/async/opts.d.ts +0 -2
- package/lib/async/opts.d.ts.map +0 -1
- package/lib/async/opts.js +0 -8
- package/lib/async/opts.js.map +0 -1
- package/src/async/opts.ts +0 -4
package/coverage/clover.xml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<coverage generated="
|
|
3
|
-
<project timestamp="
|
|
2
|
+
<coverage generated="1667688309810" clover="3.2.0">
|
|
3
|
+
<project timestamp="1667688309810" name="All files">
|
|
4
4
|
<metrics statements="1106" coveredstatements="944" conditionals="713" coveredconditionals="560" methods="284" coveredmethods="219" elements="2103" coveredelements="1723" complexity="0" loc="1106" ncloc="1106" packages="14" files="42" classes="42"/>
|
|
5
5
|
<package name="__tests__.helpers">
|
|
6
6
|
<metrics statements="8" coveredstatements="8" conditionals="0" coveredconditionals="0" methods="2" coveredmethods="2"/>
|
|
@@ -79,7 +79,7 @@ export const expectAnythingOrNothing = expect.toBeOneOf([expect.anything(), unde
|
|
|
79
79
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
80
80
|
Code coverage generated by
|
|
81
81
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
82
|
-
at 2022-
|
|
82
|
+
at 2022-11-05T22:45:09.773Z
|
|
83
83
|
</div>
|
|
84
84
|
<script src="../../prettify.js"></script>
|
|
85
85
|
<script>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at 2022-
|
|
119
|
+
at 2022-11-05T22:45:09.773Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -106,7 +106,7 @@ export const toArbitrary = (fakerGen) => {
|
|
|
106
106
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
107
107
|
Code coverage generated by
|
|
108
108
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
109
|
-
at 2022-
|
|
109
|
+
at 2022-11-05T22:45:09.773Z
|
|
110
110
|
</div>
|
|
111
111
|
<script src="../../prettify.js"></script>
|
|
112
112
|
<script>
|
|
@@ -184,7 +184,7 @@ export async function <span class="fstat-no" title="function not covered" >mapAs
|
|
|
184
184
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
185
185
|
Code coverage generated by
|
|
186
186
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
187
|
-
at 2022-
|
|
187
|
+
at 2022-11-05T22:45:09.773Z
|
|
188
188
|
</div>
|
|
189
189
|
<script src="../prettify.js"></script>
|
|
190
190
|
<script>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at 2022-
|
|
119
|
+
at 2022-11-05T22:45:09.773Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -322,7 +322,7 @@ export function timeoutPromise<T>(p: Promise<T>, timeoutMs: number,
|
|
|
322
322
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
323
323
|
Code coverage generated by
|
|
324
324
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
325
|
-
at 2022-
|
|
325
|
+
at 2022-11-05T22:45:09.773Z
|
|
326
326
|
</div>
|
|
327
327
|
<script src="../prettify.js"></script>
|
|
328
328
|
<script>
|
|
@@ -286,7 +286,7 @@ export function clamp(d: Date, low: Date, high: Date) {
|
|
|
286
286
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
287
287
|
Code coverage generated by
|
|
288
288
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
289
|
-
at 2022-
|
|
289
|
+
at 2022-11-05T22:45:09.773Z
|
|
290
290
|
</div>
|
|
291
291
|
<script src="../prettify.js"></script>
|
|
292
292
|
<script>
|
|
@@ -643,7 +643,7 @@ export function getDaysStreak(dates: number[], descentOrder: boolean): number {
|
|
|
643
643
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
644
644
|
Code coverage generated by
|
|
645
645
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
646
|
-
at 2022-
|
|
646
|
+
at 2022-11-05T22:45:09.773Z
|
|
647
647
|
</div>
|
|
648
648
|
<script src="../prettify.js"></script>
|
|
649
649
|
<script>
|
|
@@ -196,7 +196,7 @@ export namespace DateX {
|
|
|
196
196
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
197
197
|
Code coverage generated by
|
|
198
198
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
199
|
-
at 2022-
|
|
199
|
+
at 2022-11-05T22:45:09.773Z
|
|
200
200
|
</div>
|
|
201
201
|
<script src="../prettify.js"></script>
|
|
202
202
|
<script>
|
|
@@ -388,7 +388,7 @@ export namespace Format {
|
|
|
388
388
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
389
389
|
Code coverage generated by
|
|
390
390
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
391
|
-
at 2022-
|
|
391
|
+
at 2022-11-05T22:45:09.773Z
|
|
392
392
|
</div>
|
|
393
393
|
<script src="../prettify.js"></script>
|
|
394
394
|
<script>
|
|
@@ -236,7 +236,7 @@
|
|
|
236
236
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
237
237
|
Code coverage generated by
|
|
238
238
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
239
|
-
at 2022-
|
|
239
|
+
at 2022-11-05T22:45:09.773Z
|
|
240
240
|
</div>
|
|
241
241
|
<script src="../prettify.js"></script>
|
|
242
242
|
<script>
|
|
@@ -97,7 +97,7 @@ export * from './yearDate';
|
|
|
97
97
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
98
98
|
Code coverage generated by
|
|
99
99
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
100
|
-
at 2022-
|
|
100
|
+
at 2022-11-05T22:45:09.773Z
|
|
101
101
|
</div>
|
|
102
102
|
<script src="../prettify.js"></script>
|
|
103
103
|
<script>
|
|
@@ -142,7 +142,7 @@ export namespace Parse {
|
|
|
142
142
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
143
143
|
Code coverage generated by
|
|
144
144
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
145
|
-
at 2022-
|
|
145
|
+
at 2022-11-05T22:45:09.773Z
|
|
146
146
|
</div>
|
|
147
147
|
<script src="../prettify.js"></script>
|
|
148
148
|
<script>
|
|
@@ -139,7 +139,7 @@ export namespace Period {
|
|
|
139
139
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
140
140
|
Code coverage generated by
|
|
141
141
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
142
|
-
at 2022-
|
|
142
|
+
at 2022-11-05T22:45:09.773Z
|
|
143
143
|
</div>
|
|
144
144
|
<script src="../prettify.js"></script>
|
|
145
145
|
<script>
|
|
@@ -340,7 +340,7 @@ export function isSame(d1: Date | number, d2: Date | number, g: Granularity, loc
|
|
|
340
340
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
341
341
|
Code coverage generated by
|
|
342
342
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
343
|
-
at 2022-
|
|
343
|
+
at 2022-11-05T22:45:09.773Z
|
|
344
344
|
</div>
|
|
345
345
|
<script src="../prettify.js"></script>
|
|
346
346
|
<script>
|
|
@@ -166,7 +166,7 @@ export namespace ConstantGranularity {
|
|
|
166
166
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
167
167
|
Code coverage generated by
|
|
168
168
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
169
|
-
at 2022-
|
|
169
|
+
at 2022-11-05T22:45:09.773Z
|
|
170
170
|
</div>
|
|
171
171
|
<script src="../prettify.js"></script>
|
|
172
172
|
<script>
|
|
@@ -178,7 +178,7 @@ export namespace YearDate {
|
|
|
178
178
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
179
179
|
Code coverage generated by
|
|
180
180
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
181
|
-
at 2022-
|
|
181
|
+
at 2022-11-05T22:45:09.773Z
|
|
182
182
|
</div>
|
|
183
183
|
<script src="../prettify.js"></script>
|
|
184
184
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2022-
|
|
104
|
+
at 2022-11-05T22:45:09.773Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -442,7 +442,7 @@ export function updateArray<T>(
|
|
|
442
442
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
443
443
|
Code coverage generated by
|
|
444
444
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
445
|
-
at 2022-
|
|
445
|
+
at 2022-11-05T22:45:09.773Z
|
|
446
446
|
</div>
|
|
447
447
|
<script src="../prettify.js"></script>
|
|
448
448
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2022-
|
|
104
|
+
at 2022-11-05T22:45:09.773Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -88,7 +88,7 @@ export function safeCall<T extends (...args: any) => any>(cb: T | undef
|
|
|
88
88
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
89
89
|
Code coverage generated by
|
|
90
90
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
91
|
-
at 2022-
|
|
91
|
+
at 2022-11-05T22:45:09.773Z
|
|
92
92
|
</div>
|
|
93
93
|
<script src="../prettify.js"></script>
|
|
94
94
|
<script>
|
|
@@ -296,7 +296,7 @@
|
|
|
296
296
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
297
297
|
Code coverage generated by
|
|
298
298
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
299
|
-
at 2022-
|
|
299
|
+
at 2022-11-05T22:45:09.773Z
|
|
300
300
|
</div>
|
|
301
301
|
<script src="prettify.js"></script>
|
|
302
302
|
<script>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at 2022-
|
|
119
|
+
at 2022-11-05T22:45:09.773Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -226,7 +226,7 @@ export class LazyPromise<T> implements IDisposable {
|
|
|
226
226
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
227
227
|
Code coverage generated by
|
|
228
228
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
229
|
-
at 2022-
|
|
229
|
+
at 2022-11-05T22:45:09.773Z
|
|
230
230
|
</div>
|
|
231
231
|
<script src="../prettify.js"></script>
|
|
232
232
|
<script>
|
|
@@ -166,7 +166,7 @@ export class Lazy<T> implements IDisposable {
|
|
|
166
166
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
167
167
|
Code coverage generated by
|
|
168
168
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
169
|
-
at 2022-
|
|
169
|
+
at 2022-11-05T22:45:09.773Z
|
|
170
170
|
</div>
|
|
171
171
|
<script src="../prettify.js"></script>
|
|
172
172
|
<script>
|
|
@@ -97,7 +97,7 @@ export function batchLoggers(...loggers: ILogger[]): ILogger {
|
|
|
97
97
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
98
98
|
Code coverage generated by
|
|
99
99
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
100
|
-
at 2022-
|
|
100
|
+
at 2022-11-05T22:45:09.773Z
|
|
101
101
|
</div>
|
|
102
102
|
<script src="../prettify.js"></script>
|
|
103
103
|
<script>
|
|
@@ -226,7 +226,7 @@ export class BufferedConsoleLogger implements ILogger {
|
|
|
226
226
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
227
227
|
Code coverage generated by
|
|
228
228
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
229
|
-
at 2022-
|
|
229
|
+
at 2022-11-05T22:45:09.773Z
|
|
230
230
|
</div>
|
|
231
231
|
<script src="../prettify.js"></script>
|
|
232
232
|
<script>
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
162
162
|
Code coverage generated by
|
|
163
163
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
164
|
-
at 2022-
|
|
164
|
+
at 2022-11-05T22:45:09.773Z
|
|
165
165
|
</div>
|
|
166
166
|
<script src="../prettify.js"></script>
|
|
167
167
|
<script>
|
|
@@ -283,7 +283,7 @@ function _createImplementation(overrideMode: typeof Mode = undefined): ILogger {
|
|
|
283
283
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
284
284
|
Code coverage generated by
|
|
285
285
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
286
|
-
at 2022-
|
|
286
|
+
at 2022-11-05T22:45:09.773Z
|
|
287
287
|
</div>
|
|
288
288
|
<script src="../prettify.js"></script>
|
|
289
289
|
<script>
|
|
@@ -211,7 +211,7 @@ export abstract class NamedLogger implements ILogger, ILoggerSwitchable {
|
|
|
211
211
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
212
212
|
Code coverage generated by
|
|
213
213
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
214
|
-
at 2022-
|
|
214
|
+
at 2022-11-05T22:45:09.773Z
|
|
215
215
|
</div>
|
|
216
216
|
<script src="../prettify.js"></script>
|
|
217
217
|
<script>
|
|
@@ -157,7 +157,7 @@ export class ProxyLogger extends NamedLogger {
|
|
|
157
157
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
158
158
|
Code coverage generated by
|
|
159
159
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
160
|
-
at 2022-
|
|
160
|
+
at 2022-11-05T22:45:09.773Z
|
|
161
161
|
</div>
|
|
162
162
|
<script src="../prettify.js"></script>
|
|
163
163
|
<script>
|
|
@@ -892,7 +892,7 @@ export function <span class="fstat-no" title="function not covered" >chunkify<
|
|
|
892
892
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
893
893
|
Code coverage generated by
|
|
894
894
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
895
|
-
at 2022-
|
|
895
|
+
at 2022-11-05T22:45:09.773Z
|
|
896
896
|
</div>
|
|
897
897
|
<script src="../prettify.js"></script>
|
|
898
898
|
<script>
|
|
@@ -277,7 +277,7 @@ export function <span class="fstat-no" title="function not covered" >badRandomSt
|
|
|
277
277
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
278
278
|
Code coverage generated by
|
|
279
279
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
280
|
-
at 2022-
|
|
280
|
+
at 2022-11-05T22:45:09.773Z
|
|
281
281
|
</div>
|
|
282
282
|
<script src="../prettify.js"></script>
|
|
283
283
|
<script>
|
|
@@ -130,7 +130,7 @@ export function extendDistribution<T extends keyof any>(count: number, typ
|
|
|
130
130
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
131
131
|
Code coverage generated by
|
|
132
132
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
133
|
-
at 2022-
|
|
133
|
+
at 2022-11-05T22:45:09.773Z
|
|
134
134
|
</div>
|
|
135
135
|
<script src="../prettify.js"></script>
|
|
136
136
|
<script>
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
147
147
|
Code coverage generated by
|
|
148
148
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
149
|
-
at 2022-
|
|
149
|
+
at 2022-11-05T22:45:09.773Z
|
|
150
150
|
</div>
|
|
151
151
|
<script src="../prettify.js"></script>
|
|
152
152
|
<script>
|
|
@@ -151,7 +151,7 @@ export function format(n: number, digits?: number) {
|
|
|
151
151
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
152
152
|
Code coverage generated by
|
|
153
153
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
154
|
-
at 2022-
|
|
154
|
+
at 2022-11-05T22:45:09.773Z
|
|
155
155
|
</div>
|
|
156
156
|
<script src="../prettify.js"></script>
|
|
157
157
|
<script>
|
|
@@ -343,7 +343,7 @@ export function oneTimeSubscription<T>(e: IEvent<T>, filter?: Predic
|
|
|
343
343
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
344
344
|
Code coverage generated by
|
|
345
345
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
346
|
-
at 2022-
|
|
346
|
+
at 2022-11-05T22:45:09.773Z
|
|
347
347
|
</div>
|
|
348
348
|
<script src="../prettify.js"></script>
|
|
349
349
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2022-
|
|
104
|
+
at 2022-11-05T22:45:09.773Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -439,7 +439,7 @@ export class EnumBitwiseHelper<T extends number> extends EnumHelper<T&g
|
|
|
439
439
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
440
440
|
Code coverage generated by
|
|
441
441
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
442
|
-
at 2022-
|
|
442
|
+
at 2022-11-05T22:45:09.773Z
|
|
443
443
|
</div>
|
|
444
444
|
<script src="../../prettify.js"></script>
|
|
445
445
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2022-
|
|
104
|
+
at 2022-11-05T22:45:09.773Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2022-
|
|
104
|
+
at 2022-11-05T22:45:09.773Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at 2022-
|
|
119
|
+
at 2022-11-05T22:45:09.773Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -496,7 +496,7 @@ export class ParallelQueue {
|
|
|
496
496
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
497
497
|
Code coverage generated by
|
|
498
498
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
499
|
-
at 2022-
|
|
499
|
+
at 2022-11-05T22:45:09.773Z
|
|
500
500
|
</div>
|
|
501
501
|
<script src="../../prettify.js"></script>
|
|
502
502
|
<script>
|
|
@@ -343,7 +343,7 @@ export class TasksQueue<T> {
|
|
|
343
343
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
344
344
|
Code coverage generated by
|
|
345
345
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
346
|
-
at 2022-
|
|
346
|
+
at 2022-11-05T22:45:09.773Z
|
|
347
347
|
</div>
|
|
348
348
|
<script src="../../prettify.js"></script>
|
|
349
349
|
<script>
|
|
@@ -124,7 +124,7 @@ export class TempoCache<T> {
|
|
|
124
124
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
125
125
|
Code coverage generated by
|
|
126
126
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
127
|
-
at 2022-
|
|
127
|
+
at 2022-11-05T22:45:09.773Z
|
|
128
128
|
</div>
|
|
129
129
|
<script src="../prettify.js"></script>
|
|
130
130
|
<script>
|
|
@@ -88,7 +88,7 @@ export namespace Comparator {
|
|
|
88
88
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
89
89
|
Code coverage generated by
|
|
90
90
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
91
|
-
at 2022-
|
|
91
|
+
at 2022-11-05T22:45:09.773Z
|
|
92
92
|
</div>
|
|
93
93
|
<script src="../prettify.js"></script>
|
|
94
94
|
<script>
|
|
@@ -112,7 +112,7 @@ export namespace Getter {
|
|
|
112
112
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
113
113
|
Code coverage generated by
|
|
114
114
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
115
|
-
at 2022-
|
|
115
|
+
at 2022-11-05T22:45:09.773Z
|
|
116
116
|
</div>
|
|
117
117
|
<script src="../prettify.js"></script>
|
|
118
118
|
<script>
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
132
132
|
Code coverage generated by
|
|
133
133
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
134
|
-
at 2022-
|
|
134
|
+
at 2022-11-05T22:45:09.773Z
|
|
135
135
|
</div>
|
|
136
136
|
<script src="../prettify.js"></script>
|
|
137
137
|
<script>
|
|
@@ -72,7 +72,15 @@
|
|
|
72
72
|
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
73
|
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
74
|
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
-
<a name='L10'></a><a href='#L10'>10</a
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">6x</span>
|
|
76
84
|
<span class="cline-any cline-yes">6x</span>
|
|
77
85
|
<span class="cline-any cline-yes">6x</span>
|
|
78
86
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -81,6 +89,14 @@
|
|
|
81
89
|
<span class="cline-any cline-neutral"> </span>
|
|
82
90
|
<span class="cline-any cline-neutral"> </span>
|
|
83
91
|
<span class="cline-any cline-neutral"> </span>
|
|
92
|
+
<span class="cline-any cline-neutral"> </span>
|
|
93
|
+
<span class="cline-any cline-neutral"> </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>
|
|
97
|
+
<span class="cline-any cline-neutral"> </span>
|
|
98
|
+
<span class="cline-any cline-neutral"> </span>
|
|
99
|
+
<span class="cline-any cline-neutral"> </span>
|
|
84
100
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">export * from './deep';
|
|
85
101
|
export * from './getter';
|
|
86
102
|
export * from './comparator';
|
|
@@ -90,6 +106,14 @@ export type Predicate<T> = (value: T) => boolean;
|
|
|
90
106
|
export type TypedKeys<T extends Object, K> = {
|
|
91
107
|
[P in keyof T]: T[P] extends K ? P : never
|
|
92
108
|
}[keyof T];
|
|
109
|
+
|
|
110
|
+
export type ArrayTail<T> = T extends [any, ...infer P] ? [...P] : T;
|
|
111
|
+
|
|
112
|
+
export type NestedPick<T, K extends any[]> = K extends Array<never> // empty arr
|
|
113
|
+
? T
|
|
114
|
+
: {
|
|
115
|
+
[P in K[0]]: P extends keyof T ? NestedPick<T[P], ArrayTail<K>> : never;
|
|
116
|
+
};
|
|
93
117
|
</pre></td></tr></table></pre>
|
|
94
118
|
|
|
95
119
|
<div class='push'></div><!-- for sticky footer -->
|
|
@@ -97,7 +121,7 @@ export type TypedKeys<T extends Object, K> = {
|
|
|
97
121
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
98
122
|
Code coverage generated by
|
|
99
123
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
100
|
-
at 2022-
|
|
124
|
+
at 2022-11-05T22:45:09.773Z
|
|
101
125
|
</div>
|
|
102
126
|
<script src="../prettify.js"></script>
|
|
103
127
|
<script>
|
|
@@ -148,7 +148,7 @@ export namespace <span class="branch-1 cbranch-no" title="branch not covered" >V
|
|
|
148
148
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
149
149
|
Code coverage generated by
|
|
150
150
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
151
|
-
at 2022-
|
|
151
|
+
at 2022-11-05T22:45:09.773Z
|
|
152
152
|
</div>
|
|
153
153
|
<script src="../prettify.js"></script>
|
|
154
154
|
<script>
|
|
@@ -145,7 +145,7 @@ export default {
|
|
|
145
145
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
146
146
|
Code coverage generated by
|
|
147
147
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
148
|
-
at 2022-
|
|
148
|
+
at 2022-11-05T22:45:09.773Z
|
|
149
149
|
</div>
|
|
150
150
|
<script src="../prettify.js"></script>
|
|
151
151
|
<script>
|
|
@@ -211,7 +211,7 @@ export function <span class="fstat-no" title="function not covered" >validateObj
|
|
|
211
211
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
212
212
|
Code coverage generated by
|
|
213
213
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
214
|
-
at 2022-
|
|
214
|
+
at 2022-11-05T22:45:09.773Z
|
|
215
215
|
</div>
|
|
216
216
|
<script src="../prettify.js"></script>
|
|
217
217
|
<script>
|
|
@@ -191,7 +191,7 @@
|
|
|
191
191
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
192
192
|
Code coverage generated by
|
|
193
193
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
194
|
-
at 2022-
|
|
194
|
+
at 2022-11-05T22:45:09.773Z
|
|
195
195
|
</div>
|
|
196
196
|
<script src="../prettify.js"></script>
|
|
197
197
|
<script>
|
|
@@ -97,7 +97,7 @@ export * from './helpers';
|
|
|
97
97
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
98
98
|
Code coverage generated by
|
|
99
99
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
100
|
-
at 2022-
|
|
100
|
+
at 2022-11-05T22:45:09.773Z
|
|
101
101
|
</div>
|
|
102
102
|
<script src="../prettify.js"></script>
|
|
103
103
|
<script>
|
|
@@ -124,7 +124,7 @@ export class ValidationError<TErrors = ValidationErrors> extends Error {
|
|
|
124
124
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
125
125
|
Code coverage generated by
|
|
126
126
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
127
|
-
at 2022-
|
|
127
|
+
at 2022-11-05T22:45:09.773Z
|
|
128
128
|
</div>
|
|
129
129
|
<script src="../prettify.js"></script>
|
|
130
130
|
<script>
|
|
@@ -235,7 +235,7 @@ export const Validators = {
|
|
|
235
235
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
236
236
|
Code coverage generated by
|
|
237
237
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
238
|
-
at 2022-
|
|
238
|
+
at 2022-11-05T22:45:09.773Z
|
|
239
239
|
</div>
|
|
240
240
|
<script src="../prettify.js"></script>
|
|
241
241
|
<script>
|
|
@@ -148,7 +148,7 @@ export const Wrappers = {
|
|
|
148
148
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
149
149
|
Code coverage generated by
|
|
150
150
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
151
|
-
at 2022-
|
|
151
|
+
at 2022-11-05T22:45:09.773Z
|
|
152
152
|
</div>
|
|
153
153
|
<script src="../prettify.js"></script>
|
|
154
154
|
<script>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../src/async/misc.ts"],"names":[],"mappings":"AACA,wBAAsB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAE1F;AAED,wBAAsB,KAAK,CAAC,GAAG,QAAQ,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,iBAK/D"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.chain = exports.OptAwait = void 0;
|
|
4
|
+
async function OptAwait(cb, doAwait) {
|
|
5
|
+
return cb && (doAwait ? (await cb()) : cb());
|
|
6
|
+
}
|
|
7
|
+
exports.OptAwait = OptAwait;
|
|
8
|
+
async function chain(...promises) {
|
|
9
|
+
const applyAsync = (acc, val) => acc.then(val);
|
|
10
|
+
return promises.reduce(applyAsync, Promise.resolve());
|
|
11
|
+
}
|
|
12
|
+
exports.chain = chain;
|
|
13
|
+
//# sourceMappingURL=misc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/async/misc.ts"],"names":[],"mappings":";;;AACO,KAAK,UAAU,QAAQ,CAAI,EAA0B,EAAE,OAAgB;IAC1E,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC;AAFD,4BAEC;AAEM,KAAK,UAAU,KAAK,CAAC,GAAG,QAAiC;IAE5D,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAE,GAAwB,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEnF,OAAO,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AALD,sBAKC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"File.d.ts","sourceRoot":"","sources":["../../src/models/File.ts"],"names":[],"mappings":"AACA,oBAAY,YAAY,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IAEb,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IAEb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"File.js","sourceRoot":"","sources":["../../src/models/File.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ILogger } from '../logger';
|
|
2
|
+
export declare class ProgressTracker {
|
|
3
|
+
readonly log: boolean | ILogger;
|
|
4
|
+
private readonly _firstTimestamp;
|
|
5
|
+
private _lastTimestamp;
|
|
6
|
+
private _lastCompleted;
|
|
7
|
+
private _completed;
|
|
8
|
+
private _total;
|
|
9
|
+
private readonly _deltas;
|
|
10
|
+
private readonly _changed;
|
|
11
|
+
constructor(log?: boolean | ILogger);
|
|
12
|
+
get changed(): import("./event").IEvent<{
|
|
13
|
+
completed: number;
|
|
14
|
+
total: number;
|
|
15
|
+
currentProgress: number;
|
|
16
|
+
totalElapsedMs: number;
|
|
17
|
+
totalEstimatedMs: number;
|
|
18
|
+
}>;
|
|
19
|
+
private get logger();
|
|
20
|
+
setTotal(total: number): this;
|
|
21
|
+
add(amount?: number, restart?: boolean): void;
|
|
22
|
+
track(completed: number, total: number): void;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=progressTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progressTracker.d.ts","sourceRoot":"","sources":["../../src/observing/progressTracker.ts"],"names":[],"mappings":"AAEA,OAAe,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG5C,qBAAa,eAAe;IAaZ,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAX3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAc;IAC9C,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,cAAc,CAAgB;IAEtC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,MAAM,CAAK;IAEnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IAExC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgI;gBAEpI,GAAG,GAAE,OAAO,GAAG,OAAc;IAElD,IAAW,OAAO;;;;;;OAAqC;IAEvD,OAAO,KAAK,MAAM,GAIjB;IAEM,QAAQ,CAAC,KAAK,EAAE,MAAM;IAKtB,GAAG,CAAC,MAAM,SAAI,EAAE,OAAO,UAAQ;IAK/B,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAuChD"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProgressTracker = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const DateHelpers = tslib_1.__importStar(require("../dates"));
|
|
6
|
+
const MathHelpers = tslib_1.__importStar(require("../math"));
|
|
7
|
+
const logger_1 = tslib_1.__importDefault(require("../logger"));
|
|
8
|
+
const event_1 = require("./event");
|
|
9
|
+
class ProgressTracker {
|
|
10
|
+
constructor(log = true) {
|
|
11
|
+
this.log = log;
|
|
12
|
+
this._firstTimestamp = Date.now();
|
|
13
|
+
this._lastTimestamp = null;
|
|
14
|
+
this._lastCompleted = null;
|
|
15
|
+
this._completed = 0;
|
|
16
|
+
this._total = 0;
|
|
17
|
+
this._deltas = [];
|
|
18
|
+
this._changed = new event_1.Event();
|
|
19
|
+
}
|
|
20
|
+
get changed() { return this._changed.expose(); }
|
|
21
|
+
get logger() {
|
|
22
|
+
return this.log === true
|
|
23
|
+
? logger_1.default
|
|
24
|
+
: (this.log || null);
|
|
25
|
+
}
|
|
26
|
+
setTotal(total) {
|
|
27
|
+
this._total = total;
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
add(amount = 1, restart = false) {
|
|
31
|
+
this._completed = restart ? amount : (this._completed + amount);
|
|
32
|
+
this.track(this._completed, this._total);
|
|
33
|
+
}
|
|
34
|
+
track(completed, total) {
|
|
35
|
+
if (!this._lastTimestamp) {
|
|
36
|
+
this._lastTimestamp = this._firstTimestamp;
|
|
37
|
+
}
|
|
38
|
+
const elapsedDelta = Date.now() - this._lastTimestamp;
|
|
39
|
+
const completedDelta = completed - (this._lastCompleted || 0);
|
|
40
|
+
this._lastCompleted = completed;
|
|
41
|
+
const timePerCompleted = completedDelta > 0 ? (elapsedDelta / completedDelta) : 0;
|
|
42
|
+
this._deltas.push(timePerCompleted);
|
|
43
|
+
if (this._deltas.length > 20) {
|
|
44
|
+
this._deltas.shift();
|
|
45
|
+
}
|
|
46
|
+
const currentProgress = Math.floor(completed / (total || 100) * 100);
|
|
47
|
+
const itemsLeft = total - completed;
|
|
48
|
+
const leftProgressTime = itemsLeft * (MathHelpers.arrayAverage(this._deltas, true) || 1000);
|
|
49
|
+
this._lastTimestamp = Date.now();
|
|
50
|
+
const totalElapsedMs = this._lastTimestamp - this._firstTimestamp;
|
|
51
|
+
if (this.log) {
|
|
52
|
+
const totalElapsed = msToString(totalElapsedMs);
|
|
53
|
+
const totalEstimated = msToString(leftProgressTime);
|
|
54
|
+
this.logger.log(`Progress: ${completed}/${total} ${totalElapsed}/${totalEstimated} => ${currentProgress}%`);
|
|
55
|
+
}
|
|
56
|
+
this._changed.trigger({
|
|
57
|
+
completed,
|
|
58
|
+
total,
|
|
59
|
+
currentProgress,
|
|
60
|
+
totalElapsedMs,
|
|
61
|
+
totalEstimatedMs: leftProgressTime,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.ProgressTracker = ProgressTracker;
|
|
66
|
+
function msToString(ms) {
|
|
67
|
+
const decs = DateHelpers.decomposeMs(ms, 'second', 'minute', 'hour');
|
|
68
|
+
const nf = (n) => n.toString().padStart(2, '0');
|
|
69
|
+
return `${nf(decs.hour)}:${nf(decs.minute)}:${nf(decs.second)}`;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=progressTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progressTracker.js","sourceRoot":"","sources":["../../src/observing/progressTracker.ts"],"names":[],"mappings":"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"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -5,4 +5,8 @@ export declare type Predicate<T> = (value: T) => boolean;
|
|
|
5
5
|
export declare type TypedKeys<T extends Object, K> = {
|
|
6
6
|
[P in keyof T]: T[P] extends K ? P : never;
|
|
7
7
|
}[keyof T];
|
|
8
|
+
export declare type ArrayTail<T> = T extends [any, ...infer P] ? [...P] : T;
|
|
9
|
+
export declare type NestedPick<T, K extends any[]> = K extends Array<never> ? T : {
|
|
10
|
+
[P in K[0]]: P extends keyof T ? NestedPick<T[P], ArrayTail<K>> : never;
|
|
11
|
+
};
|
|
8
12
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAE7B,oBAAY,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC;AAEjD,oBAAY,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI;KACxC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK;CAC7C,CAAC,MAAM,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAE7B,oBAAY,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC;AAEjD,oBAAY,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI;KACxC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK;CAC7C,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,oBAAY,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAEpE,oBAAY,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,GAC7D,CAAC,GACD;KACG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAC1E,CAAC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
|
|
2
|
+
export async function OptAwait<T>(cb: () => (T | Promise<T>), doAwait: boolean): Promise<T> {
|
|
3
|
+
return cb && (doAwait ? (await cb()) : cb());
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export async function chain(...promises: (() => Promise<void>)[]) {
|
|
7
|
+
|
|
8
|
+
const applyAsync = (acc: Promise<void>, val: () => Promise<void>) => acc.then(val);
|
|
9
|
+
|
|
10
|
+
return promises.reduce(applyAsync, Promise.resolve());
|
|
11
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import * as DateHelpers from '../dates';
|
|
2
|
+
import * as MathHelpers from '../math';
|
|
3
|
+
import logger, { ILogger } from '../logger';
|
|
4
|
+
import { Event } from './event';
|
|
5
|
+
|
|
6
|
+
export class ProgressTracker {
|
|
7
|
+
|
|
8
|
+
private readonly _firstTimestamp = Date.now();
|
|
9
|
+
private _lastTimestamp: number = null;
|
|
10
|
+
private _lastCompleted: number = null;
|
|
11
|
+
|
|
12
|
+
private _completed = 0;
|
|
13
|
+
private _total = 0;
|
|
14
|
+
|
|
15
|
+
private readonly _deltas: number[] = [];
|
|
16
|
+
|
|
17
|
+
private readonly _changed = new Event<{ completed: number, total: number, currentProgress: number, totalElapsedMs: number, totalEstimatedMs: number }>();
|
|
18
|
+
|
|
19
|
+
constructor(readonly log: boolean | ILogger = true) { }
|
|
20
|
+
|
|
21
|
+
public get changed() { return this._changed.expose(); }
|
|
22
|
+
|
|
23
|
+
private get logger() {
|
|
24
|
+
return this.log === true
|
|
25
|
+
? logger
|
|
26
|
+
: (this.log || null);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
public setTotal(total: number) {
|
|
30
|
+
this._total = total;
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
public add(amount = 1, restart = false) {
|
|
35
|
+
this._completed = restart ? amount : (this._completed + amount);
|
|
36
|
+
this.track(this._completed, this._total);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
public track(completed: number, total: number) {
|
|
40
|
+
|
|
41
|
+
if (!this._lastTimestamp) {
|
|
42
|
+
this._lastTimestamp = this._firstTimestamp;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const elapsedDelta = Date.now() - this._lastTimestamp;
|
|
46
|
+
const completedDelta = completed - (this._lastCompleted || 0);
|
|
47
|
+
this._lastCompleted = completed;
|
|
48
|
+
const timePerCompleted = completedDelta > 0 ? (elapsedDelta / completedDelta) : 0;
|
|
49
|
+
|
|
50
|
+
this._deltas.push(timePerCompleted);
|
|
51
|
+
if (this._deltas.length > 20) {
|
|
52
|
+
this._deltas.shift();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const currentProgress = Math.floor(completed / (total || 100) * 100);
|
|
56
|
+
const itemsLeft = total - completed;
|
|
57
|
+
const leftProgressTime = itemsLeft * (MathHelpers.arrayAverage(this._deltas, true) || 1000);
|
|
58
|
+
|
|
59
|
+
this._lastTimestamp = Date.now();
|
|
60
|
+
|
|
61
|
+
const totalElapsedMs = this._lastTimestamp - this._firstTimestamp;
|
|
62
|
+
|
|
63
|
+
if (this.log) {
|
|
64
|
+
const totalElapsed = msToString(totalElapsedMs);
|
|
65
|
+
const totalEstimated = msToString(leftProgressTime);
|
|
66
|
+
|
|
67
|
+
this.logger.log(`Progress: ${completed}/${total} ${totalElapsed}/${totalEstimated} => ${currentProgress}%`);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
this._changed.trigger({
|
|
71
|
+
completed,
|
|
72
|
+
total,
|
|
73
|
+
currentProgress,
|
|
74
|
+
totalElapsedMs,
|
|
75
|
+
totalEstimatedMs: leftProgressTime,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function msToString(this: void, ms: number) {
|
|
81
|
+
const decs = DateHelpers.decomposeMs(ms, 'second', 'minute', 'hour');
|
|
82
|
+
const nf = (n: number) => n.toString().padStart(2, '0');
|
|
83
|
+
return `${nf(decs.hour)}:${nf(decs.minute)}:${nf(decs.second)}`;
|
|
84
|
+
}
|
package/src/types/index.ts
CHANGED
|
@@ -7,3 +7,11 @@ export type Predicate<T> = (value: T) => boolean;
|
|
|
7
7
|
export type TypedKeys<T extends Object, K> = {
|
|
8
8
|
[P in keyof T]: T[P] extends K ? P : never
|
|
9
9
|
}[keyof T];
|
|
10
|
+
|
|
11
|
+
export type ArrayTail<T> = T extends [any, ...infer P] ? [...P] : T;
|
|
12
|
+
|
|
13
|
+
export type NestedPick<T, K extends any[]> = K extends Array<never> // empty arr
|
|
14
|
+
? T
|
|
15
|
+
: {
|
|
16
|
+
[P in K[0]]: P extends keyof T ? NestedPick<T[P], ArrayTail<K>> : never;
|
|
17
|
+
};
|
package/lib/async/opts.d.ts
DELETED
package/lib/async/opts.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"opts.d.ts","sourceRoot":"","sources":["../../src/async/opts.ts"],"names":[],"mappings":"AACA,wBAAsB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAE1F"}
|
package/lib/async/opts.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OptAwait = void 0;
|
|
4
|
-
async function OptAwait(cb, doAwait) {
|
|
5
|
-
return cb && (doAwait ? (await cb()) : cb());
|
|
6
|
-
}
|
|
7
|
-
exports.OptAwait = OptAwait;
|
|
8
|
-
//# sourceMappingURL=opts.js.map
|
package/lib/async/opts.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"opts.js","sourceRoot":"","sources":["../../src/async/opts.ts"],"names":[],"mappings":";;;AACO,KAAK,UAAU,QAAQ,CAAI,EAA0B,EAAE,OAAgB;IAC1E,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC;AAFD,4BAEC"}
|
package/src/async/opts.ts
DELETED