filemail-sdk 4.5.1 → 4.6.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/dist/src/client/downloaderCore.js +16 -28
- package/dist/src/client/downloaderCore.js.map +1 -1
- package/dist/src/client/loggers/dummyLogger.d.ts +1 -0
- package/dist/src/client/loggers/dummyLogger.js +1 -0
- package/dist/src/client/loggers/dummyLogger.js.map +1 -1
- package/dist/src/client/loggers/logger.d.ts +7 -0
- package/dist/src/client/node/nodeTransferDownloader.d.ts +3 -1
- package/dist/src/client/node/nodeTransferDownloader.js +13 -4
- package/dist/src/client/node/nodeTransferDownloader.js.map +1 -1
- package/dist/src/client/node/nodeTransferUploader.d.ts +5 -0
- package/dist/src/client/node/nodeTransferUploader.js +46 -28
- package/dist/src/client/node/nodeTransferUploader.js.map +1 -1
- package/dist/src/client/transferDownloader.d.ts +1 -1
- package/dist/src/client/transferUploaderOptions.d.ts +1 -0
- package/dist/src/downloader/chunkDownloader.js +10 -8
- package/dist/src/downloader/chunkDownloader.js.map +1 -1
- package/dist/src/downloader/downloadOptions.d.ts +5 -16
- package/dist/src/downloader/downloadOptions.js +7 -18
- package/dist/src/downloader/downloadOptions.js.map +1 -1
- package/dist/src/downloader/downloadStatus/downloadFileProgress.d.ts +2 -1
- package/dist/src/downloader/downloadStatus/downloadFileProgress.js +2 -1
- package/dist/src/downloader/downloadStatus/downloadFileProgress.js.map +1 -1
- package/dist/src/downloader/downloadStatus/downloadFilePromise.d.ts +6 -0
- package/dist/src/downloader/downloadStatus/downloadFilePromise.js +32 -0
- package/dist/src/downloader/downloadStatus/downloadFilePromise.js.map +1 -0
- package/dist/src/downloader/downloadStatus/downloadState.d.ts +2 -1
- package/dist/src/downloader/downloadStatus/downloadState.js +40 -18
- package/dist/src/downloader/downloadStatus/downloadState.js.map +1 -1
- package/dist/src/downloader/downloadTracker.js +219 -130
- package/dist/src/downloader/downloadTracker.js.map +1 -1
- package/dist/src/downloader/dtos/downloadCommand.d.ts +2 -2
- package/dist/src/downloader/dtos/downloadErrorCode.d.ts +8 -1
- package/dist/src/downloader/dtos/downloadErrorCode.js +7 -0
- package/dist/src/downloader/dtos/downloadErrorCode.js.map +1 -1
- package/dist/src/downloader/dtos/downloadEvent.d.ts +3 -1
- package/dist/src/downloader/dtos/downloadEvent.js +2 -0
- package/dist/src/downloader/dtos/downloadEvent.js.map +1 -1
- package/dist/src/downloader/dtos/downloadFileChunkInfo.d.ts +13 -0
- package/dist/src/downloader/dtos/downloadFileChunkInfo.js.map +1 -1
- package/dist/src/downloader/dtos/downloadFileInfo.d.ts +11 -7
- package/dist/src/downloader/dtos/downloadFileInfo.js +14 -9
- package/dist/src/downloader/dtos/downloadFileInfo.js.map +1 -1
- package/dist/src/downloader/dtos/downloadTrackerFileInfo.d.ts +13 -9
- package/dist/src/downloader/dtos/downloadTrackerFileProgressInfo.d.ts +22 -0
- package/dist/src/downloader/dtos/downloadTrackerFileProgressInfo.js +2 -0
- package/dist/src/downloader/dtos/downloadTrackerFileProgressInfo.js.map +1 -0
- package/dist/src/downloader/dtos/downloadTrackerProgressInfo.d.ts +2 -2
- package/dist/src/downloader/eventArgs/downloadTrackingFailedEventArgs.d.ts +8 -0
- package/dist/src/downloader/eventArgs/downloadTrackingFailedEventArgs.js +2 -0
- package/dist/src/downloader/eventArgs/downloadTrackingFailedEventArgs.js.map +1 -0
- package/dist/src/downloader/filesDownloader.js +169 -80
- package/dist/src/downloader/filesDownloader.js.map +1 -1
- package/dist/src/downloader/filesPreparer.js +2 -6
- package/dist/src/downloader/filesPreparer.js.map +1 -1
- package/dist/src/utils/api/dtos/getTransferRequest.d.ts +2 -0
- package/dist/src/utils/api/node/nodeApiClient.js +11 -1
- package/dist/src/utils/api/node/nodeApiClient.js.map +1 -1
- package/dist/src/utils/fileSystem/fileSystemService.d.ts +6 -1
- package/dist/src/utils/fileSystem/node/nodeFileSystemService.d.ts +6 -1
- package/dist/src/utils/fileSystem/node/nodeFileSystemService.js +39 -7
- package/dist/src/utils/fileSystem/node/nodeFileSystemService.js.map +1 -1
- package/dist/src/utils/fileSystem/parsedPath.d.ts +8 -0
- package/dist/src/utils/fileSystem/parsedPath.js +2 -0
- package/dist/src/utils/fileSystem/parsedPath.js.map +1 -0
- package/dist/src/utils/pseudoRandom.d.ts +2 -1
- package/dist/src/utils/pseudoRandom.js +4 -1
- package/dist/src/utils/pseudoRandom.js.map +1 -1
- package/package.json +1 -1
|
@@ -9,7 +9,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _DownloadTracker_instances, _DownloadTracker_downloadId, _DownloadTracker_fileSystem, _DownloadTracker_trackingPath, _DownloadTracker_eventsEngine, _DownloadTracker_options,
|
|
12
|
+
var _DownloadTracker_instances, _DownloadTracker_downloadId, _DownloadTracker_fileSystem, _DownloadTracker_trackingPath, _DownloadTracker_eventsEngine, _DownloadTracker_options, _DownloadTracker_filesMutex, _DownloadTracker_progressIntervalTimer, _DownloadTracker_allFiles, _DownloadTracker_progress, _DownloadTracker_running, _DownloadTracker_restored, _DownloadTracker_filesChanged, _DownloadTracker_progressChanged, _DownloadTracker_canTrack, _DownloadTracker_filesPath_get, _DownloadTracker_filesPathTemp_get, _DownloadTracker_optionsFilePath_get, _DownloadTracker_progressPath_get, _DownloadTracker_progressPathTemp_get, _DownloadTracker_addEventListeners, _DownloadTracker_removeEventListeners, _DownloadTracker_onFileCreated, _DownloadTracker_onFileStarting, _DownloadTracker_onFileCompleted, _DownloadTracker_onFileFailed, _DownloadTracker_onChunkCompleted, _DownloadTracker_onPaused, _DownloadTracker_onAborted, _DownloadTracker_onCompleted, _DownloadTracker_cleanUp, _DownloadTracker_dumpOptions, _DownloadTracker_dumpDownloaderFiles, _DownloadTracker_dumpDownloaderProgress, _DownloadTracker_throwIfRunning, _DownloadTracker_throwIfPathDoesntExist, _DownloadTracker_setupProgressTimer, _DownloadTracker_shouldPendingFileBeRestarted, _DownloadTracker_restoreSingleFile, _DownloadTracker_restoreSingleChunkInfo;
|
|
13
|
+
import { Mutex } from "async-mutex";
|
|
13
14
|
import DownloadError from "./dtos/downloadError.js";
|
|
14
15
|
import DownloadErrorCode from "./dtos/downloadErrorCode.js";
|
|
15
16
|
import TransferDownloadEvent from "./dtos/downloadEvent.js";
|
|
@@ -23,57 +24,68 @@ class DownloadTracker {
|
|
|
23
24
|
_DownloadTracker_trackingPath.set(this, void 0);
|
|
24
25
|
_DownloadTracker_eventsEngine.set(this, void 0);
|
|
25
26
|
_DownloadTracker_options.set(this, void 0);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
_DownloadTracker_filesMutex.set(this, void 0);
|
|
28
|
+
_DownloadTracker_progressIntervalTimer.set(this, null);
|
|
29
|
+
_DownloadTracker_allFiles.set(this, {});
|
|
30
|
+
_DownloadTracker_progress.set(this, { activeTime: 0, trackedFiles: {} });
|
|
30
31
|
_DownloadTracker_running.set(this, false);
|
|
32
|
+
_DownloadTracker_restored.set(this, false);
|
|
33
|
+
_DownloadTracker_filesChanged.set(this, false);
|
|
34
|
+
_DownloadTracker_progressChanged.set(this, false);
|
|
35
|
+
_DownloadTracker_canTrack.set(this, false);
|
|
36
|
+
_DownloadTracker_onFileCreated.set(this, async (args) => {
|
|
37
|
+
const file = __classPrivateFieldGet(this, _DownloadTracker_allFiles, "f")[args.file.id];
|
|
38
|
+
if (file.tdp !== args.file.temporaryDownloadPath) {
|
|
39
|
+
file.tdp = args.file.temporaryDownloadPath;
|
|
40
|
+
__classPrivateFieldSet(this, _DownloadTracker_filesChanged, true, "f");
|
|
41
|
+
}
|
|
42
|
+
});
|
|
31
43
|
_DownloadTracker_onFileStarting.set(this, async (args) => {
|
|
32
|
-
__classPrivateFieldGet(this,
|
|
33
|
-
|
|
34
|
-
|
|
44
|
+
const pendingFile = __classPrivateFieldGet(this, _DownloadTracker_progress, "f").trackedFiles[args.file.id];
|
|
45
|
+
if (pendingFile.wr === false) {
|
|
46
|
+
pendingFile.wr = true;
|
|
47
|
+
__classPrivateFieldGet(this, _DownloadTracker_progress, "f").activeTime = args.activeTime;
|
|
48
|
+
__classPrivateFieldSet(this, _DownloadTracker_progressChanged, true, "f");
|
|
49
|
+
}
|
|
35
50
|
});
|
|
36
51
|
_DownloadTracker_onFileCompleted.set(this, async (args) => {
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
52
|
+
const pendingFile = __classPrivateFieldGet(this, _DownloadTracker_progress, "f").trackedFiles[args.file.id];
|
|
53
|
+
pendingFile.c = args.file.completed;
|
|
54
|
+
pendingFile.er = args.file.failed;
|
|
55
|
+
pendingFile.ok = args.file.lastOkChunk;
|
|
56
|
+
__classPrivateFieldGet(this, _DownloadTracker_progress, "f").activeTime = args.activeTime;
|
|
57
|
+
__classPrivateFieldSet(this, _DownloadTracker_progressChanged, true, "f");
|
|
58
|
+
const file = __classPrivateFieldGet(this, _DownloadTracker_allFiles, "f")[args.file.id];
|
|
59
|
+
if (file.dp !== args.file.downloadPath) {
|
|
60
|
+
file.dp = args.file.downloadPath;
|
|
61
|
+
__classPrivateFieldSet(this, _DownloadTracker_filesChanged, true, "f");
|
|
62
|
+
}
|
|
42
63
|
});
|
|
43
64
|
_DownloadTracker_onFileFailed.set(this, async (args) => {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
65
|
+
const pendingFile = __classPrivateFieldGet(this, _DownloadTracker_progress, "f").trackedFiles[args.file.id];
|
|
66
|
+
pendingFile.c = args.file.completed;
|
|
67
|
+
pendingFile.er = args.file.failed;
|
|
68
|
+
pendingFile.ok = args.file.lastOkChunk;
|
|
69
|
+
__classPrivateFieldGet(this, _DownloadTracker_progress, "f").activeTime = args.activeTime;
|
|
70
|
+
__classPrivateFieldSet(this, _DownloadTracker_progressChanged, true, "f");
|
|
49
71
|
});
|
|
50
72
|
_DownloadTracker_onChunkCompleted.set(this, async (args) => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
pendingFile.failed = args.file.failed;
|
|
58
|
-
pendingFile.lastOkChunk = args.file.lastOkChunk;
|
|
59
|
-
pendingFile.percent = args.file.percent;
|
|
60
|
-
__classPrivateFieldSet(this, _DownloadTracker_activeTimeMillis, args.activeTime, "f");
|
|
61
|
-
await __classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_dumpDownloaderState).call(this);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
73
|
+
const pendingFile = __classPrivateFieldGet(this, _DownloadTracker_progress, "f").trackedFiles[args.file.id];
|
|
74
|
+
pendingFile.c = args.file.completed;
|
|
75
|
+
pendingFile.er = args.file.failed;
|
|
76
|
+
pendingFile.ok = args.file.lastOkChunk;
|
|
77
|
+
__classPrivateFieldGet(this, _DownloadTracker_progress, "f").activeTime = args.activeTime;
|
|
78
|
+
__classPrivateFieldSet(this, _DownloadTracker_progressChanged, true, "f");
|
|
64
79
|
});
|
|
65
80
|
_DownloadTracker_onPaused.set(this, async (args) => {
|
|
66
|
-
|
|
67
|
-
__classPrivateFieldSet(this,
|
|
68
|
-
await __classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_dumpDownloaderState).call(this);
|
|
81
|
+
__classPrivateFieldGet(this, _DownloadTracker_progress, "f").activeTime = args.activeTimeMillis;
|
|
82
|
+
__classPrivateFieldSet(this, _DownloadTracker_progressChanged, true, "f");
|
|
69
83
|
});
|
|
70
84
|
_DownloadTracker_onAborted.set(this, async () => {
|
|
71
|
-
|
|
72
|
-
__classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_cleanUp).call(this);
|
|
85
|
+
await __classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_cleanUp).call(this);
|
|
73
86
|
});
|
|
74
87
|
_DownloadTracker_onCompleted.set(this, async () => {
|
|
75
|
-
|
|
76
|
-
__classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_cleanUp).call(this);
|
|
88
|
+
await __classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_cleanUp).call(this);
|
|
77
89
|
});
|
|
78
90
|
if (!options.downloadTrackingBaseFolder)
|
|
79
91
|
throw new DownloadError(`Download tracker cannot be created - tracking folder is not specified`);
|
|
@@ -82,24 +94,50 @@ class DownloadTracker {
|
|
|
82
94
|
__classPrivateFieldSet(this, _DownloadTracker_fileSystem, fileSystem, "f");
|
|
83
95
|
__classPrivateFieldSet(this, _DownloadTracker_eventsEngine, eventsEngine, "f");
|
|
84
96
|
__classPrivateFieldSet(this, _DownloadTracker_trackingPath, fileSystem.pathJoin(options.downloadTrackingBaseFolder, __classPrivateFieldGet(this, _DownloadTracker_downloadId, "f")), "f");
|
|
85
|
-
__classPrivateFieldSet(this,
|
|
97
|
+
__classPrivateFieldSet(this, _DownloadTracker_filesMutex, new Mutex(), "f");
|
|
86
98
|
}
|
|
87
99
|
async start(allFiles) {
|
|
88
100
|
__classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_throwIfRunning).call(this);
|
|
89
101
|
__classPrivateFieldSet(this, _DownloadTracker_running, true, "f");
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
102
|
+
if (__classPrivateFieldGet(this, _DownloadTracker_restored, "f") === false) {
|
|
103
|
+
for (const file of allFiles) {
|
|
104
|
+
__classPrivateFieldGet(this, _DownloadTracker_progress, "f").trackedFiles[file.externalId] = {
|
|
105
|
+
c: file.isCompleted,
|
|
106
|
+
er: file.isFailed,
|
|
107
|
+
ok: file.lastSuccessfulChunkNumber,
|
|
108
|
+
wr: file.wasEverWritten,
|
|
109
|
+
};
|
|
110
|
+
__classPrivateFieldGet(this, _DownloadTracker_allFiles, "f")[file.externalId] = {
|
|
111
|
+
u: file.url,
|
|
112
|
+
s: file.sizeInBytes,
|
|
113
|
+
n: file.name,
|
|
114
|
+
dp: file.downloadPath,
|
|
115
|
+
tdp: file.temporaryDownloadPath,
|
|
116
|
+
cc: file.chunkCount,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
await __classPrivateFieldGet(this, _DownloadTracker_filesMutex, "f").runExclusive(async () => {
|
|
120
|
+
try {
|
|
121
|
+
await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").createFolder(__classPrivateFieldGet(this, _DownloadTracker_trackingPath, "f"));
|
|
122
|
+
await __classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_dumpOptions).call(this);
|
|
123
|
+
await __classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_dumpDownloaderFiles).call(this);
|
|
124
|
+
await __classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_dumpDownloaderProgress).call(this);
|
|
125
|
+
__classPrivateFieldSet(this, _DownloadTracker_canTrack, true, "f");
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
throw new DownloadError(`Could not create tracking folder - recovering this transfer will not be possible ${__classPrivateFieldGet(this, _DownloadTracker_downloadId, "f")} @ ${__classPrivateFieldGet(this, _DownloadTracker_trackingPath, "f")}`, { cause: err }, DownloadErrorCode.TrackingNotAvailable);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
else
|
|
133
|
+
__classPrivateFieldSet(this, _DownloadTracker_canTrack, true, "f");
|
|
134
|
+
if (__classPrivateFieldGet(this, _DownloadTracker_canTrack, "f")) {
|
|
135
|
+
__classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_addEventListeners).call(this);
|
|
136
|
+
__classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_setupProgressTimer).call(this);
|
|
96
137
|
}
|
|
97
138
|
}
|
|
98
139
|
async restoreDownloadOptions() {
|
|
99
|
-
|
|
100
|
-
throw new DownloadError(`Tracking folder "${__classPrivateFieldGet(this, _DownloadTracker_trackingPath, "f")}" does not exist`);
|
|
101
|
-
if (!__classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").pathExists(__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_optionsFilePath_get)))
|
|
102
|
-
throw new DownloadError(`Options file "${__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_optionsFilePath_get)}" does not exist`);
|
|
140
|
+
await __classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_throwIfPathDoesntExist).call(this, __classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_optionsFilePath_get), `Options file "${__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_optionsFilePath_get)}" does not exist`, DownloadErrorCode.TrackingDataParsingError);
|
|
103
141
|
try {
|
|
104
142
|
const optionsFile = await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").readFileAsString(__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_optionsFilePath_get));
|
|
105
143
|
const options = JSON.parse(optionsFile);
|
|
@@ -110,62 +148,38 @@ class DownloadTracker {
|
|
|
110
148
|
}
|
|
111
149
|
}
|
|
112
150
|
async restoreDownloaderState() {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
if (!await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").pathExists(__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_filesProgressPath_get)))
|
|
116
|
-
throw new DownloadError(`Tracking file "${__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_filesProgressPath_get)}" does not exist`);
|
|
151
|
+
await __classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_throwIfPathDoesntExist).call(this, __classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_filesPath_get), `Filesinfo file "${__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_filesPath_get)}" does not exist`, DownloadErrorCode.TrackingDataParsingError);
|
|
152
|
+
await __classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_throwIfPathDoesntExist).call(this, __classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_progressPath_get), `Tracking file "${__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_progressPath_get)}" does not exist`, DownloadErrorCode.TrackingDataParsingError);
|
|
117
153
|
try {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
154
|
+
__classPrivateFieldSet(this, _DownloadTracker_allFiles, JSON.parse(await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").readFileAsString(__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_filesPath_get))), "f");
|
|
155
|
+
__classPrivateFieldSet(this, _DownloadTracker_progress, JSON.parse(await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").readFileAsString(__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_progressPath_get))), "f");
|
|
156
|
+
__classPrivateFieldSet(this, _DownloadTracker_restored, true, "f");
|
|
121
157
|
let totalSize = 0;
|
|
122
158
|
let downloadedBytes = 0;
|
|
123
159
|
let downloadedBytesBank = 0;
|
|
160
|
+
let repeatProgressDump = false;
|
|
124
161
|
const files = [];
|
|
125
|
-
for (const
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
const pendingFile = progressInfo.pendingFiles.find(x => x.downloadPath === file.downloadPath);
|
|
131
|
-
file.chunks = [];
|
|
132
|
-
for (let k = 0; k < file.chunkCount; k++) {
|
|
133
|
-
const chunk = new DownloadFileChunkInfo(file, k, __classPrivateFieldGet(this, _DownloadTracker_options, "f").maxChunkSize ?? null);
|
|
134
|
-
file.chunks.push(chunk);
|
|
135
|
-
if (existingFile) {
|
|
136
|
-
const chunkUploaded = pendingFile ? pendingFile.lastOkChunk !== null && k <= pendingFile.lastOkChunk : true;
|
|
137
|
-
chunk.isCompleted = chunkUploaded;
|
|
138
|
-
if (chunk.isCompleted) {
|
|
139
|
-
chunk.setProgress(chunk.chunkSize);
|
|
140
|
-
file.downloadedBytes_bank += chunk.chunkSize;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
file.downloadedBytes = file.downloadedBytes_bank;
|
|
145
|
-
if (pendingFile) {
|
|
146
|
-
// we have it in the tracker - it is pending - update state to state of the "pendingFile"
|
|
147
|
-
file.wasEverWritten = true;
|
|
148
|
-
file.isCompleted = pendingFile.completed;
|
|
149
|
-
file.isFailed = pendingFile.failed;
|
|
150
|
-
file.lastSuccessfulChunkNumber = pendingFile.lastOkChunk;
|
|
151
|
-
}
|
|
152
|
-
else if (existingFile) {
|
|
153
|
-
// exists on disk and no info on pending state - it is completed, update to "completed"
|
|
154
|
-
file.wasEverWritten = true;
|
|
155
|
-
file.isCompleted = true;
|
|
156
|
-
file.isFailed = false;
|
|
157
|
-
if (file.chunkCount > 0)
|
|
158
|
-
file.lastSuccessfulChunkNumber = file.chunkCount - 1;
|
|
159
|
-
}
|
|
160
|
-
file.updateProgress();
|
|
162
|
+
for (const [restoredFileId, restoredFile] of Object.entries(__classPrivateFieldGet(this, _DownloadTracker_allFiles, "f"))) {
|
|
163
|
+
// eslint-disable-next-line no-await-in-loop
|
|
164
|
+
const { file, fileWasReset } = await __classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_restoreSingleFile).call(this, restoredFileId, restoredFile);
|
|
165
|
+
if (fileWasReset)
|
|
166
|
+
repeatProgressDump = true;
|
|
161
167
|
downloadedBytes += file.downloadedBytes;
|
|
162
168
|
if (file.isCompleted)
|
|
163
169
|
downloadedBytesBank += file.sizeInBytes;
|
|
170
|
+
files.push(file);
|
|
171
|
+
totalSize += file.sizeInBytes;
|
|
172
|
+
}
|
|
173
|
+
if (repeatProgressDump) {
|
|
174
|
+
// some tracking info might have been updated (corrected) in above loop
|
|
175
|
+
// persisting this makes sure we have most correct state in the progress tracking file
|
|
176
|
+
// (e.g. some unconfirmed pending files might be deleted by end users etc.)
|
|
177
|
+
await __classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_dumpDownloaderProgress).call(this);
|
|
164
178
|
}
|
|
165
179
|
return {
|
|
166
180
|
files,
|
|
167
181
|
state: {
|
|
168
|
-
activeTime:
|
|
182
|
+
activeTime: __classPrivateFieldGet(this, _DownloadTracker_progress, "f").activeTime,
|
|
169
183
|
downloadedBytes,
|
|
170
184
|
downloadedBytesBank,
|
|
171
185
|
totalSize,
|
|
@@ -178,16 +192,28 @@ class DownloadTracker {
|
|
|
178
192
|
}
|
|
179
193
|
}
|
|
180
194
|
async removeDownloadTrackingFolder() {
|
|
181
|
-
__classPrivateFieldGet(this,
|
|
195
|
+
await __classPrivateFieldGet(this, _DownloadTracker_filesMutex, "f").runExclusive(async () => {
|
|
196
|
+
try {
|
|
197
|
+
await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").deleteFolder(__classPrivateFieldGet(this, _DownloadTracker_trackingPath, "f"));
|
|
198
|
+
}
|
|
199
|
+
catch (err) {
|
|
200
|
+
throw new DownloadError(`Could not remove tracking folder - ${__classPrivateFieldGet(this, _DownloadTracker_downloadId, "f")} @ ${__classPrivateFieldGet(this, _DownloadTracker_trackingPath, "f")}`, { cause: err }, DownloadErrorCode.TrackingCleanupFailed);
|
|
201
|
+
}
|
|
202
|
+
});
|
|
182
203
|
}
|
|
183
204
|
}
|
|
184
|
-
_DownloadTracker_downloadId = new WeakMap(), _DownloadTracker_fileSystem = new WeakMap(), _DownloadTracker_trackingPath = new WeakMap(), _DownloadTracker_eventsEngine = new WeakMap(), _DownloadTracker_options = new WeakMap(),
|
|
205
|
+
_DownloadTracker_downloadId = new WeakMap(), _DownloadTracker_fileSystem = new WeakMap(), _DownloadTracker_trackingPath = new WeakMap(), _DownloadTracker_eventsEngine = new WeakMap(), _DownloadTracker_options = new WeakMap(), _DownloadTracker_filesMutex = new WeakMap(), _DownloadTracker_progressIntervalTimer = new WeakMap(), _DownloadTracker_allFiles = new WeakMap(), _DownloadTracker_progress = new WeakMap(), _DownloadTracker_running = new WeakMap(), _DownloadTracker_restored = new WeakMap(), _DownloadTracker_filesChanged = new WeakMap(), _DownloadTracker_progressChanged = new WeakMap(), _DownloadTracker_canTrack = new WeakMap(), _DownloadTracker_onFileCreated = new WeakMap(), _DownloadTracker_onFileStarting = new WeakMap(), _DownloadTracker_onFileCompleted = new WeakMap(), _DownloadTracker_onFileFailed = new WeakMap(), _DownloadTracker_onChunkCompleted = new WeakMap(), _DownloadTracker_onPaused = new WeakMap(), _DownloadTracker_onAborted = new WeakMap(), _DownloadTracker_onCompleted = new WeakMap(), _DownloadTracker_instances = new WeakSet(), _DownloadTracker_filesPath_get = function _DownloadTracker_filesPath_get() {
|
|
206
|
+
return __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").pathJoin(__classPrivateFieldGet(this, _DownloadTracker_trackingPath, "f"), `files.json`);
|
|
207
|
+
}, _DownloadTracker_filesPathTemp_get = function _DownloadTracker_filesPathTemp_get() {
|
|
208
|
+
return __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").pathJoin(__classPrivateFieldGet(this, _DownloadTracker_trackingPath, "f"), `files.tmp`);
|
|
209
|
+
}, _DownloadTracker_optionsFilePath_get = function _DownloadTracker_optionsFilePath_get() {
|
|
185
210
|
return __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").pathJoin(__classPrivateFieldGet(this, _DownloadTracker_trackingPath, "f"), `options.json`);
|
|
186
|
-
},
|
|
211
|
+
}, _DownloadTracker_progressPath_get = function _DownloadTracker_progressPath_get() {
|
|
187
212
|
return __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").pathJoin(__classPrivateFieldGet(this, _DownloadTracker_trackingPath, "f"), `progress.json`);
|
|
188
|
-
},
|
|
189
|
-
return __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").pathJoin(__classPrivateFieldGet(this, _DownloadTracker_trackingPath, "f"), `
|
|
213
|
+
}, _DownloadTracker_progressPathTemp_get = function _DownloadTracker_progressPathTemp_get() {
|
|
214
|
+
return __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").pathJoin(__classPrivateFieldGet(this, _DownloadTracker_trackingPath, "f"), `progress.tmp`);
|
|
190
215
|
}, _DownloadTracker_addEventListeners = function _DownloadTracker_addEventListeners() {
|
|
216
|
+
__classPrivateFieldGet(this, _DownloadTracker_eventsEngine, "f").addEventListener(TransferDownloadEvent.FileCreated, __classPrivateFieldGet(this, _DownloadTracker_onFileCreated, "f"));
|
|
191
217
|
__classPrivateFieldGet(this, _DownloadTracker_eventsEngine, "f").addEventListener(TransferDownloadEvent.FileDownloadStarting, __classPrivateFieldGet(this, _DownloadTracker_onFileStarting, "f"));
|
|
192
218
|
__classPrivateFieldGet(this, _DownloadTracker_eventsEngine, "f").addEventListener(TransferDownloadEvent.FileDownloadCompleted, __classPrivateFieldGet(this, _DownloadTracker_onFileCompleted, "f"));
|
|
193
219
|
__classPrivateFieldGet(this, _DownloadTracker_eventsEngine, "f").addEventListener(TransferDownloadEvent.FileDownloadFailed, __classPrivateFieldGet(this, _DownloadTracker_onFileFailed, "f"));
|
|
@@ -196,6 +222,7 @@ _DownloadTracker_downloadId = new WeakMap(), _DownloadTracker_fileSystem = new W
|
|
|
196
222
|
__classPrivateFieldGet(this, _DownloadTracker_eventsEngine, "f").addEventListener(TransferDownloadEvent.Aborted, __classPrivateFieldGet(this, _DownloadTracker_onAborted, "f"));
|
|
197
223
|
__classPrivateFieldGet(this, _DownloadTracker_eventsEngine, "f").addEventListener(TransferDownloadEvent.DownloadCompleted, __classPrivateFieldGet(this, _DownloadTracker_onCompleted, "f"));
|
|
198
224
|
}, _DownloadTracker_removeEventListeners = function _DownloadTracker_removeEventListeners() {
|
|
225
|
+
__classPrivateFieldGet(this, _DownloadTracker_eventsEngine, "f").removeEventListener(TransferDownloadEvent.FileCreated, __classPrivateFieldGet(this, _DownloadTracker_onFileCreated, "f"));
|
|
199
226
|
__classPrivateFieldGet(this, _DownloadTracker_eventsEngine, "f").removeEventListener(TransferDownloadEvent.FileDownloadStarting, __classPrivateFieldGet(this, _DownloadTracker_onFileStarting, "f"));
|
|
200
227
|
__classPrivateFieldGet(this, _DownloadTracker_eventsEngine, "f").removeEventListener(TransferDownloadEvent.FileDownloadCompleted, __classPrivateFieldGet(this, _DownloadTracker_onFileCompleted, "f"));
|
|
201
228
|
__classPrivateFieldGet(this, _DownloadTracker_eventsEngine, "f").removeEventListener(TransferDownloadEvent.FileDownloadFailed, __classPrivateFieldGet(this, _DownloadTracker_onFileFailed, "f"));
|
|
@@ -203,44 +230,106 @@ _DownloadTracker_downloadId = new WeakMap(), _DownloadTracker_fileSystem = new W
|
|
|
203
230
|
__classPrivateFieldGet(this, _DownloadTracker_eventsEngine, "f").removeEventListener(TransferDownloadEvent.Paused, __classPrivateFieldGet(this, _DownloadTracker_onPaused, "f"));
|
|
204
231
|
__classPrivateFieldGet(this, _DownloadTracker_eventsEngine, "f").removeEventListener(TransferDownloadEvent.Aborted, __classPrivateFieldGet(this, _DownloadTracker_onAborted, "f"));
|
|
205
232
|
__classPrivateFieldGet(this, _DownloadTracker_eventsEngine, "f").removeEventListener(TransferDownloadEvent.DownloadCompleted, __classPrivateFieldGet(this, _DownloadTracker_onCompleted, "f"));
|
|
206
|
-
}, _DownloadTracker_cleanUp = function _DownloadTracker_cleanUp() {
|
|
233
|
+
}, _DownloadTracker_cleanUp = async function _DownloadTracker_cleanUp() {
|
|
234
|
+
__classPrivateFieldSet(this, _DownloadTracker_running, false, "f");
|
|
235
|
+
__classPrivateFieldSet(this, _DownloadTracker_progressChanged, false, "f");
|
|
236
|
+
__classPrivateFieldSet(this, _DownloadTracker_filesChanged, false, "f");
|
|
237
|
+
if (__classPrivateFieldGet(this, _DownloadTracker_progressIntervalTimer, "f") !== null) {
|
|
238
|
+
clearInterval(__classPrivateFieldGet(this, _DownloadTracker_progressIntervalTimer, "f"));
|
|
239
|
+
__classPrivateFieldSet(this, _DownloadTracker_progressIntervalTimer, null, "f");
|
|
240
|
+
}
|
|
207
241
|
__classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_removeEventListeners).call(this);
|
|
208
|
-
__classPrivateFieldSet(this,
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
return __classPrivateFieldGet(this, _DownloadTracker_lastDownloadTracking, "f") === null || new Date().getTime() - __classPrivateFieldGet(this, _DownloadTracker_lastDownloadTracking, "f") >= __classPrivateFieldGet(this, _DownloadTracker_trackingIntervalMillis, "f");
|
|
242
|
+
__classPrivateFieldSet(this, _DownloadTracker_allFiles, {}, "f");
|
|
243
|
+
__classPrivateFieldSet(this, _DownloadTracker_progress, { activeTime: 0, trackedFiles: {} }, "f");
|
|
244
|
+
await this.removeDownloadTrackingFolder();
|
|
212
245
|
}, _DownloadTracker_dumpOptions = async function _DownloadTracker_dumpOptions() {
|
|
213
246
|
await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").writeFile(__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_optionsFilePath_get), JSON.stringify(__classPrivateFieldGet(this, _DownloadTracker_options, "f")));
|
|
214
|
-
},
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
cc: x.chunkCount,
|
|
223
|
-
};
|
|
224
|
-
return result;
|
|
225
|
-
});
|
|
226
|
-
await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").writeFile(__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_filesInfoPath_get), JSON.stringify(mapped));
|
|
227
|
-
}, _DownloadTracker_downloaderState_get = function _DownloadTracker_downloaderState_get() {
|
|
228
|
-
return {
|
|
229
|
-
activeTime: __classPrivateFieldGet(this, _DownloadTracker_activeTimeMillis, "f"),
|
|
230
|
-
pendingFiles: __classPrivateFieldGet(this, _DownloadTracker_pendingFiles, "f") || [],
|
|
231
|
-
};
|
|
232
|
-
}, _DownloadTracker_dumpDownloaderState = async function _DownloadTracker_dumpDownloaderState() {
|
|
233
|
-
await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").writeFile(__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_filesProgressPath_get), JSON.stringify(__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_downloaderState_get)));
|
|
234
|
-
}, _DownloadTracker_restoreDownloaderState = async function _DownloadTracker_restoreDownloaderState() {
|
|
235
|
-
const allFilesInfo = await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").readFileAsString(__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_filesInfoPath_get));
|
|
236
|
-
return JSON.parse(allFilesInfo);
|
|
237
|
-
}, _DownloadTracker_restoreDownloaderProgress = async function _DownloadTracker_restoreDownloaderProgress() {
|
|
238
|
-
const progressInfoJson = await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").readFileAsString(__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_filesProgressPath_get));
|
|
239
|
-
const progressInfo = JSON.parse(progressInfoJson);
|
|
240
|
-
return progressInfo;
|
|
247
|
+
}, _DownloadTracker_dumpDownloaderFiles = async function _DownloadTracker_dumpDownloaderFiles() {
|
|
248
|
+
// write to disk - then rename: rename will be much faster than write (potentially few/few dozens MB) - minimizing risk of getting corrupt progress file on disk
|
|
249
|
+
await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").writeFile(__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_filesPathTemp_get), JSON.stringify(__classPrivateFieldGet(this, _DownloadTracker_allFiles, "f")));
|
|
250
|
+
await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").renameFile(__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_filesPathTemp_get), __classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_filesPath_get));
|
|
251
|
+
}, _DownloadTracker_dumpDownloaderProgress = async function _DownloadTracker_dumpDownloaderProgress() {
|
|
252
|
+
// write to disk - then rename: rename will be much faster than write (potentially few/few dozens MB) - minimizing risk of getting corrupt progress file on disk
|
|
253
|
+
await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").writeFile(__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_progressPathTemp_get), JSON.stringify(__classPrivateFieldGet(this, _DownloadTracker_progress, "f")));
|
|
254
|
+
await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").renameFile(__classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_progressPathTemp_get), __classPrivateFieldGet(this, _DownloadTracker_instances, "a", _DownloadTracker_progressPath_get));
|
|
241
255
|
}, _DownloadTracker_throwIfRunning = function _DownloadTracker_throwIfRunning() {
|
|
242
256
|
if (__classPrivateFieldGet(this, _DownloadTracker_running, "f"))
|
|
243
257
|
throw new DownloadError(`This download tracker is already running. Please create a new one.`);
|
|
258
|
+
}, _DownloadTracker_throwIfPathDoesntExist = async function _DownloadTracker_throwIfPathDoesntExist(path, reason, errorCode) {
|
|
259
|
+
if ((await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").pathExists(path)) === false)
|
|
260
|
+
throw new DownloadError(reason, undefined, errorCode);
|
|
261
|
+
}, _DownloadTracker_setupProgressTimer = function _DownloadTracker_setupProgressTimer() {
|
|
262
|
+
__classPrivateFieldSet(this, _DownloadTracker_progressIntervalTimer, setInterval(async () => {
|
|
263
|
+
await __classPrivateFieldGet(this, _DownloadTracker_filesMutex, "f").runExclusive(async () => {
|
|
264
|
+
try {
|
|
265
|
+
if (__classPrivateFieldGet(this, _DownloadTracker_progressChanged, "f")) {
|
|
266
|
+
__classPrivateFieldSet(this, _DownloadTracker_progressChanged, false, "f");
|
|
267
|
+
await __classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_dumpDownloaderProgress).call(this);
|
|
268
|
+
}
|
|
269
|
+
if (__classPrivateFieldGet(this, _DownloadTracker_filesChanged, "f")) {
|
|
270
|
+
__classPrivateFieldSet(this, _DownloadTracker_filesChanged, false, "f");
|
|
271
|
+
await __classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_dumpDownloaderFiles).call(this);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
catch (err) {
|
|
275
|
+
// When this event is emitted it means for the the caller that restoring interrupted download won't be able to recover
|
|
276
|
+
// all downloaded data - but only some part of it. In general it is safe to continue after this event,
|
|
277
|
+
// just keep in mind tracking data is not up-to-date.
|
|
278
|
+
// Also note: in many cases tracking data will not be used at all (only when download was interrupted - by app restart, pc reboot etc.).
|
|
279
|
+
const args = {
|
|
280
|
+
reason: `Could not update tracking data - recovering this transfer may re-download more data than needed ${__classPrivateFieldGet(this, _DownloadTracker_downloadId, "f")} @ ${__classPrivateFieldGet(this, _DownloadTracker_trackingPath, "f")}`,
|
|
281
|
+
error: err,
|
|
282
|
+
errorCode: DownloadErrorCode.TrackingDataOutdated,
|
|
283
|
+
downloadId: __classPrivateFieldGet(this, _DownloadTracker_downloadId, "f"),
|
|
284
|
+
};
|
|
285
|
+
__classPrivateFieldGet(this, _DownloadTracker_eventsEngine, "f").emit(TransferDownloadEvent.DownloadTrackingFailed, args);
|
|
286
|
+
}
|
|
287
|
+
});
|
|
288
|
+
}, __classPrivateFieldGet(this, _DownloadTracker_options, "f").downloadTrackingIntervalMillis), "f");
|
|
289
|
+
}, _DownloadTracker_shouldPendingFileBeRestarted = async function _DownloadTracker_shouldPendingFileBeRestarted(file) {
|
|
290
|
+
return file.wasEverWritten
|
|
291
|
+
// eslint-disable-next-line no-await-in-loop
|
|
292
|
+
&& (!file.temporaryDownloadPath || (await __classPrivateFieldGet(this, _DownloadTracker_fileSystem, "f").pathExists(file.temporaryDownloadPath)) === false);
|
|
293
|
+
}, _DownloadTracker_restoreSingleFile = async function _DownloadTracker_restoreSingleFile(restoredFileId, restoredFile) {
|
|
294
|
+
const fileTrack = __classPrivateFieldGet(this, _DownloadTracker_progress, "f").trackedFiles[restoredFileId];
|
|
295
|
+
const file = new DownloadFileInfo(restoredFileId, restoredFile.u, restoredFile.n, restoredFile.s, restoredFile.dp, restoredFile.cc, restoredFile.tdp);
|
|
296
|
+
let fileWasReset = false;
|
|
297
|
+
file.wasEverWritten = fileTrack.wr;
|
|
298
|
+
file.isCompleted = fileTrack.c;
|
|
299
|
+
file.isFailed = fileTrack.er;
|
|
300
|
+
file.lastSuccessfulChunkNumber = fileTrack.ok;
|
|
301
|
+
if (file.isCompleted || file.isFailed)
|
|
302
|
+
// let's save some cpu time on restoring chunk collection for file which will never be picked up
|
|
303
|
+
file.downloadedBytes_bank = file.sizeInBytes;
|
|
304
|
+
else {
|
|
305
|
+
// eslint-disable-next-line no-await-in-loop
|
|
306
|
+
const shouldFileBeReset = await __classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_shouldPendingFileBeRestarted).call(this, file);
|
|
307
|
+
if (shouldFileBeReset) {
|
|
308
|
+
// it maye happen that disk state is de-synced from the progress tracking file (the file.temporaryDownloadPath is gone)
|
|
309
|
+
// in this case we want to simply re-start the file
|
|
310
|
+
fileTrack.wr = false;
|
|
311
|
+
fileTrack.ok = null;
|
|
312
|
+
fileWasReset = true;
|
|
313
|
+
file.wasEverWritten = false;
|
|
314
|
+
file.lastSuccessfulChunkNumber = null;
|
|
315
|
+
}
|
|
316
|
+
for (let chunkIndex = 0; chunkIndex < file.chunkCount; chunkIndex++) {
|
|
317
|
+
const chunk = __classPrivateFieldGet(this, _DownloadTracker_instances, "m", _DownloadTracker_restoreSingleChunkInfo).call(this, file, chunkIndex, fileTrack);
|
|
318
|
+
file.chunks.push(chunk);
|
|
319
|
+
if (chunk.isCompleted)
|
|
320
|
+
file.downloadedBytes_bank += chunk.chunkSize;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
// this method will update file.downloadedBytes properly based on file.downloadedBytes_bank
|
|
324
|
+
// (and theoretically also based on file.#pendingChunks - but when restoring state #pendingChunks is always empty)
|
|
325
|
+
file.updateProgress();
|
|
326
|
+
return { file, fileWasReset };
|
|
327
|
+
}, _DownloadTracker_restoreSingleChunkInfo = function _DownloadTracker_restoreSingleChunkInfo(file, chunkIndex, fileTrack) {
|
|
328
|
+
const chunk = new DownloadFileChunkInfo(file, chunkIndex, __classPrivateFieldGet(this, _DownloadTracker_options, "f").maxChunkSize ?? null);
|
|
329
|
+
chunk.isCompleted = fileTrack.ok !== null && chunkIndex <= fileTrack.ok;
|
|
330
|
+
if (chunk.isCompleted)
|
|
331
|
+
chunk.setProgress(chunk.chunkSize);
|
|
332
|
+
return chunk;
|
|
244
333
|
};
|
|
245
334
|
export default DownloadTracker;
|
|
246
335
|
//# sourceMappingURL=downloadTracker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"downloadTracker.js","sourceRoot":"","sources":["../../../src/downloader/downloadTracker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,iBAAiB,MAAM,6BAA6B,CAAC;AAC5D,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,qBAAqB,MAAM,iCAAiC,CAAC;AACpE,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAQ1D,MAAqB,eAAe;IAahC,YAAY,UAAkB,EAAE,OAAwB,EAAE,UAA6B,EAAE,YAA0B;;QAZ1G,8CAAoB;QACpB,8CAA+B;QAC/B,gDAAsB;QACtB,gDAA4B;QAC5B,2CAA0B;QAC1B,0DAAgC;QAEzC,gDAAuC,IAAI,EAAC;QAC5C,4CAAoB,CAAC,EAAC;QACtB,wCAAoD,IAAI,EAAC;QACzD,mCAAW,KAAK,EAAC;QA8CjB,0CAAkB,KAAK,EAAE,IAA2B,EAAE,EAAE;YACpD,uBAAA,IAAI,qCAAe,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3C,uBAAA,IAAI,qCAAqB,IAAI,CAAC,UAAU,MAAA,CAAC;YACzC,MAAM,uBAAA,IAAI,wEAAqB,MAAzB,IAAI,CAAuB,CAAC;QACtC,CAAC,EAAC;QAEF,2CAAmB,KAAK,EAAE,IAA2B,EAAE,EAAE;YACrD,MAAM,GAAG,GAAG,uBAAA,IAAI,qCAAe,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtE,IAAI,GAAG,GAAG,CAAC,CAAC;gBACR,uBAAA,IAAI,qCAAe,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAEvC,uBAAA,IAAI,qCAAqB,IAAI,CAAC,UAAU,MAAA,CAAC;YACzC,MAAM,uBAAA,IAAI,wEAAqB,MAAzB,IAAI,CAAuB,CAAC;QACtC,CAAC,EAAC;QAEF,wCAAgB,KAAK,EAAE,IAAiC,EAAE,EAAE;YACxD,MAAM,GAAG,GAAG,uBAAA,IAAI,qCAAe,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtE,IAAI,GAAG,GAAG,CAAC,CAAC;gBACR,uBAAA,IAAI,qCAAe,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAEvC,uBAAA,IAAI,qCAAqB,IAAI,CAAC,UAAU,MAAA,CAAC;YACzC,MAAM,uBAAA,IAAI,wEAAqB,MAAzB,IAAI,CAAuB,CAAC;QACtC,CAAC,EAAC;QAEF,4CAAoB,KAAK,EAAE,IAA4B,EAAE,EAAE;YACvD,IAAI,uBAAA,IAAI,gFAA6B,MAAjC,IAAI,CAA+B,EAAE;gBACrC,uBAAA,IAAI,yCAAyB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAA,CAAC;gBAClD,MAAM,WAAW,GAAG,uBAAA,IAAI,qCAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzE,IAAI,WAAW,EAAE;oBACb,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;oBAC5C,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;oBAC9C,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBACtC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;oBAChD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;oBACxC,uBAAA,IAAI,qCAAqB,IAAI,CAAC,UAAU,MAAA,CAAC;oBACzC,MAAM,uBAAA,IAAI,wEAAqB,MAAzB,IAAI,CAAuB,CAAC;iBACrC;aACJ;QACL,CAAC,EAAC;QAEF,oCAAY,KAAK,EAAE,IAA4B,EAAE,EAAE;YAC/C,uBAAA,IAAI,yCAAyB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAA,CAAC;YAClD,uBAAA,IAAI,qCAAqB,IAAI,CAAC,gBAAgB,MAAA,CAAC;YAC/C,MAAM,uBAAA,IAAI,wEAAqB,MAAzB,IAAI,CAAuB,CAAC;QACtC,CAAC,EAAC;QAEF,qCAAa,KAAK,IAAI,EAAE;YACpB,uBAAA,IAAI,4BAAY,KAAK,MAAA,CAAC;YACtB,uBAAA,IAAI,4DAAS,MAAb,IAAI,CAAW,CAAC;QACpB,CAAC,EAAC;QAEF,uCAAe,KAAK,IAAI,EAAE;YACtB,uBAAA,IAAI,4BAAY,KAAK,MAAA,CAAC;YACtB,uBAAA,IAAI,4DAAS,MAAb,IAAI,CAAW,CAAC;QACpB,CAAC,EAAC;QAjGE,IAAI,CAAC,OAAO,CAAC,0BAA0B;YACnC,MAAM,IAAI,aAAa,CAAC,uEAAuE,CAAC,CAAC;QAErG,uBAAA,IAAI,+BAAe,UAAU,MAAA,CAAC;QAC9B,uBAAA,IAAI,4BAAY,OAAO,MAAA,CAAC;QACxB,uBAAA,IAAI,+BAAe,UAAU,MAAA,CAAC;QAC9B,uBAAA,IAAI,iCAAiB,YAAY,MAAA,CAAC;QAClC,uBAAA,IAAI,iCAAiB,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,0BAA0B,EAAE,uBAAA,IAAI,mCAAY,CAAC,MAAA,CAAC;QAC/F,uBAAA,IAAI,2CAA2B,OAAO,CAAC,8BAA8B,IAAI,KAAK,MAAA,CAAC;IACnF,CAAC;IAkJD,KAAK,CAAC,KAAK,CAAC,QAAiC;QACzC,uBAAA,IAAI,mEAAgB,MAApB,IAAI,CAAkB,CAAC;QAEvB,uBAAA,IAAI,4BAAY,IAAI,MAAA,CAAC;QACrB,uBAAA,IAAI,iCAAiB,EAAE,MAAA,CAAC;QACxB,uBAAA,IAAI,sEAAmB,MAAvB,IAAI,CAAqB,CAAC;QAE1B,IAAI,MAAM,uBAAA,IAAI,mCAAY,CAAC,UAAU,CAAC,uBAAA,IAAI,qCAAc,CAAC,KAAK,KAAK,EAAE;YACjE,MAAM,uBAAA,IAAI,mCAAY,CAAC,YAAY,CAAC,uBAAA,IAAI,qCAAc,CAAC,CAAC;YACxD,MAAM,uBAAA,IAAI,gEAAa,MAAjB,IAAI,CAAe,CAAC,CAAC,2BAA2B;YACtD,MAAM,uBAAA,IAAI,iEAAc,MAAlB,IAAI,EAAe,QAAQ,CAAC,CAAC,CAAC,2BAA2B;SAClE;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB;QACxB,IAAI,CAAC,uBAAA,IAAI,mCAAY,CAAC,UAAU,CAAC,uBAAA,IAAI,qCAAc,CAAC;YAChD,MAAM,IAAI,aAAa,CAAC,oBAAoB,uBAAA,IAAI,qCAAc,kBAAkB,CAAC,CAAC;QAEtF,IAAI,CAAC,uBAAA,IAAI,mCAAY,CAAC,UAAU,CAAC,uBAAA,IAAI,wEAAiB,CAAC;YACnD,MAAM,IAAI,aAAa,CAAC,iBAAiB,uBAAA,IAAI,wEAAiB,kBAAkB,CAAC,CAAC;QAEtF,IAAI;YACA,MAAM,WAAW,GAAG,MAAM,uBAAA,IAAI,mCAAY,CAAC,gBAAgB,CAAC,uBAAA,IAAI,wEAAiB,CAAC,CAAC;YACnF,MAAM,OAAO,GAAoB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACzD,OAAO,OAAO,CAAC;SAClB;QACD,OAAO,GAAG,EAAE;YACR,MAAM,IAAI,aAAa,CAAC,+CAA+C,uBAAA,IAAI,mCAAY,MAAM,uBAAA,IAAI,wEAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;SAC9L;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB;QACxB,IAAI,CAAC,uBAAA,IAAI,mCAAY,CAAC,UAAU,CAAC,uBAAA,IAAI,qCAAc,CAAC;YAChD,MAAM,IAAI,aAAa,CAAC,oBAAoB,uBAAA,IAAI,qCAAc,kBAAkB,CAAC,CAAC;QAEtF,IAAI,CAAC,MAAM,uBAAA,IAAI,mCAAY,CAAC,UAAU,CAAC,uBAAA,IAAI,0EAAmB,CAAC;YAC3D,MAAM,IAAI,aAAa,CAAC,kBAAkB,uBAAA,IAAI,0EAAmB,kBAAkB,CAAC,CAAC;QAEzF,IAAI;YACA,MAAM,YAAY,GAAmC,MAAM,uBAAA,IAAI,2EAAwB,MAA5B,IAAI,CAA0B,CAAC;YAC1F,MAAM,YAAY,GAAgC,MAAM,uBAAA,IAAI,8EAA2B,MAA/B,IAAI,CAA6B,CAAC;YAC1F,MAAM,kBAAkB,GAAG,MAAM,uBAAA,IAAI,mCAAY,CAAC,wBAAwB,CAAC,uBAAA,IAAI,gCAAS,CAAC,cAAe,CAAC,CAAC;YAC1G,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAC5B,MAAM,KAAK,GAA4B,EAAE,CAAC;YAE1C,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;gBACpC,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;gBACrI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjB,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC;gBAC9B,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC3E,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC9F,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;gBACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE;oBACtC,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,CAAC,EAAE,uBAAA,IAAI,gCAAS,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;oBACrF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACxB,IAAI,YAAY,EAAE;wBACd,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC5G,KAAK,CAAC,WAAW,GAAG,aAAa,CAAC;wBAClC,IAAI,KAAK,CAAC,WAAW,EAAE;4BACnB,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;4BACnC,IAAI,CAAC,oBAAoB,IAAI,KAAK,CAAC,SAAS,CAAC;yBAChD;qBACJ;iBACJ;gBACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC;gBACjD,IAAI,WAAW,EAAE;oBACb,yFAAyF;oBACzF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC;oBACzC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC;oBACnC,IAAI,CAAC,yBAAyB,GAAG,WAAW,CAAC,WAAW,CAAC;iBAC5D;qBACI,IAAI,YAAY,EAAE;oBACnB,uFAAuF;oBACvF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACtB,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC;wBACnB,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;iBAC5D;gBACD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC;gBACxC,IAAI,IAAI,CAAC,WAAW;oBAChB,mBAAmB,IAAI,IAAI,CAAC,WAAW,CAAC;aAC/C;YAED,OAAO;gBACH,KAAK;gBACL,KAAK,EAAE;oBACH,UAAU,EAAE,YAAY,CAAC,UAAU;oBACnC,eAAe;oBACf,mBAAmB;oBACnB,SAAS;oBACT,OAAO,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,eAAe,CAAC,GAAG,SAAS,CAAC;iBACzE;aACJ,CAAC;SACL;QACD,OAAO,GAAG,EAAE;YACR,MAAM,IAAI,aAAa,CAAC,gDAAgD,uBAAA,IAAI,mCAAY,EAAE,EAAE,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;SACpK;IACL,CAAC;IAED,KAAK,CAAC,4BAA4B;QAC9B,uBAAA,IAAI,mCAAY,CAAC,YAAY,CAAC,uBAAA,IAAI,qCAAc,CAAC,CAAC;IACtD,CAAC;CACJ;;IA1PO,OAAO,uBAAA,IAAI,mCAAY,CAAC,QAAQ,CAAC,uBAAA,IAAI,qCAAc,EAAE,cAAc,CAAC,CAAC;AACzE,CAAC;IAGG,OAAO,uBAAA,IAAI,mCAAY,CAAC,QAAQ,CAAC,uBAAA,IAAI,qCAAc,EAAE,eAAe,CAAC,CAAC;AAC1E,CAAC;IAGG,OAAO,uBAAA,IAAI,mCAAY,CAAC,QAAQ,CAAC,uBAAA,IAAI,qCAAc,EAAE,YAAY,CAAC,CAAC;AACvE,CAAC;IAGG,uBAAA,IAAI,qCAAc,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,oBAAoB,EAAE,uBAAA,IAAI,uCAAgB,CAAC,CAAC;IACtG,uBAAA,IAAI,qCAAc,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,qBAAqB,EAAE,uBAAA,IAAI,wCAAiB,CAAC,CAAC;IACxG,uBAAA,IAAI,qCAAc,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,uBAAA,IAAI,qCAAc,CAAC,CAAC;IAClG,uBAAA,IAAI,qCAAc,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,sBAAsB,EAAE,uBAAA,IAAI,yCAAkB,CAAC,CAAC;IAC1G,uBAAA,IAAI,qCAAc,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,MAAM,EAAE,uBAAA,IAAI,iCAAU,CAAC,CAAC;IAClF,uBAAA,IAAI,qCAAc,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,OAAO,EAAE,uBAAA,IAAI,kCAAW,CAAC,CAAC;IACpF,uBAAA,IAAI,qCAAc,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,uBAAA,IAAI,oCAAa,CAAC,CAAC;AACpG,CAAC;IAGG,uBAAA,IAAI,qCAAc,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,oBAAoB,EAAE,uBAAA,IAAI,uCAAgB,CAAC,CAAC;IACzG,uBAAA,IAAI,qCAAc,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,qBAAqB,EAAE,uBAAA,IAAI,wCAAiB,CAAC,CAAC;IAC3G,uBAAA,IAAI,qCAAc,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,uBAAA,IAAI,qCAAc,CAAC,CAAC;IACrG,uBAAA,IAAI,qCAAc,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,sBAAsB,EAAE,uBAAA,IAAI,yCAAkB,CAAC,CAAC;IAC7G,uBAAA,IAAI,qCAAc,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,MAAM,EAAE,uBAAA,IAAI,iCAAU,CAAC,CAAC;IACrF,uBAAA,IAAI,qCAAc,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,OAAO,EAAE,uBAAA,IAAI,kCAAW,CAAC,CAAC;IACvF,uBAAA,IAAI,qCAAc,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,uBAAA,IAAI,oCAAa,CAAC,CAAC;AACvG,CAAC;IA2DG,uBAAA,IAAI,yEAAsB,MAA1B,IAAI,CAAwB,CAAC;IAC7B,uBAAA,IAAI,iCAAiB,IAAI,MAAA,CAAC;IAC1B,uBAAA,IAAI,mCAAY,CAAC,YAAY,CAAC,uBAAA,IAAI,qCAAc,CAAC,CAAC;AACtD,CAAC;IAGG,OAAO,uBAAA,IAAI,6CAAsB,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,uBAAA,IAAI,6CAAsB,IAAI,uBAAA,IAAI,+CAAwB,CAAC;AACpI,CAAC,iCAED,KAAK;IACD,MAAM,uBAAA,IAAI,mCAAY,CAAC,SAAS,CAAC,uBAAA,IAAI,wEAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,uBAAA,IAAI,gCAAS,CAAC,CAAC,CAAC;AAC3F,CAAC,kCAED,KAAK,wCAAe,QAAiC;IACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC5B,MAAM,MAAM,GAA4B;YACpC,EAAE,EAAE,CAAC,CAAC,UAAU;YAChB,CAAC,EAAE,CAAC,CAAC,GAAG;YACR,CAAC,EAAE,CAAC,CAAC,WAAW;YAChB,CAAC,EAAE,CAAC,CAAC,IAAI;YACT,EAAE,EAAE,CAAC,CAAC,YAAY;YAClB,EAAE,EAAE,CAAC,CAAC,UAAU;SACnB,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,MAAM,uBAAA,IAAI,mCAAY,CAAC,SAAS,CAAC,uBAAA,IAAI,sEAAe,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAClF,CAAC;IAGG,OAAO;QACH,UAAU,EAAE,uBAAA,IAAI,yCAAkB;QAClC,YAAY,EAAE,uBAAA,IAAI,qCAAc,IAAI,EAAE;KACzC,CAAC;AACN,CAAC,yCAED,KAAK;IACD,MAAM,uBAAA,IAAI,mCAAY,CAAC,SAAS,CAAC,uBAAA,IAAI,0EAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,uBAAA,IAAI,wEAAiB,CAAC,CAAC,CAAC;AACrG,CAAC,4CAED,KAAK;IACD,MAAM,YAAY,GAAG,MAAM,uBAAA,IAAI,mCAAY,CAAC,gBAAgB,CAAC,uBAAA,IAAI,sEAAe,CAAC,CAAC;IAClF,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC,+CAED,KAAK;IACD,MAAM,gBAAgB,GAAG,MAAM,uBAAA,IAAI,mCAAY,CAAC,gBAAgB,CAAC,uBAAA,IAAI,0EAAmB,CAAC,CAAC;IAC1F,MAAM,YAAY,GAAgC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC/E,OAAO,YAAY,CAAC;AACxB,CAAC;IAGG,IAAI,uBAAA,IAAI,gCAAS;QACb,MAAM,IAAI,aAAa,CAAC,oEAAoE,CAAC,CAAC;AACtG,CAAC;eAvKgB,eAAe"}
|
|
1
|
+
{"version":3,"file":"downloadTracker.js","sourceRoot":"","sources":["../../../src/downloader/downloadTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type GetCompanyResponse from "../../utils/api/dtos/getCompanyResponse";
|
|
2
|
-
import type GetTransferResponse from "../../utils/api/dtos/getTransferResponse";
|
|
3
2
|
interface DownloadCommand {
|
|
4
|
-
transfer?: string |
|
|
3
|
+
transfer?: string | undefined;
|
|
5
4
|
trackId?: string | undefined;
|
|
6
5
|
password?: string | undefined;
|
|
7
6
|
company?: GetCompanyResponse | undefined;
|
|
7
|
+
checkLogintoken?: boolean | undefined;
|
|
8
8
|
}
|
|
9
9
|
export default DownloadCommand;
|
|
@@ -6,6 +6,13 @@ declare enum DownloadErrorCode {
|
|
|
6
6
|
DownloadsDisabled = 4,
|
|
7
7
|
TransferExpired = 5,
|
|
8
8
|
NoFilesToDownload = 6,
|
|
9
|
-
TransferInvalidState = 7
|
|
9
|
+
TransferInvalidState = 7,
|
|
10
|
+
ResumedFileNotFound = 8,
|
|
11
|
+
ResumedFilePathNotSpecified = 9,
|
|
12
|
+
TrackingNotAvailable = 10,
|
|
13
|
+
TrackingCleanupFailed = 11,
|
|
14
|
+
TrackingDataOutdated = 12,
|
|
15
|
+
TooManyFileRenameAttempts = 13,
|
|
16
|
+
FileserverResponseWrongSize = 14
|
|
10
17
|
}
|
|
11
18
|
export default DownloadErrorCode;
|
|
@@ -8,6 +8,13 @@ var DownloadErrorCode;
|
|
|
8
8
|
DownloadErrorCode[DownloadErrorCode["TransferExpired"] = 5] = "TransferExpired";
|
|
9
9
|
DownloadErrorCode[DownloadErrorCode["NoFilesToDownload"] = 6] = "NoFilesToDownload";
|
|
10
10
|
DownloadErrorCode[DownloadErrorCode["TransferInvalidState"] = 7] = "TransferInvalidState";
|
|
11
|
+
DownloadErrorCode[DownloadErrorCode["ResumedFileNotFound"] = 8] = "ResumedFileNotFound";
|
|
12
|
+
DownloadErrorCode[DownloadErrorCode["ResumedFilePathNotSpecified"] = 9] = "ResumedFilePathNotSpecified";
|
|
13
|
+
DownloadErrorCode[DownloadErrorCode["TrackingNotAvailable"] = 10] = "TrackingNotAvailable";
|
|
14
|
+
DownloadErrorCode[DownloadErrorCode["TrackingCleanupFailed"] = 11] = "TrackingCleanupFailed";
|
|
15
|
+
DownloadErrorCode[DownloadErrorCode["TrackingDataOutdated"] = 12] = "TrackingDataOutdated";
|
|
16
|
+
DownloadErrorCode[DownloadErrorCode["TooManyFileRenameAttempts"] = 13] = "TooManyFileRenameAttempts";
|
|
17
|
+
DownloadErrorCode[DownloadErrorCode["FileserverResponseWrongSize"] = 14] = "FileserverResponseWrongSize";
|
|
11
18
|
})(DownloadErrorCode || (DownloadErrorCode = {}));
|
|
12
19
|
export default DownloadErrorCode;
|
|
13
20
|
//# sourceMappingURL=downloadErrorCode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"downloadErrorCode.js","sourceRoot":"","sources":["../../../../src/downloader/dtos/downloadErrorCode.ts"],"names":[],"mappings":"AAAA,IAAK,
|
|
1
|
+
{"version":3,"file":"downloadErrorCode.js","sourceRoot":"","sources":["../../../../src/downloader/dtos/downloadErrorCode.ts"],"names":[],"mappings":"AAAA,IAAK,iBAgBJ;AAhBD,WAAK,iBAAiB;IAClB,iGAAwB,CAAA;IACxB,iEAAQ,CAAA;IACR,+FAAuB,CAAA;IACvB,iFAAgB,CAAA;IAChB,mFAAiB,CAAA;IACjB,+EAAe,CAAA;IACf,mFAAiB,CAAA;IACjB,yFAAoB,CAAA;IACpB,uFAAmB,CAAA;IACnB,uGAA2B,CAAA;IAC3B,0FAAoB,CAAA;IACpB,4FAAqB,CAAA;IACrB,0FAAoB,CAAA;IACpB,oGAAyB,CAAA;IACzB,wGAA2B,CAAA;AAC/B,CAAC,EAhBI,iBAAiB,KAAjB,iBAAiB,QAgBrB;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -7,6 +7,7 @@ declare enum TransferDownloadEvent {
|
|
|
7
7
|
FileCreated = "FileCreated",
|
|
8
8
|
FileDownloadStarting = "FileDownloadStarting",
|
|
9
9
|
FileDownloadStarted = "FileDownloadStarted",
|
|
10
|
+
FileDownloadCompleting = "FileDownloadCompleting",
|
|
10
11
|
FileDownloadCompleted = "FileDownloadCompleted",
|
|
11
12
|
FileDownloadProgressed = "FileDownloadProgressed",
|
|
12
13
|
FileDownloadFailed = "FileDownloadFailed",
|
|
@@ -23,6 +24,7 @@ declare enum TransferDownloadEvent {
|
|
|
23
24
|
NetworkFailure = "NetworkFailure",
|
|
24
25
|
NetworkOk = "NetworkOk",
|
|
25
26
|
PossibleSupersizedFile = "PossibleSupersizedFile",
|
|
26
|
-
RecoveredInterruptedDownload = "RecoveredInterruptedDownload"
|
|
27
|
+
RecoveredInterruptedDownload = "RecoveredInterruptedDownload",
|
|
28
|
+
DownloadTrackingFailed = "DownloadTrackingFailed"
|
|
27
29
|
}
|
|
28
30
|
export default TransferDownloadEvent;
|
|
@@ -8,6 +8,7 @@ var TransferDownloadEvent;
|
|
|
8
8
|
TransferDownloadEvent["FileCreated"] = "FileCreated";
|
|
9
9
|
TransferDownloadEvent["FileDownloadStarting"] = "FileDownloadStarting";
|
|
10
10
|
TransferDownloadEvent["FileDownloadStarted"] = "FileDownloadStarted";
|
|
11
|
+
TransferDownloadEvent["FileDownloadCompleting"] = "FileDownloadCompleting";
|
|
11
12
|
TransferDownloadEvent["FileDownloadCompleted"] = "FileDownloadCompleted";
|
|
12
13
|
TransferDownloadEvent["FileDownloadProgressed"] = "FileDownloadProgressed";
|
|
13
14
|
TransferDownloadEvent["FileDownloadFailed"] = "FileDownloadFailed";
|
|
@@ -25,6 +26,7 @@ var TransferDownloadEvent;
|
|
|
25
26
|
TransferDownloadEvent["NetworkOk"] = "NetworkOk";
|
|
26
27
|
TransferDownloadEvent["PossibleSupersizedFile"] = "PossibleSupersizedFile";
|
|
27
28
|
TransferDownloadEvent["RecoveredInterruptedDownload"] = "RecoveredInterruptedDownload";
|
|
29
|
+
TransferDownloadEvent["DownloadTrackingFailed"] = "DownloadTrackingFailed";
|
|
28
30
|
})(TransferDownloadEvent || (TransferDownloadEvent = {}));
|
|
29
31
|
export default TransferDownloadEvent;
|
|
30
32
|
//# sourceMappingURL=downloadEvent.js.map
|