filemail-sdk 4.5.0 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/src/client/downloaderCore.js +16 -28
  2. package/dist/src/client/downloaderCore.js.map +1 -1
  3. package/dist/src/client/loggers/dummyLogger.d.ts +1 -0
  4. package/dist/src/client/loggers/dummyLogger.js +1 -0
  5. package/dist/src/client/loggers/dummyLogger.js.map +1 -1
  6. package/dist/src/client/loggers/logger.d.ts +7 -0
  7. package/dist/src/client/node/nodeTransferDownloader.d.ts +3 -1
  8. package/dist/src/client/node/nodeTransferDownloader.js +13 -4
  9. package/dist/src/client/node/nodeTransferDownloader.js.map +1 -1
  10. package/dist/src/client/node/nodeTransferUploader.d.ts +4 -3
  11. package/dist/src/client/node/nodeTransferUploader.js +29 -20
  12. package/dist/src/client/node/nodeTransferUploader.js.map +1 -1
  13. package/dist/src/client/transferDownloader.d.ts +1 -1
  14. package/dist/src/downloader/chunkDownloader.js +10 -8
  15. package/dist/src/downloader/chunkDownloader.js.map +1 -1
  16. package/dist/src/downloader/downloadOptions.d.ts +5 -16
  17. package/dist/src/downloader/downloadOptions.js +7 -18
  18. package/dist/src/downloader/downloadOptions.js.map +1 -1
  19. package/dist/src/downloader/downloadStatus/downloadFileProgress.d.ts +2 -1
  20. package/dist/src/downloader/downloadStatus/downloadFileProgress.js +2 -1
  21. package/dist/src/downloader/downloadStatus/downloadFileProgress.js.map +1 -1
  22. package/dist/src/downloader/downloadStatus/downloadFilePromise.d.ts +6 -0
  23. package/dist/src/downloader/downloadStatus/downloadFilePromise.js +32 -0
  24. package/dist/src/downloader/downloadStatus/downloadFilePromise.js.map +1 -0
  25. package/dist/src/downloader/downloadStatus/downloadState.d.ts +2 -1
  26. package/dist/src/downloader/downloadStatus/downloadState.js +40 -18
  27. package/dist/src/downloader/downloadStatus/downloadState.js.map +1 -1
  28. package/dist/src/downloader/downloadTracker.js +219 -130
  29. package/dist/src/downloader/downloadTracker.js.map +1 -1
  30. package/dist/src/downloader/dtos/downloadCommand.d.ts +2 -2
  31. package/dist/src/downloader/dtos/downloadErrorCode.d.ts +8 -1
  32. package/dist/src/downloader/dtos/downloadErrorCode.js +7 -0
  33. package/dist/src/downloader/dtos/downloadErrorCode.js.map +1 -1
  34. package/dist/src/downloader/dtos/downloadEvent.d.ts +3 -1
  35. package/dist/src/downloader/dtos/downloadEvent.js +2 -0
  36. package/dist/src/downloader/dtos/downloadEvent.js.map +1 -1
  37. package/dist/src/downloader/dtos/downloadFileChunkInfo.d.ts +13 -0
  38. package/dist/src/downloader/dtos/downloadFileChunkInfo.js.map +1 -1
  39. package/dist/src/downloader/dtos/downloadFileInfo.d.ts +11 -7
  40. package/dist/src/downloader/dtos/downloadFileInfo.js +14 -9
  41. package/dist/src/downloader/dtos/downloadFileInfo.js.map +1 -1
  42. package/dist/src/downloader/dtos/downloadTrackerFileInfo.d.ts +13 -9
  43. package/dist/src/downloader/dtos/downloadTrackerFileProgressInfo.d.ts +22 -0
  44. package/dist/src/downloader/dtos/downloadTrackerFileProgressInfo.js +2 -0
  45. package/dist/src/downloader/dtos/downloadTrackerFileProgressInfo.js.map +1 -0
  46. package/dist/src/downloader/dtos/downloadTrackerProgressInfo.d.ts +2 -2
  47. package/dist/src/downloader/eventArgs/downloadTrackingFailedEventArgs.d.ts +8 -0
  48. package/dist/src/downloader/eventArgs/downloadTrackingFailedEventArgs.js +2 -0
  49. package/dist/src/downloader/eventArgs/downloadTrackingFailedEventArgs.js.map +1 -0
  50. package/dist/src/downloader/filesDownloader.js +169 -80
  51. package/dist/src/downloader/filesDownloader.js.map +1 -1
  52. package/dist/src/downloader/filesPreparer.js +2 -6
  53. package/dist/src/downloader/filesPreparer.js.map +1 -1
  54. package/dist/src/utils/api/dtos/getTransferRequest.d.ts +2 -0
  55. package/dist/src/utils/api/node/nodeApiClient.js +11 -1
  56. package/dist/src/utils/api/node/nodeApiClient.js.map +1 -1
  57. package/dist/src/utils/fileSystem/fileSystemService.d.ts +6 -1
  58. package/dist/src/utils/fileSystem/node/nodeFileSystemService.d.ts +6 -1
  59. package/dist/src/utils/fileSystem/node/nodeFileSystemService.js +39 -7
  60. package/dist/src/utils/fileSystem/node/nodeFileSystemService.js.map +1 -1
  61. package/dist/src/utils/fileSystem/parsedPath.d.ts +8 -0
  62. package/dist/src/utils/fileSystem/parsedPath.js +2 -0
  63. package/dist/src/utils/fileSystem/parsedPath.js.map +1 -0
  64. package/dist/src/utils/pseudoRandom.d.ts +2 -1
  65. package/dist/src/utils/pseudoRandom.js +4 -1
  66. package/dist/src/utils/pseudoRandom.js.map +1 -1
  67. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  declare class DownloadOptions {
2
2
  /**
3
- * logintoken of the current user - used to fetch company setup, register download
3
+ * logintoken of the current user - used to fetch transfer (optionally also pwd-protected), company setup, register download
4
4
  * @default null
5
5
  */
6
6
  logintoken: string | null;
@@ -26,7 +26,7 @@ declare class DownloadOptions {
26
26
  downloadFolder: string | null;
27
27
  /**
28
28
  * HTTP request timeout for web api (not Fileserver) in milliseconds.
29
- * @default 30000
29
+ * @default 60000
30
30
  */
31
31
  apiRequestTotalTimeoutInMs: number;
32
32
  /**
@@ -92,19 +92,6 @@ declare class DownloadOptions {
92
92
  * @default 5000;
93
93
  */
94
94
  fileserverOfflineCheckIntervalMillis: number;
95
- /**
96
- * When set to **true** the downloader will fail or skip (see {@link this.failFileWhenPreventingOverwrite}) a file when attempting to download to a location which already exists (no matter its size).
97
- * When set to **false** downloader will just re-download the file and overwrite existing file on disk.
98
- * @default false
99
- */
100
- preventOverwrites: boolean;
101
- /**
102
- * When set to **true** downloader will fail a file when attempting to download to location which already exists (no matter its size).
103
- * When set to **false** downloader will skip the file and advance the total progress as if it downloaded that file.
104
- * Applies only when {@link preventOverwrites} is set to **true**.
105
- * @default false
106
- */
107
- failFileWhenPreventingOverwrite: boolean;
108
95
  /**
109
96
  * Number of milliseconds between progress events emitted by the downloader (throttling - they won't be emitted more often that this amount of time).
110
97
  * @default 100
@@ -122,7 +109,9 @@ declare class DownloadOptions {
122
109
  deleteAbortedDownloadsFromDisk: boolean;
123
110
  /**
124
111
  * When set to **true** ==> after download completes or is aborted - the downloader will delete the main download folder if it is empty (no files have been downloaded and there are no other files left over).
125
- * @default true
112
+ * Default is false as usually the download folder is set to be the OS-special (e.g. on windows --> c:\users\jane\Downloads). We don't want to try removing that.
113
+ * Set this to **true** only if specifying custom download folders.
114
+ * @default false
126
115
  */
127
116
  deleteEmptyDownloadFoldersAfterDownload: boolean;
128
117
  /**
@@ -1,7 +1,7 @@
1
1
  class DownloadOptions {
2
2
  constructor() {
3
3
  /**
4
- * logintoken of the current user - used to fetch company setup, register download
4
+ * logintoken of the current user - used to fetch transfer (optionally also pwd-protected), company setup, register download
5
5
  * @default null
6
6
  */
7
7
  this.logintoken = null;
@@ -27,9 +27,9 @@ class DownloadOptions {
27
27
  this.downloadFolder = null;
28
28
  /**
29
29
  * HTTP request timeout for web api (not Fileserver) in milliseconds.
30
- * @default 30000
30
+ * @default 60000
31
31
  */
32
- this.apiRequestTotalTimeoutInMs = 30000;
32
+ this.apiRequestTotalTimeoutInMs = 60000;
33
33
  /**
34
34
  * How many times to attempt HTTP requests towards web API (not Fileserver) e.g. when getting a transfer from the API.
35
35
  * @see https://github.com/sindresorhus/got#documentation
@@ -93,19 +93,6 @@ class DownloadOptions {
93
93
  * @default 5000;
94
94
  */
95
95
  this.fileserverOfflineCheckIntervalMillis = 5000;
96
- /**
97
- * When set to **true** the downloader will fail or skip (see {@link this.failFileWhenPreventingOverwrite}) a file when attempting to download to a location which already exists (no matter its size).
98
- * When set to **false** downloader will just re-download the file and overwrite existing file on disk.
99
- * @default false
100
- */
101
- this.preventOverwrites = false;
102
- /**
103
- * When set to **true** downloader will fail a file when attempting to download to location which already exists (no matter its size).
104
- * When set to **false** downloader will skip the file and advance the total progress as if it downloaded that file.
105
- * Applies only when {@link preventOverwrites} is set to **true**.
106
- * @default false
107
- */
108
- this.failFileWhenPreventingOverwrite = false;
109
96
  /**
110
97
  * Number of milliseconds between progress events emitted by the downloader (throttling - they won't be emitted more often that this amount of time).
111
98
  * @default 100
@@ -123,9 +110,11 @@ class DownloadOptions {
123
110
  this.deleteAbortedDownloadsFromDisk = true;
124
111
  /**
125
112
  * When set to **true** ==> after download completes or is aborted - the downloader will delete the main download folder if it is empty (no files have been downloaded and there are no other files left over).
126
- * @default true
113
+ * Default is false as usually the download folder is set to be the OS-special (e.g. on windows --> c:\users\jane\Downloads). We don't want to try removing that.
114
+ * Set this to **true** only if specifying custom download folders.
115
+ * @default false
127
116
  */
128
- this.deleteEmptyDownloadFoldersAfterDownload = true;
117
+ this.deleteEmptyDownloadFoldersAfterDownload = false;
129
118
  /**
130
119
  * When set to **true** ==> after download completes with at least one successful file - the downloader will report the download to api.
131
120
  * @default true
@@ -1 +1 @@
1
- {"version":3,"file":"downloadOptions.js","sourceRoot":"","sources":["../../../src/downloader/downloadOptions.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe;IAArB;QACI;;;WAGG;QACH,eAAU,GAAkB,IAAI,CAAC;QACjC;;;;;;;;;;;;WAYG;QACH,2BAAsB,GAAkB,IAAI,CAAC;QAC7C;;;;WAIG;QACH,mBAAc,GAAkB,IAAI,CAAC;QACrC;;;WAGG;QACH,+BAA0B,GAAG,KAAK,CAAC;QACnC;;;;WAIG;QACH,kBAAa,GAAG,CAAC,CAAC;QAClB;;;;;WAKG;QACH,mBAAc,GAAG,CAAC,CAAC;QACnB;;;WAGG;QACH,qBAAgB,GAAG,EAAE,CAAC;QACtB;;;WAGG;QACH,cAAS,GAAkB,IAAI,CAAC;QAChC;;;WAGG;QACH,iBAAY,GAAkB,OAAO,CAAC;QACtC;;;WAGG;QACH,mBAAc,GAAG,IAAI,CAAC;QACtB;;;WAGG;QACH,iBAAY,GAAG,KAAK,CAAC;QACrB;;;WAGG;QACH,iCAA4B,GAAG,KAAK,CAAC;QACrC;;;;;WAKG;QACH,2BAAsB,GAAG,CAAC,CAAC;QAC3B;;;;WAIG;QACH,8CAAyC,GAAG,EAAE,CAAC;QAC/C;;;;;WAKG;QACH,yCAAoC,GAAG,IAAI,CAAC;QAC5C;;;;WAIG;QACH,sBAAiB,GAAG,KAAK,CAAC;QAC1B;;;;;WAKG;QACH,oCAA+B,GAAG,KAAK,CAAC;QACxC;;;WAGG;QACH,uBAAkB,GAAG,GAAG,CAAC;QACzB;;;WAGG;QACH,8BAAyB,GAAG,IAAI,CAAC;QACjC;;;WAGG;QACH,mCAA8B,GAAG,IAAI,CAAC;QACtC;;;WAGG;QACH,4CAAuC,GAAG,IAAI,CAAC;QAC/C;;;WAGG;QACH,2BAAsB,GAAG,IAAI,CAAC;QAC9B;;;;;;WAMG;QACH,+BAA0B,GAAkB,IAAI,CAAC;QACjD;;;WAGG;QACH,mCAA8B,GAAG,IAAI,CAAC;QACtC;;;WAGG;QACH,yCAAoC,GAAG,IAAI,CAAC;IAChD,CAAC;CAAA;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"downloadOptions.js","sourceRoot":"","sources":["../../../src/downloader/downloadOptions.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe;IAArB;QACI;;;WAGG;QACH,eAAU,GAAkB,IAAI,CAAC;QACjC;;;;;;;;;;;;WAYG;QACH,2BAAsB,GAAkB,IAAI,CAAC;QAC7C;;;;WAIG;QACH,mBAAc,GAAkB,IAAI,CAAC;QACrC;;;WAGG;QACH,+BAA0B,GAAG,KAAK,CAAC;QACnC;;;;WAIG;QACH,kBAAa,GAAG,CAAC,CAAC;QAClB;;;;;WAKG;QACH,mBAAc,GAAG,CAAC,CAAC;QACnB;;;WAGG;QACH,qBAAgB,GAAG,EAAE,CAAC;QACtB;;;WAGG;QACH,cAAS,GAAkB,IAAI,CAAC;QAChC;;;WAGG;QACH,iBAAY,GAAkB,OAAO,CAAC;QACtC;;;WAGG;QACH,mBAAc,GAAG,IAAI,CAAC;QACtB;;;WAGG;QACH,iBAAY,GAAG,KAAK,CAAC;QACrB;;;WAGG;QACH,iCAA4B,GAAG,KAAK,CAAC;QACrC;;;;;WAKG;QACH,2BAAsB,GAAG,CAAC,CAAC;QAC3B;;;;WAIG;QACH,8CAAyC,GAAG,EAAE,CAAC;QAC/C;;;;;WAKG;QACH,yCAAoC,GAAG,IAAI,CAAC;QAC5C;;;WAGG;QACH,uBAAkB,GAAG,GAAG,CAAC;QACzB;;;WAGG;QACH,8BAAyB,GAAG,IAAI,CAAC;QACjC;;;WAGG;QACH,mCAA8B,GAAG,IAAI,CAAC;QACtC;;;;;WAKG;QACH,4CAAuC,GAAG,KAAK,CAAC;QAChD;;;WAGG;QACH,2BAAsB,GAAG,IAAI,CAAC;QAC9B;;;;;;WAMG;QACH,+BAA0B,GAAkB,IAAI,CAAC;QACjD;;;WAGG;QACH,mCAA8B,GAAG,IAAI,CAAC;QACtC;;;WAGG;QACH,yCAAoC,GAAG,IAAI,CAAC;IAChD,CAAC;CAAA;AAED,eAAe,eAAe,CAAC"}
@@ -4,6 +4,7 @@ export default class DownloadFileProgress {
4
4
  name: string;
5
5
  url: string;
6
6
  downloadPath: string;
7
+ temporaryDownloadPath: string | null;
7
8
  percent: number;
8
9
  downloaded: number;
9
10
  size: number;
@@ -12,5 +13,5 @@ export default class DownloadFileProgress {
12
13
  failures: Array<DownloadError>;
13
14
  chunks: number;
14
15
  lastOkChunk: number | null;
15
- constructor(externalId: string, name: string, url: string, downloadPath: string, size: number, downloaded: number, percent: number, completed: boolean, failed: boolean, failures: Array<DownloadError> | null, numberOfChunks: number, lastSuccessfulChunk: number | null);
16
+ constructor(externalId: string, name: string, url: string, downloadPath: string, temporaryDownloadPath: string | null, size: number, downloaded: number, percent: number, completed: boolean, failed: boolean, failures: Array<DownloadError> | null, numberOfChunks: number, lastSuccessfulChunk: number | null);
16
17
  }
@@ -1,10 +1,11 @@
1
1
  export default class DownloadFileProgress {
2
- constructor(externalId, name, url, downloadPath, size, downloaded, percent, completed, failed, failures, numberOfChunks, lastSuccessfulChunk) {
2
+ constructor(externalId, name, url, downloadPath, temporaryDownloadPath, size, downloaded, percent, completed, failed, failures, numberOfChunks, lastSuccessfulChunk) {
3
3
  this.failures = [];
4
4
  this.id = externalId;
5
5
  this.name = name;
6
6
  this.url = url;
7
7
  this.downloadPath = downloadPath;
8
+ this.temporaryDownloadPath = temporaryDownloadPath;
8
9
  this.size = size;
9
10
  this.downloaded = downloaded;
10
11
  this.percent = percent;
@@ -1 +1 @@
1
- {"version":3,"file":"downloadFileProgress.js","sourceRoot":"","sources":["../../../../src/downloader/downloadStatus/downloadFileProgress.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAcrC,YACI,UAAkB,EAClB,IAAY,EACZ,GAAW,EACX,YAAoB,EACpB,IAAY,EACZ,UAAkB,EAClB,OAAe,EACf,SAAkB,EAClB,MAAe,EACf,QAAqC,EACrC,cAAsB,EACtB,mBAAkC;QAhBtC,aAAQ,GAAyB,EAAE,CAAC;QAkBhC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;QACvC,IAAI,QAAQ;YACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;CACJ"}
1
+ {"version":3,"file":"downloadFileProgress.js","sourceRoot":"","sources":["../../../../src/downloader/downloadStatus/downloadFileProgress.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAerC,YACI,UAAkB,EAClB,IAAY,EACZ,GAAW,EACX,YAAoB,EACpB,qBAAoC,EACpC,IAAY,EACZ,UAAkB,EAClB,OAAe,EACf,SAAkB,EAClB,MAAe,EACf,QAAqC,EACrC,cAAsB,EACtB,mBAAkC;QAjBtC,aAAQ,GAAyB,EAAE,CAAC;QAmBhC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;QACvC,IAAI,QAAQ;YACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ export default class DownloadFilePromise {
2
+ #private;
3
+ constructor(fileId: string);
4
+ complete(): void;
5
+ get awaiter(): Promise<string>;
6
+ }
@@ -0,0 +1,32 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
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
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _DownloadFilePromise_fileId, _DownloadFilePromise_promise, _DownloadFilePromise_resolve;
13
+ class DownloadFilePromise {
14
+ constructor(fileId) {
15
+ _DownloadFilePromise_fileId.set(this, void 0);
16
+ _DownloadFilePromise_promise.set(this, void 0);
17
+ _DownloadFilePromise_resolve.set(this, undefined);
18
+ __classPrivateFieldSet(this, _DownloadFilePromise_fileId, fileId, "f");
19
+ __classPrivateFieldSet(this, _DownloadFilePromise_promise, new Promise(resolve => {
20
+ __classPrivateFieldSet(this, _DownloadFilePromise_resolve, resolve, "f");
21
+ }), "f");
22
+ }
23
+ complete() {
24
+ __classPrivateFieldGet(this, _DownloadFilePromise_resolve, "f")(__classPrivateFieldGet(this, _DownloadFilePromise_fileId, "f"));
25
+ }
26
+ get awaiter() {
27
+ return __classPrivateFieldGet(this, _DownloadFilePromise_promise, "f");
28
+ }
29
+ }
30
+ _DownloadFilePromise_fileId = new WeakMap(), _DownloadFilePromise_promise = new WeakMap(), _DownloadFilePromise_resolve = new WeakMap();
31
+ export default DownloadFilePromise;
32
+ //# sourceMappingURL=downloadFilePromise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"downloadFilePromise.js","sourceRoot":"","sources":["../../../../src/downloader/downloadStatus/downloadFilePromise.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,MAAqB,mBAAmB;IAKpC,YAAY,MAAc;QAJ1B,8CAAgB;QAChB,+CAA0B;QAC1B,uCAAwE,SAAS,EAAC;QAG9E,uBAAA,IAAI,+BAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,gCAAY,IAAI,OAAO,CAAS,OAAO,CAAC,EAAE;YAC1C,uBAAA,IAAI,gCAAY,OAAO,MAAA,CAAC;QAC5B,CAAC,CAAC,MAAA,CAAC;IACP,CAAC;IAED,QAAQ;QACJ,uBAAA,IAAI,oCAAU,CAAC,uBAAA,IAAI,mCAAQ,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,OAAO;QACP,OAAO,uBAAA,IAAI,oCAAS,CAAC;IACzB,CAAC;CACJ;;eAnBoB,mBAAmB"}
@@ -30,7 +30,8 @@ export default class DownloadState {
30
30
  fileCreating(file: DownloadFileInfo): void;
31
31
  fileCreated(file: DownloadFileInfo): void;
32
32
  fileFailed(file: DownloadFileInfo, reason: DownloadError): void;
33
- fileCompleted(file: DownloadFileInfo): void;
33
+ fileCompleted(fileId: string, finalDownloadPath: string): void;
34
+ fileCompleting(file: DownloadFileInfo): void;
34
35
  chunkDownloadStarted(file: DownloadFileInfo, chunk: DownloadFileChunkInfo): void;
35
36
  chunkDownloadProgressed(file: DownloadFileInfo, chunk: DownloadFileChunkInfo, progress: ChunkProgressEvent): void;
36
37
  chunkDownloadCompleted(file: DownloadFileInfo, chunk: DownloadFileChunkInfo): void;
@@ -9,7 +9,7 @@ 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 _DownloadState_instances, _DownloadState_transferId, _DownloadState_downloadId, _DownloadState_options, _DownloadState_eventsEngine, _DownloadState_files, _DownloadState_failedFiles, _DownloadState_pendingFiles, _DownloadState_totalSize, _DownloadState_networkStatus, _DownloadState_consecutiveNetworkErrors, _DownloadState_status, _DownloadState_firstStartedUnixEpochMillis, _DownloadState_startedUnixEpochMillis, _DownloadState_elapsedActiveMillis, _DownloadState_lastProgressTickUnixEpochMillis, _DownloadState_lastSpeedCalc, _DownloadState_percent, _DownloadState_downloadedBytes_bank, _DownloadState_downloadedBytes, _DownloadState_bytesPerSecondAverage, _DownloadState_bytesPerSecondCurrent, _DownloadState_currentSpeedMeasurementDownloadedBytes, _DownloadState_estimatedRemainingTimeSeconds, _DownloadState_pauseImmediately, _DownloadState_resumeResolve, _DownloadState_nowUnixEpochMillis_get, _DownloadState_activeTimeMillis_get, _DownloadState_activeTimeMillisSinceLastStart_get, _DownloadState_totalTime_get, _DownloadState_remainingBytes_get, _DownloadState_isItTimeForGlobalProgressEvent_get, _DownloadState_progressed, _DownloadState_fileProgressed, _DownloadState_fileStarted, _DownloadState_tryCompleteFile, _DownloadState_isItTimeForFileProgressEvent, _DownloadState_buildDownloadEventArgs, _DownloadState_buildPauseDownloadEventArgs, _DownloadState_updateProgress, _DownloadState_mapFilesProgress, _DownloadState_mapFailedFiles, _DownloadState_mapFileProgress, _DownloadState_mapChunkProgress;
12
+ var _DownloadState_instances, _DownloadState_transferId, _DownloadState_downloadId, _DownloadState_options, _DownloadState_eventsEngine, _DownloadState_files, _DownloadState_failedFiles, _DownloadState_pendingFiles, _DownloadState_totalSize, _DownloadState_networkStatus, _DownloadState_consecutiveNetworkErrors, _DownloadState_status, _DownloadState_firstStartedUnixEpochMillis, _DownloadState_startedUnixEpochMillis, _DownloadState_elapsedActiveMillis, _DownloadState_lastProgressTickUnixEpochMillis, _DownloadState_lastSpeedCalc, _DownloadState_percent, _DownloadState_downloadedBytes_bank, _DownloadState_downloadedBytes, _DownloadState_bytesPerSecondAverage, _DownloadState_bytesPerSecondCurrent, _DownloadState_currentSpeedMeasurementDownloadedBytes, _DownloadState_estimatedRemainingTimeSeconds, _DownloadState_pauseImmediately, _DownloadState_resumeResolve, _DownloadState_nowUnixEpochMillis_get, _DownloadState_activeTimeMillis_get, _DownloadState_activeTimeMillisSinceLastStart_get, _DownloadState_totalTime_get, _DownloadState_remainingBytes_get, _DownloadState_isItTimeForGlobalProgressEvent_get, _DownloadState_progressed, _DownloadState_fileProgressed, _DownloadState_fileStarted, _DownloadState_tryCompleteFile, _DownloadState_isItTimeForFileProgressEvent, _DownloadState_buildFileDownloadEventArgs, _DownloadState_buildChunkDownloadEventArgs, _DownloadState_buildDownloadEventArgs, _DownloadState_buildPauseDownloadEventArgs, _DownloadState_updateProgress, _DownloadState_mapFilesProgress, _DownloadState_mapFailedFiles, _DownloadState_mapFileProgress, _DownloadState_mapChunkProgress;
13
13
  import TransferStatus from "../../utils/types/transferStatus.js";
14
14
  import TransferDownloadEvent from "../dtos/downloadEvent.js";
15
15
  import DownloadFileProgress from "./downloadFileProgress.js";
@@ -174,21 +174,24 @@ class DownloadState {
174
174
  }
175
175
  fileStarting(file) {
176
176
  file.starting();
177
- const args = { transferId: __classPrivateFieldGet(this, _DownloadState_transferId, "f"), file: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapFileProgress).call(this, file), activeTime: __classPrivateFieldGet(this, _DownloadState_instances, "a", _DownloadState_activeTimeMillis_get) };
177
+ const args = __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_buildFileDownloadEventArgs).call(this, file);
178
178
  __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.FileDownloadStarting, args);
179
179
  }
180
180
  fileCreating(file) {
181
- const args = { transferId: __classPrivateFieldGet(this, _DownloadState_transferId, "f"), file: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapFileProgress).call(this, file), activeTime: __classPrivateFieldGet(this, _DownloadState_instances, "a", _DownloadState_activeTimeMillis_get) };
181
+ const args = __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_buildFileDownloadEventArgs).call(this, file);
182
182
  __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.FileCreating, args);
183
183
  }
184
184
  fileCreated(file) {
185
- const args = { transferId: __classPrivateFieldGet(this, _DownloadState_transferId, "f"), file: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapFileProgress).call(this, file), activeTime: __classPrivateFieldGet(this, _DownloadState_instances, "a", _DownloadState_activeTimeMillis_get) };
185
+ const args = __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_buildFileDownloadEventArgs).call(this, file);
186
186
  __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.FileCreated, args);
187
187
  }
188
188
  fileFailed(file, reason) {
189
189
  if (file.isFailed === false) {
190
190
  file.fail(reason);
191
- const args = { transferId: __classPrivateFieldGet(this, _DownloadState_transferId, "f"), file: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapFileProgress).call(this, file), reason, activeTime: __classPrivateFieldGet(this, _DownloadState_instances, "a", _DownloadState_activeTimeMillis_get) };
191
+ const args = {
192
+ ...__classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_buildFileDownloadEventArgs).call(this, file),
193
+ reason,
194
+ };
192
195
  __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.FileDownloadFailed, args);
193
196
  }
194
197
  if (__classPrivateFieldGet(this, _DownloadState_failedFiles, "f").indexOf(file) === -1)
@@ -197,19 +200,24 @@ class DownloadState {
197
200
  if (idx > -1)
198
201
  __classPrivateFieldGet(this, _DownloadState_pendingFiles, "f").splice(idx, 1);
199
202
  }
200
- fileCompleted(file) {
201
- file.complete();
203
+ fileCompleted(fileId, finalDownloadPath) {
204
+ const actualFile = (__classPrivateFieldGet(this, _DownloadState_files, "f").find(x => x.externalId === fileId));
205
+ actualFile.complete(finalDownloadPath);
206
+ const updatedArgs = __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_buildFileDownloadEventArgs).call(this, actualFile);
207
+ __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.FileDownloadCompleted, updatedArgs);
208
+ }
209
+ fileCompleting(file) {
202
210
  __classPrivateFieldSet(this, _DownloadState_downloadedBytes_bank, __classPrivateFieldGet(this, _DownloadState_downloadedBytes_bank, "f") + file.sizeInBytes, "f");
203
211
  const idx = __classPrivateFieldGet(this, _DownloadState_pendingFiles, "f").indexOf(file);
204
212
  if (idx > -1)
205
213
  __classPrivateFieldGet(this, _DownloadState_pendingFiles, "f").splice(idx, 1);
206
- const fileArgs = { transferId: __classPrivateFieldGet(this, _DownloadState_transferId, "f"), file: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapFileProgress).call(this, file), activeTime: __classPrivateFieldGet(this, _DownloadState_instances, "a", _DownloadState_activeTimeMillis_get) };
214
+ const fileArgs = __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_buildFileDownloadEventArgs).call(this, file);
207
215
  __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.FileDownloadProgressed, fileArgs);
208
- __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.FileDownloadCompleted, fileArgs);
216
+ __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.FileDownloadCompleting, fileArgs);
209
217
  }
210
218
  chunkDownloadStarted(file, chunk) {
211
219
  file.chunkStarted(chunk);
212
- const args = { transferId: __classPrivateFieldGet(this, _DownloadState_transferId, "f"), file: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapFileProgress).call(this, file), chunk: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapChunkProgress).call(this, chunk), activeTime: __classPrivateFieldGet(this, _DownloadState_instances, "a", _DownloadState_activeTimeMillis_get) };
220
+ const args = __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_buildChunkDownloadEventArgs).call(this, file, chunk);
213
221
  __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.ChunkDownloadStarted, args);
214
222
  }
215
223
  chunkDownloadProgressed(file, chunk, progress) {
@@ -217,7 +225,7 @@ class DownloadState {
217
225
  __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_fileStarted).call(this, file);
218
226
  this.networkOk();
219
227
  chunk.setProgress(progress.transferredBytesTotal);
220
- const chunkArgs = { transferId: __classPrivateFieldGet(this, _DownloadState_transferId, "f"), file: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapFileProgress).call(this, file), chunk: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapChunkProgress).call(this, chunk), activeTime: __classPrivateFieldGet(this, _DownloadState_instances, "a", _DownloadState_activeTimeMillis_get) };
228
+ const chunkArgs = __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_buildChunkDownloadEventArgs).call(this, file, chunk);
221
229
  __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.ChunkDownloadProgressed, chunkArgs);
222
230
  if (__classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_isItTimeForFileProgressEvent).call(this, file))
223
231
  __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_fileProgressed).call(this, file);
@@ -228,7 +236,7 @@ class DownloadState {
228
236
  chunk.complete();
229
237
  file.chunkCompleted(chunk);
230
238
  file.updateProgress();
231
- const chunkArgs = { transferId: __classPrivateFieldGet(this, _DownloadState_transferId, "f"), file: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapFileProgress).call(this, file), chunk: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapChunkProgress).call(this, chunk), activeTime: __classPrivateFieldGet(this, _DownloadState_instances, "a", _DownloadState_activeTimeMillis_get) };
239
+ const chunkArgs = __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_buildChunkDownloadEventArgs).call(this, file, chunk);
232
240
  __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.ChunkDownloadProgressed, chunkArgs);
233
241
  __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.ChunkDownloadCompleted, chunkArgs);
234
242
  __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_tryCompleteFile).call(this, file);
@@ -236,7 +244,10 @@ class DownloadState {
236
244
  chunkDownloadFailed(file, chunk, reason) {
237
245
  chunk.fail(reason);
238
246
  file.chunkFailed(chunk);
239
- const args = { transferId: __classPrivateFieldGet(this, _DownloadState_transferId, "f"), file: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapFileProgress).call(this, file), chunk: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapChunkProgress).call(this, chunk), reason, activeTime: __classPrivateFieldGet(this, _DownloadState_instances, "a", _DownloadState_activeTimeMillis_get) };
247
+ const args = {
248
+ ...__classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_buildChunkDownloadEventArgs).call(this, file, chunk),
249
+ reason,
250
+ };
240
251
  __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.ChunkDownloadFailed, args);
241
252
  // we've tried multiple times - but chunk still cannot be downloaded - fail this file
242
253
  this.fileFailed(file, reason);
@@ -283,7 +294,7 @@ class DownloadState {
283
294
  possibleSupersizedFile(file) {
284
295
  // sometimes when FS returns too many bytes the file size could get bigger on disk than it was initially created with
285
296
  // truncate the file in this case
286
- const fileArgs = { transferId: __classPrivateFieldGet(this, _DownloadState_transferId, "f"), file: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapFileProgress).call(this, file), activeTime: __classPrivateFieldGet(this, _DownloadState_instances, "a", _DownloadState_activeTimeMillis_get) };
297
+ const fileArgs = __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_buildFileDownloadEventArgs).call(this, file);
287
298
  __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.PossibleSupersizedFile, fileArgs);
288
299
  }
289
300
  }
@@ -309,19 +320,30 @@ _DownloadState_transferId = new WeakMap(), _DownloadState_downloadId = new WeakM
309
320
  __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.DownloadProgressed, globalArgs);
310
321
  }, _DownloadState_fileProgressed = function _DownloadState_fileProgressed(file) {
311
322
  file.updateProgress();
312
- const fileArgs = { transferId: __classPrivateFieldGet(this, _DownloadState_transferId, "f"), file: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapFileProgress).call(this, file), activeTime: __classPrivateFieldGet(this, _DownloadState_instances, "a", _DownloadState_activeTimeMillis_get) };
323
+ const fileArgs = __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_buildFileDownloadEventArgs).call(this, file);
313
324
  __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.FileDownloadProgressed, fileArgs);
314
325
  }, _DownloadState_fileStarted = function _DownloadState_fileStarted(file) {
315
326
  file.start();
316
327
  if (__classPrivateFieldGet(this, _DownloadState_pendingFiles, "f").indexOf(file) === -1)
317
328
  __classPrivateFieldGet(this, _DownloadState_pendingFiles, "f").push(file);
318
- const args = { transferId: __classPrivateFieldGet(this, _DownloadState_transferId, "f"), file: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapFileProgress).call(this, file), activeTime: __classPrivateFieldGet(this, _DownloadState_instances, "a", _DownloadState_activeTimeMillis_get) };
329
+ const args = __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_buildFileDownloadEventArgs).call(this, file);
319
330
  __classPrivateFieldGet(this, _DownloadState_eventsEngine, "f").emit(TransferDownloadEvent.FileDownloadStarted, args);
320
331
  }, _DownloadState_tryCompleteFile = function _DownloadState_tryCompleteFile(file) {
321
332
  if (file.downloadedBytes === file.sizeInBytes && file.isCompleted === false)
322
- this.fileCompleted(file);
333
+ this.fileCompleting(file);
323
334
  }, _DownloadState_isItTimeForFileProgressEvent = function _DownloadState_isItTimeForFileProgressEvent(file) {
324
335
  return file.lastProgressTick === null || (__classPrivateFieldGet(this, _DownloadState_instances, "a", _DownloadState_nowUnixEpochMillis_get) - file.lastProgressTick) > __classPrivateFieldGet(this, _DownloadState_options, "f").progressTickMillis;
336
+ }, _DownloadState_buildFileDownloadEventArgs = function _DownloadState_buildFileDownloadEventArgs(file) {
337
+ return {
338
+ transferId: __classPrivateFieldGet(this, _DownloadState_transferId, "f"),
339
+ file: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapFileProgress).call(this, file),
340
+ activeTime: __classPrivateFieldGet(this, _DownloadState_instances, "a", _DownloadState_activeTimeMillis_get),
341
+ };
342
+ }, _DownloadState_buildChunkDownloadEventArgs = function _DownloadState_buildChunkDownloadEventArgs(file, chunk) {
343
+ return {
344
+ ...__classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_buildFileDownloadEventArgs).call(this, file),
345
+ chunk: __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapChunkProgress).call(this, chunk),
346
+ };
325
347
  }, _DownloadState_buildDownloadEventArgs = function _DownloadState_buildDownloadEventArgs(withFiles = false) {
326
348
  return {
327
349
  status: __classPrivateFieldGet(this, _DownloadState_status, "f"),
@@ -381,7 +403,7 @@ _DownloadState_transferId = new WeakMap(), _DownloadState_downloadId = new WeakM
381
403
  }, _DownloadState_mapFailedFiles = function _DownloadState_mapFailedFiles() {
382
404
  return __classPrivateFieldGet(this, _DownloadState_failedFiles, "f").map(x => __classPrivateFieldGet(this, _DownloadState_instances, "m", _DownloadState_mapFileProgress).call(this, x));
383
405
  }, _DownloadState_mapFileProgress = function _DownloadState_mapFileProgress(file) {
384
- return new DownloadFileProgress(file.externalId, file.name, file.url, file.downloadPath, file.sizeInBytes, file.downloadedBytes, file.percent, file.isCompleted, file.isFailed, file.failures, file.chunks.length, file.lastSuccessfulChunkNumber);
406
+ return new DownloadFileProgress(file.externalId, file.name, file.url, file.downloadPath, file.temporaryDownloadPath, file.sizeInBytes, file.downloadedBytes, file.percent, file.isCompleted, file.isFailed, file.failures, file.chunks.length, file.lastSuccessfulChunkNumber);
385
407
  }, _DownloadState_mapChunkProgress = function _DownloadState_mapChunkProgress(chunk) {
386
408
  return new DownloadFileChunkProgress(chunk.id, chunk.chunkNumber, chunk.start, chunk.end, chunk.chunkSize, chunk.downloadedBytes, chunk.percent, chunk.isCompleted, chunk.isFailed);
387
409
  };
@@ -1 +1 @@
1
- {"version":3,"file":"downloadState.js","sourceRoot":"","sources":["../../../../src/downloader/downloadStatus/downloadState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"downloadState.js","sourceRoot":"","sources":["../../../../src/downloader/downloadStatus/downloadState.ts"],"names":[],"mappings":"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"}