cod-dicomweb-server 1.3.14 → 1.3.16
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/cjs/main.js
CHANGED
|
@@ -2730,19 +2730,57 @@ var CodDicomWebServer = /*#__PURE__*/function () {
|
|
|
2730
2730
|
}()
|
|
2731
2731
|
}, {
|
|
2732
2732
|
key: "downloadSeriesFile",
|
|
2733
|
-
value: function
|
|
2734
|
-
var
|
|
2735
|
-
|
|
2736
|
-
var
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2733
|
+
value: function () {
|
|
2734
|
+
var _downloadSeriesFile = CodDicomWebServer_asyncToGenerator(/*#__PURE__*/CodDicomWebServer_regeneratorRuntime().mark(function _callee3(seriesInstanceUID) {
|
|
2735
|
+
var _Array$from$find;
|
|
2736
|
+
var seriesFileURL, _seriesArrayBuffer, seriesArrayBuffer, directoryHandle, fileSystemFile;
|
|
2737
|
+
return CodDicomWebServer_regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
2738
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
2739
|
+
case 0:
|
|
2740
|
+
seriesFileURL = (_Array$from$find = Array.from(this.seriesUidFileUrls[seriesInstanceUID]).find(function (_ref3) {
|
|
2741
|
+
var url = _ref3.url,
|
|
2742
|
+
type = _ref3.type;
|
|
2743
|
+
return type === URLType.FILE && url.endsWith('.tar');
|
|
2744
|
+
})) === null || _Array$from$find === void 0 ? void 0 : _Array$from$find.url;
|
|
2745
|
+
if (!seriesFileURL) {
|
|
2746
|
+
_context3.next = 14;
|
|
2747
|
+
break;
|
|
2748
|
+
}
|
|
2749
|
+
seriesArrayBuffer = this.fileManager.get(seriesFileURL);
|
|
2750
|
+
if ((_seriesArrayBuffer = seriesArrayBuffer) !== null && _seriesArrayBuffer !== void 0 && _seriesArrayBuffer.byteLength) {
|
|
2751
|
+
_context3.next = 13;
|
|
2752
|
+
break;
|
|
2753
|
+
}
|
|
2754
|
+
_context3.next = 6;
|
|
2755
|
+
return getDirectoryHandle();
|
|
2756
|
+
case 6:
|
|
2757
|
+
directoryHandle = _context3.sent;
|
|
2758
|
+
_context3.next = 9;
|
|
2759
|
+
return readFile(directoryHandle, createStreamingFileName(seriesFileURL));
|
|
2760
|
+
case 9:
|
|
2761
|
+
fileSystemFile = _context3.sent;
|
|
2762
|
+
if (fileSystemFile !== null && fileSystemFile !== void 0 && fileSystemFile.byteLength) {
|
|
2763
|
+
_context3.next = 12;
|
|
2764
|
+
break;
|
|
2765
|
+
}
|
|
2766
|
+
return _context3.abrupt("return", false);
|
|
2767
|
+
case 12:
|
|
2768
|
+
seriesArrayBuffer = new Uint8Array(fileSystemFile);
|
|
2769
|
+
case 13:
|
|
2770
|
+
return _context3.abrupt("return", download(seriesFileURL.split('/').at(-1), seriesArrayBuffer.buffer));
|
|
2771
|
+
case 14:
|
|
2772
|
+
return _context3.abrupt("return", false);
|
|
2773
|
+
case 15:
|
|
2774
|
+
case "end":
|
|
2775
|
+
return _context3.stop();
|
|
2776
|
+
}
|
|
2777
|
+
}, _callee3, this);
|
|
2778
|
+
}));
|
|
2779
|
+
function downloadSeriesFile(_x4) {
|
|
2780
|
+
return _downloadSeriesFile.apply(this, arguments);
|
|
2743
2781
|
}
|
|
2744
|
-
return
|
|
2745
|
-
}
|
|
2782
|
+
return downloadSeriesFile;
|
|
2783
|
+
}()
|
|
2746
2784
|
}, {
|
|
2747
2785
|
key: "delete",
|
|
2748
2786
|
value: function _delete(seriesInstanceUID) {
|
|
@@ -18,7 +18,7 @@ declare class CodDicomWebServer {
|
|
|
18
18
|
addFileUrl(seriesInstanceUID: string, type: Enums.URLType, url: string): void;
|
|
19
19
|
fetchCod(wadorsUrl: string, headers?: Record<string, string> | undefined, { useSharedArrayBuffer, fetchType }?: CODRequestOptions): Promise<ArrayBufferLike | InstanceMetadata | SeriesMetadata | undefined>;
|
|
20
20
|
fetchFile(fileUrl: string, headers: Record<string, string>, { offsets, useSharedArrayBuffer, fetchType }?: FileRequestOptions): Promise<ArrayBufferLike | undefined>;
|
|
21
|
-
downloadSeriesFile(seriesInstanceUID: string): boolean
|
|
21
|
+
downloadSeriesFile(seriesInstanceUID: string): Promise<boolean>;
|
|
22
22
|
delete(seriesInstanceUID: string): void;
|
|
23
23
|
deleteAll(): void;
|
|
24
24
|
parseMetadata(metadata: JsonMetadata, type: Enums.RequestType, sopInstanceUID: string): InstanceMetadata | SeriesMetadata;
|
|
@@ -7,7 +7,7 @@ import constants, { Enums } from '../constants';
|
|
|
7
7
|
import { getDataRetrievalManager } from '../dataRetrieval/dataRetrievalManager';
|
|
8
8
|
import { CustomError } from './customClasses';
|
|
9
9
|
import { CustomErrorEvent } from './customClasses';
|
|
10
|
-
import { download, getDirectoryHandle } from '../fileAccessSystemUtils';
|
|
10
|
+
import { createStreamingFileName, download, getDirectoryHandle, readFile } from '../fileAccessSystemUtils';
|
|
11
11
|
class CodDicomWebServer {
|
|
12
12
|
filePromises = {};
|
|
13
13
|
files = {};
|
|
@@ -337,11 +337,19 @@ class CodDicomWebServer {
|
|
|
337
337
|
});
|
|
338
338
|
});
|
|
339
339
|
}
|
|
340
|
-
downloadSeriesFile(seriesInstanceUID) {
|
|
340
|
+
async downloadSeriesFile(seriesInstanceUID) {
|
|
341
341
|
const seriesFileURL = Array.from(this.seriesUidFileUrls[seriesInstanceUID]).find(({ url, type }) => type === Enums.URLType.FILE && url.endsWith('.tar'))?.url;
|
|
342
342
|
if (seriesFileURL) {
|
|
343
|
-
|
|
344
|
-
|
|
343
|
+
let seriesArrayBuffer = this.fileManager.get(seriesFileURL);
|
|
344
|
+
if (!seriesArrayBuffer?.byteLength) {
|
|
345
|
+
const directoryHandle = await getDirectoryHandle();
|
|
346
|
+
const fileSystemFile = (await readFile(directoryHandle, createStreamingFileName(seriesFileURL)));
|
|
347
|
+
if (!fileSystemFile?.byteLength) {
|
|
348
|
+
return false;
|
|
349
|
+
}
|
|
350
|
+
seriesArrayBuffer = new Uint8Array(fileSystemFile);
|
|
351
|
+
}
|
|
352
|
+
return download(seriesFileURL.split('/').at(-1), seriesArrayBuffer.buffer);
|
|
345
353
|
}
|
|
346
354
|
return false;
|
|
347
355
|
}
|
package/dist/umd/563.js
CHANGED