@fnndsc/cumin 3.11.0 → 3.12.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.
@@ -36,6 +36,56 @@ export interface ListPage<T> {
36
36
  data: T[];
37
37
  totalCount: number | null;
38
38
  }
39
+ /**
40
+ * Options controlling one paginated walk over a CUBE list.
41
+ *
42
+ * @property pageSize - Rows requested per page. Defaults to 100.
43
+ * @property startOffset - Offset at which the walk begins. Defaults to 0; a
44
+ * resumed walk passes the offset its previous attempt had reached.
45
+ * @property startTotal - Server total already latched by a previous attempt,
46
+ * or null when unknown. Defaults to null.
47
+ */
48
+ export interface PageWalkOptions {
49
+ pageSize?: number;
50
+ startOffset?: number;
51
+ startTotal?: number | null;
52
+ }
53
+ /**
54
+ * One yielded step of a paginated walk.
55
+ *
56
+ * @property items - The rows of this page, in server order. May be empty on
57
+ * the final step.
58
+ * @property offset - Offset at which this page was fetched.
59
+ * @property total - The latched server total, or null while the server has
60
+ * not reported one. A null total means "unknown", not zero.
61
+ */
62
+ export interface PageWalkStep<T> {
63
+ items: T[];
64
+ offset: number;
65
+ total: number | null;
66
+ }
67
+ /**
68
+ * Walks every page of a paginated CUBE list, yielding one step per page.
69
+ *
70
+ * This is the one pagination loop: it owns offset advancement, total
71
+ * latching, and termination, so callers only consume rows. The walk ends
72
+ * when a page comes back empty, when the latched total has been reached, or
73
+ * when a short page arrives while the total is still unknown. Fetch errors
74
+ * propagate to the caller; a resumed walk continues from `startOffset`.
75
+ *
76
+ * @param page_fetch - Fetches one page at the given offset and limit.
77
+ * @param options - Page size and resume position. See PageWalkOptions.
78
+ * @returns Async generator yielding a PageWalkStep per fetched page.
79
+ *
80
+ * @example
81
+ * ```
82
+ * for await (const step of listPages_walk((offset, limit) =>
83
+ * feedsPage_get(client, { limit, offset }))) {
84
+ * for (const feed of step.items) index.set(feed.id, feed);
85
+ * }
86
+ * ```
87
+ */
88
+ export declare function listPages_walk<T>(page_fetch: (offset: number, limit: number) => Promise<ListPage<T>>, options?: PageWalkOptions): AsyncGenerator<PageWalkStep<T>, void, void>;
39
89
  /**
40
90
  * Wire shape of one CUBE feed row, as served by the feeds list endpoints.
41
91
  *
@@ -25,6 +25,7 @@
25
25
  * @module
26
26
  */
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.listPages_walk = listPages_walk;
28
29
  exports.feedsPage_get = feedsPage_get;
29
30
  exports.publicFeedsPage_get = publicFeedsPage_get;
30
31
  exports.pluginInstancesPage_get = pluginInstancesPage_get;
@@ -33,6 +34,47 @@ exports.pipeline_get = pipeline_get;
33
34
  exports.pipelineSourceFilesPage_get = pipelineSourceFilesPage_get;
34
35
  exports.downloadToken_create = downloadToken_create;
35
36
  const adapter_1 = require("./adapter");
37
+ /**
38
+ * Walks every page of a paginated CUBE list, yielding one step per page.
39
+ *
40
+ * This is the one pagination loop: it owns offset advancement, total
41
+ * latching, and termination, so callers only consume rows. The walk ends
42
+ * when a page comes back empty, when the latched total has been reached, or
43
+ * when a short page arrives while the total is still unknown. Fetch errors
44
+ * propagate to the caller; a resumed walk continues from `startOffset`.
45
+ *
46
+ * @param page_fetch - Fetches one page at the given offset and limit.
47
+ * @param options - Page size and resume position. See PageWalkOptions.
48
+ * @returns Async generator yielding a PageWalkStep per fetched page.
49
+ *
50
+ * @example
51
+ * ```
52
+ * for await (const step of listPages_walk((offset, limit) =>
53
+ * feedsPage_get(client, { limit, offset }))) {
54
+ * for (const feed of step.items) index.set(feed.id, feed);
55
+ * }
56
+ * ```
57
+ */
58
+ async function* listPages_walk(page_fetch, options = {}) {
59
+ const pageSize = options.pageSize ?? 100;
60
+ let offset = options.startOffset ?? 0;
61
+ let total = options.startTotal ?? null;
62
+ while (true) {
63
+ const page = await page_fetch(offset, pageSize);
64
+ const items = page.data;
65
+ if (total === null && page.totalCount !== null) {
66
+ total = page.totalCount;
67
+ }
68
+ yield { items, offset, total };
69
+ if (items.length === 0)
70
+ return;
71
+ if (total !== null && offset + items.length >= total)
72
+ return;
73
+ if (total === null && items.length < pageSize)
74
+ return;
75
+ offset += items.length;
76
+ }
77
+ }
36
78
  /**
37
79
  * Normalizes a raw chrisapi list response into a typed ListPage.
38
80
  *
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/chrisapi/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/chrisapi/contract.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -18,6 +18,7 @@ export * from "./plugins/chrisPlugins";
18
18
  export * from "./plugins/chrisPluginMetaPlugins";
19
19
  export * from "./compute/computeResources";
20
20
  export * from "./pacs/chrisPACS";
21
+ export * from "./pacs/dicomPayload";
21
22
  export * from "./resources/chrisResources";
22
23
  export * from "./resources/chrisResourceGroup";
23
24
  export * from "./resources/chrisObjContext";
@@ -44,8 +45,8 @@ export * from "./pluginmetas/chrisPluginMetas";
44
45
  export * from "./workflows/chrisWorkflows";
45
46
  export * from "./output/runtimeOutput";
46
47
  export { listData_get, itemData_get, items_get } from "./chrisapi/adapter";
47
- export { feedsPage_get, publicFeedsPage_get, pluginInstancesPage_get, pluginInstance_get, pipeline_get, pipelineSourceFilesPage_get, downloadToken_create, } from "./chrisapi/contract";
48
- export type { ListPage, FeedData, PluginInstanceData, InstanceParameterData, DownloadToken, PluginInstanceHandle, PipelineHandle, PluginPipingItem, PluginPipingData, PipingDefaultParameterData, PipelineSourceFileData, PluginParameterData, ComputeResourceData, PluginHandle, } from "./chrisapi/contract";
48
+ export { feedsPage_get, publicFeedsPage_get, pluginInstancesPage_get, pluginInstance_get, pipeline_get, pipelineSourceFilesPage_get, downloadToken_create, listPages_walk, } from "./chrisapi/contract";
49
+ export type { ListPage, PageWalkOptions, PageWalkStep, FeedData, PluginInstanceData, InstanceParameterData, DownloadToken, PluginInstanceHandle, PipelineHandle, PluginPipingItem, PluginPipingData, PipingDefaultParameterData, PipelineSourceFileData, PluginParameterData, ComputeResourceData, PluginHandle, } from "./chrisapi/contract";
49
50
  export type { ListResource, Resource, ItemResource, PluginInstance, Feed, FileBrowserFolder, UserFile, PACSFile, } from "./chrisapi/adapter";
50
51
  /**
51
52
  * Shape of a single node (file, directory, or link) in a ChRIS path listing.
package/dist/index.js CHANGED
@@ -24,7 +24,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
24
24
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
25
25
  };
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.downloadToken_create = exports.pipelineSourceFilesPage_get = exports.pipeline_get = exports.pluginInstance_get = exports.pluginInstancesPage_get = exports.publicFeedsPage_get = exports.feedsPage_get = exports.items_get = exports.itemData_get = exports.listData_get = void 0;
27
+ exports.listPages_walk = exports.downloadToken_create = exports.pipelineSourceFilesPage_get = exports.pipeline_get = exports.pluginInstance_get = exports.pluginInstancesPage_get = exports.publicFeedsPage_get = exports.feedsPage_get = exports.items_get = exports.itemData_get = exports.listData_get = void 0;
28
28
  exports.chrisVersion_get = chrisVersion_get;
29
29
  __exportStar(require("./"), exports);
30
30
  __exportStar(require("./error/errorStack"), exports);
@@ -36,6 +36,7 @@ __exportStar(require("./plugins/chrisPlugins"), exports);
36
36
  __exportStar(require("./plugins/chrisPluginMetaPlugins"), exports);
37
37
  __exportStar(require("./compute/computeResources"), exports);
38
38
  __exportStar(require("./pacs/chrisPACS"), exports);
39
+ __exportStar(require("./pacs/dicomPayload"), exports);
39
40
  __exportStar(require("./resources/chrisResources"), exports);
40
41
  __exportStar(require("./resources/chrisResourceGroup"), exports);
41
42
  __exportStar(require("./resources/chrisObjContext"), exports);
@@ -76,6 +77,7 @@ Object.defineProperty(exports, "pluginInstance_get", { enumerable: true, get: fu
76
77
  Object.defineProperty(exports, "pipeline_get", { enumerable: true, get: function () { return contract_1.pipeline_get; } });
77
78
  Object.defineProperty(exports, "pipelineSourceFilesPage_get", { enumerable: true, get: function () { return contract_1.pipelineSourceFilesPage_get; } });
78
79
  Object.defineProperty(exports, "downloadToken_create", { enumerable: true, get: function () { return contract_1.downloadToken_create; } });
80
+ Object.defineProperty(exports, "listPages_walk", { enumerable: true, get: function () { return contract_1.listPages_walk; } });
79
81
  /**
80
82
  * Gets the ChRIS version from the given URL.
81
83
  *
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;AA0GH,4CAKC;AA7GD,qCAAmB;AACnB,qDAAmC;AACnC,kDAAgC;AAChC,oDAAkC;AAClC,4DAA0C;AAC1C,yDAAuC;AACvC,yDAAuC;AACvC,mEAAiD;AACjD,6DAA2C;AAC3C,mDAAiC;AACjC,6DAA2C;AAC3C,iEAA+C;AAC/C,8DAA4C;AAC5C,yEAAuD;AACvD,iEAA+C;AAC/C,2DAAyC;AACzC,0DAAwC;AACxC,8DAA4C;AAC5C,+CAA6B;AAC7B,0CAAwB;AACxB,+CAA6B;AAC7B,kDAAgC;AAChC,qDAAmC;AACnC,iDAA+B;AAC/B,gDAA8B;AAC9B,mDAAiC;AACjC,0CAAwB;AACxB,mDAAiC;AACjC,4DAA0C;AAC1C,qDAAmC;AACnC,mDAAiC;AACjC,uDAAqC;AACrC,iEAA+C;AAC/C,6DAA2C;AAC3C,yDAAuC;AAEvC,iFAAiF;AACjF,8CAA2E;AAAlE,uGAAA,YAAY,OAAA;AAAE,uGAAA,YAAY,OAAA;AAAE,oGAAA,SAAS,OAAA;AAE9C,yEAAyE;AACzE,0EAA0E;AAC1E,gDAQ6B;AAP3B,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AACnB,mHAAA,uBAAuB,OAAA;AACvB,8GAAA,kBAAkB,OAAA;AAClB,wGAAA,YAAY,OAAA;AACZ,uHAAA,2BAA2B,OAAA;AAC3B,gHAAA,oBAAoB,OAAA;AAkDtB;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB,CAAC,GAAW;IAChD,MAAM,OAAO,GAAW,OAAO,CAAC;IAChC,wCAAwC;IACxC,6CAA6C;IAC7C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC5B,CAAC;AAED,gEAAgE;AAChE,qCAAqC;AACrC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;AA8GH,4CAKC;AAjHD,qCAAmB;AACnB,qDAAmC;AACnC,kDAAgC;AAChC,oDAAkC;AAClC,4DAA0C;AAC1C,yDAAuC;AACvC,yDAAuC;AACvC,mEAAiD;AACjD,6DAA2C;AAC3C,mDAAiC;AACjC,sDAAoC;AACpC,6DAA2C;AAC3C,iEAA+C;AAC/C,8DAA4C;AAC5C,yEAAuD;AACvD,iEAA+C;AAC/C,2DAAyC;AACzC,0DAAwC;AACxC,8DAA4C;AAC5C,+CAA6B;AAC7B,0CAAwB;AACxB,+CAA6B;AAC7B,kDAAgC;AAChC,qDAAmC;AACnC,iDAA+B;AAC/B,gDAA8B;AAC9B,mDAAiC;AACjC,0CAAwB;AACxB,mDAAiC;AACjC,4DAA0C;AAC1C,qDAAmC;AACnC,mDAAiC;AACjC,uDAAqC;AACrC,iEAA+C;AAC/C,6DAA2C;AAC3C,yDAAuC;AAEvC,iFAAiF;AACjF,8CAA2E;AAAlE,uGAAA,YAAY,OAAA;AAAE,uGAAA,YAAY,OAAA;AAAE,oGAAA,SAAS,OAAA;AAE9C,yEAAyE;AACzE,0EAA0E;AAC1E,gDAS6B;AAR3B,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AACnB,mHAAA,uBAAuB,OAAA;AACvB,8GAAA,kBAAkB,OAAA;AAClB,wGAAA,YAAY,OAAA;AACZ,uHAAA,2BAA2B,OAAA;AAC3B,gHAAA,oBAAoB,OAAA;AACpB,0GAAA,cAAc,OAAA;AAoDhB;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB,CAAC,GAAW;IAChD,MAAM,OAAO,GAAW,OAAO,CAAC;IAChC,wCAAwC;IACxC,6CAA6C;IAC7C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC5B,CAAC;AAED,gEAAgE;AAChE,qCAAqC;AACrC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -28,6 +28,7 @@ const retry_js_1 = require("../utils/retry.js");
28
28
  const chrisResourceGroup_js_1 = require("../resources/chrisResourceGroup.js");
29
29
  const adapter_js_1 = require("../chrisapi/adapter.js");
30
30
  const chrisConnection_js_1 = require("../connect/chrisConnection.js");
31
+ const dicomPayload_js_1 = require("./dicomPayload.js");
31
32
  const zlib_1 = __importDefault(require("zlib"));
32
33
  /**
33
34
  * Group handler for PACS servers.
@@ -436,19 +437,6 @@ async function seriesStorage_resolve(seriesInstanceUID, retry) {
436
437
  return (0, result_js_1.Ok)(empty); // Return the empty state rather than failing the whole operation
437
438
  }
438
439
  }
439
- /**
440
- * Extract value from a DICOM tag object or return as-is.
441
- *
442
- * @param val - Potentially a tag object with {label, value} or a primitive.
443
- * @returns The extracted value.
444
- */
445
- function tag_extractValue(val) {
446
- if (val && typeof val === "object" && "value" in val) {
447
- const tagObj = val;
448
- return tagObj.value;
449
- }
450
- return val;
451
- }
452
440
  /**
453
441
  * Determine series status based on file counts.
454
442
  *
@@ -478,29 +466,26 @@ async function retrieve_latestFromQuery(queryId) {
478
466
  async function studySeries_buildStatus(study) {
479
467
  const studyStatus = {
480
468
  studyInfo: study,
481
- studyInstanceUID: tag_extractValue(study.StudyInstanceUID),
482
- studyDescription: tag_extractValue(study.StudyDescription),
469
+ studyInstanceUID: (0, dicomPayload_js_1.tag_extractRaw)(study.StudyInstanceUID),
470
+ studyDescription: (0, dicomPayload_js_1.tag_extractRaw)(study.StudyDescription),
483
471
  series: [],
484
472
  };
485
- const seriesArray = Array.isArray(study.series) ? study.series :
486
- Array.isArray(study.Series) ? study.Series :
487
- Array.isArray(study.results) ? study.results :
488
- [];
473
+ const seriesArray = (0, dicomPayload_js_1.series_extractFromStudy)(study);
489
474
  for (const seriesObj of seriesArray) {
490
475
  if (!seriesObj || typeof seriesObj !== "object")
491
476
  continue;
492
477
  const series = seriesObj;
493
- const seriesUID = tag_extractValue(series.SeriesInstanceUID);
478
+ const seriesUID = (0, dicomPayload_js_1.tag_extractRaw)(series.SeriesInstanceUID);
494
479
  if (!seriesUID)
495
480
  continue;
496
- const expectedFiles = Number(tag_extractValue(series.NumberOfSeriesRelatedInstances)) || 0;
481
+ const expectedFiles = Number((0, dicomPayload_js_1.tag_extractRaw)(series.NumberOfSeriesRelatedInstances)) || 0;
497
482
  const storageResult = await seriesStorage_resolve(seriesUID);
498
483
  const storage = storageResult.ok ? storageResult.value : { fileCount: 0, folderPath: null };
499
484
  const status = series_determineStatus(expectedFiles, storage.fileCount);
500
485
  studyStatus.series.push({
501
486
  seriesInfo: series,
502
487
  seriesInstanceUID: seriesUID,
503
- seriesDescription: tag_extractValue(series.SeriesDescription),
488
+ seriesDescription: (0, dicomPayload_js_1.tag_extractRaw)(series.SeriesDescription),
504
489
  expectedFiles,
505
490
  actualFiles: storage.fileCount,
506
491
  status,
@@ -526,7 +511,7 @@ async function pacsRetrieve_statusForQuery(queryId) {
526
511
  return (0, result_js_1.Err)();
527
512
  }
528
513
  const { retrieveStatus, retrieveId } = await retrieve_latestFromQuery(queryId);
529
- const payloadArray = Array.isArray(decoded.json) ? decoded.json : [decoded.json];
514
+ const payloadArray = (0, dicomPayload_js_1.studies_extractFromDecoded)(decoded.json);
530
515
  const studies = [];
531
516
  for (const obj of payloadArray) {
532
517
  if (!obj || typeof obj !== "object")
@@ -1 +1 @@
1
- {"version":3,"file":"chrisPACS.js","sourceRoot":"","sources":["../../src/pacs/chrisPACS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chrisPACS.js","sourceRoot":"","sources":["../../src/pacs/chrisPACS.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @file DICOM query-payload interpretation helpers.
3
+ *
4
+ * A decoded PACS query result arrives as loosely shaped JSON: studies under
5
+ * one of several container keys, series likewise, and individual tag values
6
+ * either bare or wrapped (`{value: ...}` from CUBE's decoder, `{Value: [...]}`
7
+ * from DICOM-JSON). Four packages grew private copies of this interpretation,
8
+ * each accepting a different subset of the shapes. This module is the one
9
+ * home: every helper accepts the union of the shapes the copies handled.
10
+ *
11
+ * Key components:
12
+ * - tag_extractRaw / tag_extractValue: unwrap one tag value
13
+ * - studies_extractFromDecoded: locate the study array in a decoded payload
14
+ * - series_extractFromStudy: locate the series array in a study object
15
+ * - study_findByUID / series_findByUID: UID lookups over those arrays
16
+ *
17
+ * Dependencies: none — pure functions over unknown-shaped JSON.
18
+ *
19
+ * @module
20
+ */
21
+ /**
22
+ * Unwraps a potentially wrapped DICOM tag value, preserving its raw type.
23
+ *
24
+ * Accepts CUBE's `{value: ...}` decoder wrapper, the DICOM-JSON
25
+ * `{Value: [...]}` wrapper (first element wins), or a bare value.
26
+ *
27
+ * @param val - Potentially wrapped tag value.
28
+ * @returns The unwrapped value; undefined and null pass through unchanged.
29
+ */
30
+ export declare function tag_extractRaw(val: unknown): unknown;
31
+ /**
32
+ * Extracts a DICOM tag value as a string.
33
+ *
34
+ * @param val - Potentially wrapped tag value.
35
+ * @returns The unwrapped value as a string; empty string for null/undefined.
36
+ */
37
+ export declare function tag_extractValue(val: unknown): string;
38
+ /**
39
+ * Locates the study array inside a decoded PACS query payload.
40
+ *
41
+ * Probes the container keys the wire has been seen to use (`studies`,
42
+ * `Studies`, `results`), falling back to treating the payload itself as the
43
+ * study collection. A non-array collection is wrapped as a single study.
44
+ *
45
+ * @param decodedJson - The decoded query result payload.
46
+ * @returns The study objects, in payload order. Never null; a payload with
47
+ * no recognizable studies yields a single-element wrap of the payload.
48
+ */
49
+ export declare function studies_extractFromDecoded(decodedJson: unknown): Record<string, unknown>[];
50
+ /**
51
+ * Locates the series array inside one study object.
52
+ *
53
+ * Probes `series`, `Series`, `results`, and `data`; a study carrying none of
54
+ * them has no series.
55
+ *
56
+ * @param studyObj - One study object from a decoded payload.
57
+ * @returns The series objects, or an empty array.
58
+ */
59
+ export declare function series_extractFromStudy(studyObj: Record<string, unknown>): Record<string, unknown>[];
60
+ /**
61
+ * Finds a study by its StudyInstanceUID.
62
+ *
63
+ * @param studies - Study objects from studies_extractFromDecoded.
64
+ * @param uid - The StudyInstanceUID to match.
65
+ * @returns The matching study, or undefined.
66
+ */
67
+ export declare function study_findByUID(studies: Record<string, unknown>[], uid: string): Record<string, unknown> | undefined;
68
+ /**
69
+ * Finds a series by its SeriesInstanceUID.
70
+ *
71
+ * @param seriesArr - Series objects from series_extractFromStudy.
72
+ * @param uid - The SeriesInstanceUID to match.
73
+ * @returns The matching series, or undefined.
74
+ */
75
+ export declare function series_findByUID(seriesArr: Record<string, unknown>[], uid: string): Record<string, unknown> | undefined;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ /**
3
+ * @file DICOM query-payload interpretation helpers.
4
+ *
5
+ * A decoded PACS query result arrives as loosely shaped JSON: studies under
6
+ * one of several container keys, series likewise, and individual tag values
7
+ * either bare or wrapped (`{value: ...}` from CUBE's decoder, `{Value: [...]}`
8
+ * from DICOM-JSON). Four packages grew private copies of this interpretation,
9
+ * each accepting a different subset of the shapes. This module is the one
10
+ * home: every helper accepts the union of the shapes the copies handled.
11
+ *
12
+ * Key components:
13
+ * - tag_extractRaw / tag_extractValue: unwrap one tag value
14
+ * - studies_extractFromDecoded: locate the study array in a decoded payload
15
+ * - series_extractFromStudy: locate the series array in a study object
16
+ * - study_findByUID / series_findByUID: UID lookups over those arrays
17
+ *
18
+ * Dependencies: none — pure functions over unknown-shaped JSON.
19
+ *
20
+ * @module
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.tag_extractRaw = tag_extractRaw;
24
+ exports.tag_extractValue = tag_extractValue;
25
+ exports.studies_extractFromDecoded = studies_extractFromDecoded;
26
+ exports.series_extractFromStudy = series_extractFromStudy;
27
+ exports.study_findByUID = study_findByUID;
28
+ exports.series_findByUID = series_findByUID;
29
+ /**
30
+ * Unwraps a potentially wrapped DICOM tag value, preserving its raw type.
31
+ *
32
+ * Accepts CUBE's `{value: ...}` decoder wrapper, the DICOM-JSON
33
+ * `{Value: [...]}` wrapper (first element wins), or a bare value.
34
+ *
35
+ * @param val - Potentially wrapped tag value.
36
+ * @returns The unwrapped value; undefined and null pass through unchanged.
37
+ */
38
+ function tag_extractRaw(val) {
39
+ if (val && typeof val === "object") {
40
+ const record = val;
41
+ if ("value" in record)
42
+ return record.value;
43
+ if (Array.isArray(record.Value) && record.Value.length > 0)
44
+ return record.Value[0];
45
+ }
46
+ return val;
47
+ }
48
+ /**
49
+ * Extracts a DICOM tag value as a string.
50
+ *
51
+ * @param val - Potentially wrapped tag value.
52
+ * @returns The unwrapped value as a string; empty string for null/undefined.
53
+ */
54
+ function tag_extractValue(val) {
55
+ return String(tag_extractRaw(val) ?? "");
56
+ }
57
+ /**
58
+ * Locates the study array inside a decoded PACS query payload.
59
+ *
60
+ * Probes the container keys the wire has been seen to use (`studies`,
61
+ * `Studies`, `results`), falling back to treating the payload itself as the
62
+ * study collection. A non-array collection is wrapped as a single study.
63
+ *
64
+ * @param decodedJson - The decoded query result payload.
65
+ * @returns The study objects, in payload order. Never null; a payload with
66
+ * no recognizable studies yields a single-element wrap of the payload.
67
+ */
68
+ function studies_extractFromDecoded(decodedJson) {
69
+ let studiesObj;
70
+ if (decodedJson && typeof decodedJson === "object" && !Array.isArray(decodedJson)) {
71
+ const record = decodedJson;
72
+ if ("studies" in record)
73
+ studiesObj = record.studies;
74
+ else if ("Studies" in record)
75
+ studiesObj = record.Studies;
76
+ else if ("results" in record)
77
+ studiesObj = record.results;
78
+ else
79
+ studiesObj = decodedJson;
80
+ }
81
+ else {
82
+ studiesObj = decodedJson;
83
+ }
84
+ const arr = Array.isArray(studiesObj) ? studiesObj : [studiesObj];
85
+ return arr;
86
+ }
87
+ /**
88
+ * Locates the series array inside one study object.
89
+ *
90
+ * Probes `series`, `Series`, `results`, and `data`; a study carrying none of
91
+ * them has no series.
92
+ *
93
+ * @param studyObj - One study object from a decoded payload.
94
+ * @returns The series objects, or an empty array.
95
+ */
96
+ function series_extractFromStudy(studyObj) {
97
+ const arr = Array.isArray(studyObj.series) ? studyObj.series :
98
+ Array.isArray(studyObj.Series) ? studyObj.Series :
99
+ Array.isArray(studyObj.results) ? studyObj.results :
100
+ Array.isArray(studyObj.data) ? studyObj.data :
101
+ [];
102
+ return arr;
103
+ }
104
+ /**
105
+ * Finds a study by its StudyInstanceUID.
106
+ *
107
+ * @param studies - Study objects from studies_extractFromDecoded.
108
+ * @param uid - The StudyInstanceUID to match.
109
+ * @returns The matching study, or undefined.
110
+ */
111
+ function study_findByUID(studies, uid) {
112
+ return studies.find((s) => {
113
+ const sUID = tag_extractValue(s.StudyInstanceUID || s.uid);
114
+ return sUID === uid;
115
+ });
116
+ }
117
+ /**
118
+ * Finds a series by its SeriesInstanceUID.
119
+ *
120
+ * @param seriesArr - Series objects from series_extractFromStudy.
121
+ * @param uid - The SeriesInstanceUID to match.
122
+ * @returns The matching series, or undefined.
123
+ */
124
+ function series_findByUID(seriesArr, uid) {
125
+ return seriesArr.find((s) => {
126
+ const sUID = tag_extractValue(s.SeriesInstanceUID || s.uid);
127
+ return sUID === uid;
128
+ });
129
+ }
130
+ //# sourceMappingURL=dicomPayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dicomPayload.js","sourceRoot":"","sources":["../../src/pacs/dicomPayload.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fnndsc/cumin",
3
- "version": "3.11.0",
3
+ "version": "3.12.0",
4
4
  "description": "Utility library for ChILI and other ChRIS-related JavaScript applications",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,6 +23,11 @@
23
23
  "types": "./dist/index.d.ts",
24
24
  "require": "./dist/index.js"
25
25
  },
26
+ "./dicom-payload": {
27
+ "import": "./dist/pacs/dicomPayload.js",
28
+ "types": "./dist/pacs/dicomPayload.d.ts",
29
+ "require": "./dist/pacs/dicomPayload.js"
30
+ },
26
31
  "./proc-prompt": {
27
32
  "import": "./dist/cache/procPrompt.js",
28
33
  "types": "./dist/cache/procPrompt.d.ts",