@ubercode/dcmtk 0.10.1 → 0.11.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.
- package/dist/{index-Hp4Ri9y5.d.ts → index--dDQfutR.d.ts} +47 -9
- package/dist/{index-CEqwLKgE.d.cts → index-CVDMaxd8.d.cts} +47 -9
- package/dist/index.cjs +59 -20
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +59 -20
- package/dist/index.js.map +1 -1
- package/dist/servers.cjs +59 -20
- package/dist/servers.cjs.map +1 -1
- package/dist/servers.d.cts +1 -1
- package/dist/servers.d.ts +1 -1
- package/dist/servers.js +59 -20
- package/dist/servers.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -3,7 +3,7 @@ export { L as LineSource, P as ProcessLine, a as ResultValue, b as assertUnreach
|
|
|
3
3
|
import { A as AETitle, D as DicomTag, a as DicomTagPath, P as Port, S as SOPClassUID, T as TransferSyntaxUID, b as DicomDataset } from './DicomInstance-CxLKC-oM.cjs';
|
|
4
4
|
export { B as Brand, C as ChangeSet, c as DicomFilePath, d as DicomInstance, e as DicomOpenOptions, W as WalkTagEntry, f as WalkTagsOptions, g as createAETitle, h as createDicomFilePath, i as createDicomTag, j as createDicomTagPath, k as createPort, l as createSOPClassUID, m as createTransferSyntaxUID, t as tag, w as walkTags } from './DicomInstance-CxLKC-oM.cjs';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
export { A as AssociationAcknowledgedData, a as AssociationCompleteData, b as AssociationContext, c as AssociationReceivedData, d as AssociationSummary, e as AssociationTracker, C as CStoreRequestData, f as CannotStartListenerData, g as ConfigErrorData, D as DCMPRSCP_FATAL_EVENTS, h as DCMPRSCP_PATTERNS, i as DCMPSRCV_FATAL_EVENTS, j as DCMPSRCV_PATTERNS, k as DCMQRSCP_FATAL_EVENTS, l as DCMQRSCP_PATTERNS, m as DCMRECV_FATAL_EVENTS, n as DCMRECV_PATTERNS, o as DatabaseReadyData, p as DcmQRSCP, q as DcmQRSCPEventMap, r as DcmQRSCPOptions, s as DcmprsCP, t as DcmprsCPEventMap, u as DcmprsCPOptions, v as DcmprscpEvent, w as DcmprscpEventValue, x as Dcmpsrcv, y as DcmpsrcvEvent, z as DcmpsrcvEventMap, B as DcmpsrcvEventValue, E as DcmpsrcvOptions, F as DcmqrscpEvent, G as DcmqrscpEventValue, H as Dcmrecv, I as DcmrecvEvent, J as DcmrecvEventMap, K as DcmrecvEventValue, L as DcmrecvOptions, M as DcmtkProcess, N as DcmtkProcessConfig, O as DcmtkProcessEventMap, P as DicomReceiver, Q as DicomReceiverEventMap, R as DicomReceiverOptions, S as EventPattern, T as FileDeletedData, U as FileReceivedData, V as FilenameMode, W as FilenameModeValue, X as LineParser, Y as LineParserEventMap, Z as MultiLineConfig, _ as PoolAssociationReceivedData, $ as PoolCStoreRequestData, a0 as PoolEchoRequestData, a1 as PoolRefusingAssociationData, a2 as PoolStatus, a3 as PreferredTransferSyntax, a4 as PreferredTransferSyntaxValue, a5 as PrintAssociationAcknowledgedData, a6 as PrintAssociationReceivedData, a7 as PrintCannotStartListenerData, a8 as ProcessState, a9 as ProcessStateValue, aa as QRAssociationAcknowledgedData, ab as QRAssociationReceivedData, ac as QRCFindRequestData, ad as QRCGetRequestData, ae as QRCMoveRequestData, af as QRCStoreRequestData, ag as QRCannotStartListenerData, ah as QRListeningData, ai as ReceiverAssociationAcknowledgedData, aj as ReceiverAssociationData, ak as ReceiverAssociationReceivedData, al as ReceiverCStoreRequestData, am as ReceiverCannotStartListenerData, an as ReceiverConfigErrorData, ao as ReceiverDatabaseReadyData, ap as ReceiverEchoRequestData, aq as ReceiverErrorData, ar as ReceiverFileData, as as
|
|
6
|
+
export { A as AssociationAcknowledgedData, a as AssociationCompleteData, b as AssociationContext, c as AssociationReceivedData, d as AssociationSummary, e as AssociationTracker, C as CStoreRequestData, f as CannotStartListenerData, g as ConfigErrorData, D as DCMPRSCP_FATAL_EVENTS, h as DCMPRSCP_PATTERNS, i as DCMPSRCV_FATAL_EVENTS, j as DCMPSRCV_PATTERNS, k as DCMQRSCP_FATAL_EVENTS, l as DCMQRSCP_PATTERNS, m as DCMRECV_FATAL_EVENTS, n as DCMRECV_PATTERNS, o as DatabaseReadyData, p as DcmQRSCP, q as DcmQRSCPEventMap, r as DcmQRSCPOptions, s as DcmprsCP, t as DcmprsCPEventMap, u as DcmprsCPOptions, v as DcmprscpEvent, w as DcmprscpEventValue, x as Dcmpsrcv, y as DcmpsrcvEvent, z as DcmpsrcvEventMap, B as DcmpsrcvEventValue, E as DcmpsrcvOptions, F as DcmqrscpEvent, G as DcmqrscpEventValue, H as Dcmrecv, I as DcmrecvEvent, J as DcmrecvEventMap, K as DcmrecvEventValue, L as DcmrecvOptions, M as DcmtkProcess, N as DcmtkProcessConfig, O as DcmtkProcessEventMap, P as DicomReceiver, Q as DicomReceiverEventMap, R as DicomReceiverOptions, S as EventPattern, T as FileDeletedData, U as FileReceivedData, V as FilenameMode, W as FilenameModeValue, X as LineParser, Y as LineParserEventMap, Z as MultiLineConfig, _ as PoolAssociationReceivedData, $ as PoolCStoreRequestData, a0 as PoolEchoRequestData, a1 as PoolRefusingAssociationData, a2 as PoolStatus, a3 as PreferredTransferSyntax, a4 as PreferredTransferSyntaxValue, a5 as PrintAssociationAcknowledgedData, a6 as PrintAssociationReceivedData, a7 as PrintCannotStartListenerData, a8 as ProcessState, a9 as ProcessStateValue, aa as QRAssociationAcknowledgedData, ab as QRAssociationReceivedData, ac as QRCFindRequestData, ad as QRCGetRequestData, ae as QRCMoveRequestData, af as QRCStoreRequestData, ag as QRCannotStartListenerData, ah as QRListeningData, ai as ReceiverAssociationAcknowledgedData, aj as ReceiverAssociationData, ak as ReceiverAssociationReceivedData, al as ReceiverCStoreRequestData, am as ReceiverCannotStartListenerData, an as ReceiverConfigErrorData, ao as ReceiverDatabaseReadyData, ap as ReceiverEchoRequestData, aq as ReceiverErrorData, ar as ReceiverFileData, as as ReceiverFileReceivedData, at as ReceiverFileStoredData, au as ReceiverInstanceData, av as ReceiverListeningData, aw as RefusingAssociationData, ax as STORESCP_FATAL_EVENTS, ay as STORESCP_PATTERNS, az as StorageMode, aA as StorageModeValue, aB as StoreSCP, aC as StoreSCPEventMap, aD as StoreSCPOptions, aE as StoreSCPPreset, aF as StoreSCPPresetName, aG as StoredFileData, aH as StorescpEvent, aI as StorescpEventValue, aJ as StoringFileData, aK as SubdirectoryCreatedData, aL as SubdirectoryMode, aM as SubdirectoryModeValue, aN as TrackedFile, aO as WLMSCPFS_FATAL_EVENTS, aP as WLMSCPFS_PATTERNS, aQ as WlmAssociationAcknowledgedData, aR as WlmAssociationReceivedData, aS as WlmCFindRequestData, aT as WlmCannotStartListenerData, aU as WlmListeningData, aV as Wlmscpfs, aW as WlmscpfsEvent, aX as WlmscpfsEventMap, aY as WlmscpfsEventValue, aZ as WlmscpfsOptions } from './index-CVDMaxd8.cjs';
|
|
7
7
|
import { T as TagModification } from './dcmodify-Cf-RPHF3.cjs';
|
|
8
8
|
export { b as DcmodifyOptions, c as DcmodifyResult, D as DicomJsonElement, a as DicomJsonModel, d as ToolBaseOptions, e as dcmodify, x as xmlToJson } from './dcmodify-Cf-RPHF3.cjs';
|
|
9
9
|
export { DictionaryEntry, SOPClassName, SOP_CLASSES, TagSegment, VR, VRCategoryName, VRMetadata, VRValue, VR_CATEGORY, VR_CATEGORY_NAME, VR_META, getVRCategory, isBinaryVR, isNumericVR, isStringVR, lookupTag, lookupTagByKeyword, lookupTagByName, segmentsToModifyPath, segmentsToString, sopClassNameFromUID, tagPathToSegments } from './dicom.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export { L as LineSource, P as ProcessLine, a as ResultValue, b as assertUnreach
|
|
|
3
3
|
import { A as AETitle, D as DicomTag, a as DicomTagPath, P as Port, S as SOPClassUID, T as TransferSyntaxUID, b as DicomDataset } from './DicomInstance-BKUiir0G.js';
|
|
4
4
|
export { B as Brand, C as ChangeSet, c as DicomFilePath, d as DicomInstance, e as DicomOpenOptions, W as WalkTagEntry, f as WalkTagsOptions, g as createAETitle, h as createDicomFilePath, i as createDicomTag, j as createDicomTagPath, k as createPort, l as createSOPClassUID, m as createTransferSyntaxUID, t as tag, w as walkTags } from './DicomInstance-BKUiir0G.js';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
export { A as AssociationAcknowledgedData, a as AssociationCompleteData, b as AssociationContext, c as AssociationReceivedData, d as AssociationSummary, e as AssociationTracker, C as CStoreRequestData, f as CannotStartListenerData, g as ConfigErrorData, D as DCMPRSCP_FATAL_EVENTS, h as DCMPRSCP_PATTERNS, i as DCMPSRCV_FATAL_EVENTS, j as DCMPSRCV_PATTERNS, k as DCMQRSCP_FATAL_EVENTS, l as DCMQRSCP_PATTERNS, m as DCMRECV_FATAL_EVENTS, n as DCMRECV_PATTERNS, o as DatabaseReadyData, p as DcmQRSCP, q as DcmQRSCPEventMap, r as DcmQRSCPOptions, s as DcmprsCP, t as DcmprsCPEventMap, u as DcmprsCPOptions, v as DcmprscpEvent, w as DcmprscpEventValue, x as Dcmpsrcv, y as DcmpsrcvEvent, z as DcmpsrcvEventMap, B as DcmpsrcvEventValue, E as DcmpsrcvOptions, F as DcmqrscpEvent, G as DcmqrscpEventValue, H as Dcmrecv, I as DcmrecvEvent, J as DcmrecvEventMap, K as DcmrecvEventValue, L as DcmrecvOptions, M as DcmtkProcess, N as DcmtkProcessConfig, O as DcmtkProcessEventMap, P as DicomReceiver, Q as DicomReceiverEventMap, R as DicomReceiverOptions, S as EventPattern, T as FileDeletedData, U as FileReceivedData, V as FilenameMode, W as FilenameModeValue, X as LineParser, Y as LineParserEventMap, Z as MultiLineConfig, _ as PoolAssociationReceivedData, $ as PoolCStoreRequestData, a0 as PoolEchoRequestData, a1 as PoolRefusingAssociationData, a2 as PoolStatus, a3 as PreferredTransferSyntax, a4 as PreferredTransferSyntaxValue, a5 as PrintAssociationAcknowledgedData, a6 as PrintAssociationReceivedData, a7 as PrintCannotStartListenerData, a8 as ProcessState, a9 as ProcessStateValue, aa as QRAssociationAcknowledgedData, ab as QRAssociationReceivedData, ac as QRCFindRequestData, ad as QRCGetRequestData, ae as QRCMoveRequestData, af as QRCStoreRequestData, ag as QRCannotStartListenerData, ah as QRListeningData, ai as ReceiverAssociationAcknowledgedData, aj as ReceiverAssociationData, ak as ReceiverAssociationReceivedData, al as ReceiverCStoreRequestData, am as ReceiverCannotStartListenerData, an as ReceiverConfigErrorData, ao as ReceiverDatabaseReadyData, ap as ReceiverEchoRequestData, aq as ReceiverErrorData, ar as ReceiverFileData, as as
|
|
6
|
+
export { A as AssociationAcknowledgedData, a as AssociationCompleteData, b as AssociationContext, c as AssociationReceivedData, d as AssociationSummary, e as AssociationTracker, C as CStoreRequestData, f as CannotStartListenerData, g as ConfigErrorData, D as DCMPRSCP_FATAL_EVENTS, h as DCMPRSCP_PATTERNS, i as DCMPSRCV_FATAL_EVENTS, j as DCMPSRCV_PATTERNS, k as DCMQRSCP_FATAL_EVENTS, l as DCMQRSCP_PATTERNS, m as DCMRECV_FATAL_EVENTS, n as DCMRECV_PATTERNS, o as DatabaseReadyData, p as DcmQRSCP, q as DcmQRSCPEventMap, r as DcmQRSCPOptions, s as DcmprsCP, t as DcmprsCPEventMap, u as DcmprsCPOptions, v as DcmprscpEvent, w as DcmprscpEventValue, x as Dcmpsrcv, y as DcmpsrcvEvent, z as DcmpsrcvEventMap, B as DcmpsrcvEventValue, E as DcmpsrcvOptions, F as DcmqrscpEvent, G as DcmqrscpEventValue, H as Dcmrecv, I as DcmrecvEvent, J as DcmrecvEventMap, K as DcmrecvEventValue, L as DcmrecvOptions, M as DcmtkProcess, N as DcmtkProcessConfig, O as DcmtkProcessEventMap, P as DicomReceiver, Q as DicomReceiverEventMap, R as DicomReceiverOptions, S as EventPattern, T as FileDeletedData, U as FileReceivedData, V as FilenameMode, W as FilenameModeValue, X as LineParser, Y as LineParserEventMap, Z as MultiLineConfig, _ as PoolAssociationReceivedData, $ as PoolCStoreRequestData, a0 as PoolEchoRequestData, a1 as PoolRefusingAssociationData, a2 as PoolStatus, a3 as PreferredTransferSyntax, a4 as PreferredTransferSyntaxValue, a5 as PrintAssociationAcknowledgedData, a6 as PrintAssociationReceivedData, a7 as PrintCannotStartListenerData, a8 as ProcessState, a9 as ProcessStateValue, aa as QRAssociationAcknowledgedData, ab as QRAssociationReceivedData, ac as QRCFindRequestData, ad as QRCGetRequestData, ae as QRCMoveRequestData, af as QRCStoreRequestData, ag as QRCannotStartListenerData, ah as QRListeningData, ai as ReceiverAssociationAcknowledgedData, aj as ReceiverAssociationData, ak as ReceiverAssociationReceivedData, al as ReceiverCStoreRequestData, am as ReceiverCannotStartListenerData, an as ReceiverConfigErrorData, ao as ReceiverDatabaseReadyData, ap as ReceiverEchoRequestData, aq as ReceiverErrorData, ar as ReceiverFileData, as as ReceiverFileReceivedData, at as ReceiverFileStoredData, au as ReceiverInstanceData, av as ReceiverListeningData, aw as RefusingAssociationData, ax as STORESCP_FATAL_EVENTS, ay as STORESCP_PATTERNS, az as StorageMode, aA as StorageModeValue, aB as StoreSCP, aC as StoreSCPEventMap, aD as StoreSCPOptions, aE as StoreSCPPreset, aF as StoreSCPPresetName, aG as StoredFileData, aH as StorescpEvent, aI as StorescpEventValue, aJ as StoringFileData, aK as SubdirectoryCreatedData, aL as SubdirectoryMode, aM as SubdirectoryModeValue, aN as TrackedFile, aO as WLMSCPFS_FATAL_EVENTS, aP as WLMSCPFS_PATTERNS, aQ as WlmAssociationAcknowledgedData, aR as WlmAssociationReceivedData, aS as WlmCFindRequestData, aT as WlmCannotStartListenerData, aU as WlmListeningData, aV as Wlmscpfs, aW as WlmscpfsEvent, aX as WlmscpfsEventMap, aY as WlmscpfsEventValue, aZ as WlmscpfsOptions } from './index--dDQfutR.js';
|
|
7
7
|
import { T as TagModification } from './dcmodify-CHvwChFu.js';
|
|
8
8
|
export { b as DcmodifyOptions, c as DcmodifyResult, D as DicomJsonElement, a as DicomJsonModel, d as ToolBaseOptions, e as dcmodify, x as xmlToJson } from './dcmodify-CHvwChFu.js';
|
|
9
9
|
export { DictionaryEntry, SOPClassName, SOP_CLASSES, TagSegment, VR, VRCategoryName, VRMetadata, VRValue, VR_CATEGORY, VR_CATEGORY_NAME, VR_META, getVRCategory, isBinaryVR, isNumericVR, isStringVR, lookupTag, lookupTagByKeyword, lookupTagByName, segmentsToModifyPath, segmentsToString, sopClassNameFromUID, tagPathToSegments } from './dicom.js';
|
package/dist/index.js
CHANGED
|
@@ -36659,14 +36659,32 @@ var DicomReceiver = class _DicomReceiver extends EventEmitter {
|
|
|
36659
36659
|
return this.on(event, listener);
|
|
36660
36660
|
}
|
|
36661
36661
|
/**
|
|
36662
|
-
* Registers a listener for received
|
|
36662
|
+
* Registers a listener for files received by dcmrecv (before move/parse).
|
|
36663
36663
|
*
|
|
36664
|
-
* @param listener - Callback receiving file data
|
|
36664
|
+
* @param listener - Callback receiving raw file data
|
|
36665
36665
|
* @returns this for chaining
|
|
36666
36666
|
*/
|
|
36667
36667
|
onFileReceived(listener) {
|
|
36668
36668
|
return this.on("FILE_RECEIVED", listener);
|
|
36669
36669
|
}
|
|
36670
|
+
/**
|
|
36671
|
+
* Registers a listener for files stored in the association directory.
|
|
36672
|
+
*
|
|
36673
|
+
* @param listener - Callback receiving stored file data with size
|
|
36674
|
+
* @returns this for chaining
|
|
36675
|
+
*/
|
|
36676
|
+
onFileStored(listener) {
|
|
36677
|
+
return this.on("FILE_STORED", listener);
|
|
36678
|
+
}
|
|
36679
|
+
/**
|
|
36680
|
+
* Registers a listener for parsed DicomInstance availability.
|
|
36681
|
+
*
|
|
36682
|
+
* @param listener - Callback receiving instance data
|
|
36683
|
+
* @returns this for chaining
|
|
36684
|
+
*/
|
|
36685
|
+
onInstanceReceived(listener) {
|
|
36686
|
+
return this.on("INSTANCE_RECEIVED", listener);
|
|
36687
|
+
}
|
|
36670
36688
|
/**
|
|
36671
36689
|
* Registers a listener for completed associations.
|
|
36672
36690
|
*
|
|
@@ -36960,11 +36978,18 @@ var DicomReceiver = class _DicomReceiver extends EventEmitter {
|
|
|
36960
36978
|
});
|
|
36961
36979
|
return;
|
|
36962
36980
|
}
|
|
36981
|
+
this.emit("FILE_RECEIVED", {
|
|
36982
|
+
filePath: data.filePath,
|
|
36983
|
+
associationId: ctx.associationId,
|
|
36984
|
+
callingAE: data.callingAE,
|
|
36985
|
+
calledAE: data.calledAE,
|
|
36986
|
+
source: data.source
|
|
36987
|
+
});
|
|
36963
36988
|
const promise = this.handleFileReceived(worker, data, ctx);
|
|
36964
36989
|
worker.trackFile(promise);
|
|
36965
36990
|
});
|
|
36966
36991
|
}
|
|
36967
|
-
/** Moves
|
|
36992
|
+
/** Moves file to association dir, emits FILE_STORED, then parses instance. */
|
|
36968
36993
|
async handleFileReceived(worker, data, ctx) {
|
|
36969
36994
|
try {
|
|
36970
36995
|
await this.moveAndEmitFile(worker, data, ctx);
|
|
@@ -36981,7 +37006,7 @@ var DicomReceiver = class _DicomReceiver extends EventEmitter {
|
|
|
36981
37006
|
});
|
|
36982
37007
|
}
|
|
36983
37008
|
}
|
|
36984
|
-
/** Inner handler: move file, parse DICOM, emit
|
|
37009
|
+
/** Inner handler: move file, emit FILE_STORED, parse DICOM, emit INSTANCE_RECEIVED. */
|
|
36985
37010
|
async moveAndEmitFile(worker, data, ctx) {
|
|
36986
37011
|
const srcPath = data.filePath;
|
|
36987
37012
|
const destPath = path.join(ctx.associationDir, path.basename(srcPath));
|
|
@@ -36989,28 +37014,42 @@ var DicomReceiver = class _DicomReceiver extends EventEmitter {
|
|
|
36989
37014
|
const finalPath = moveResult.ok ? destPath : srcPath;
|
|
36990
37015
|
const fileSize = await statFileSafe(finalPath);
|
|
36991
37016
|
worker.recordFile(finalPath, fileSize);
|
|
36992
|
-
|
|
36993
|
-
if (!openResult.ok) {
|
|
36994
|
-
this.emit("error", {
|
|
36995
|
-
error: openResult.error,
|
|
36996
|
-
filePath: finalPath,
|
|
36997
|
-
associationId: ctx.associationId,
|
|
36998
|
-
associationDir: ctx.associationDir,
|
|
36999
|
-
callingAE: data.callingAE,
|
|
37000
|
-
calledAE: data.calledAE,
|
|
37001
|
-
source: data.source
|
|
37002
|
-
});
|
|
37003
|
-
return;
|
|
37004
|
-
}
|
|
37005
|
-
this.emit("FILE_RECEIVED", {
|
|
37017
|
+
this.emit("FILE_STORED", {
|
|
37006
37018
|
filePath: finalPath,
|
|
37007
37019
|
fileSize,
|
|
37008
37020
|
associationId: ctx.associationId,
|
|
37009
37021
|
associationDir: ctx.associationDir,
|
|
37010
37022
|
callingAE: data.callingAE,
|
|
37011
37023
|
calledAE: data.calledAE,
|
|
37012
|
-
source: data.source
|
|
37013
|
-
|
|
37024
|
+
source: data.source
|
|
37025
|
+
});
|
|
37026
|
+
this.emitInstanceReceived(finalPath, fileSize, data, ctx);
|
|
37027
|
+
}
|
|
37028
|
+
/** Parses a DICOM file and emits INSTANCE_RECEIVED or error. */
|
|
37029
|
+
emitInstanceReceived(filePath, fileSize, data, ctx) {
|
|
37030
|
+
void DicomInstance.open(filePath).then((openResult) => {
|
|
37031
|
+
if (!openResult.ok) {
|
|
37032
|
+
this.emit("error", {
|
|
37033
|
+
error: openResult.error,
|
|
37034
|
+
filePath,
|
|
37035
|
+
associationId: ctx.associationId,
|
|
37036
|
+
associationDir: ctx.associationDir,
|
|
37037
|
+
callingAE: data.callingAE,
|
|
37038
|
+
calledAE: data.calledAE,
|
|
37039
|
+
source: data.source
|
|
37040
|
+
});
|
|
37041
|
+
return;
|
|
37042
|
+
}
|
|
37043
|
+
this.emit("INSTANCE_RECEIVED", {
|
|
37044
|
+
filePath,
|
|
37045
|
+
fileSize,
|
|
37046
|
+
associationId: ctx.associationId,
|
|
37047
|
+
associationDir: ctx.associationDir,
|
|
37048
|
+
callingAE: data.callingAE,
|
|
37049
|
+
calledAE: data.calledAE,
|
|
37050
|
+
source: data.source,
|
|
37051
|
+
instance: openResult.value
|
|
37052
|
+
});
|
|
37014
37053
|
});
|
|
37015
37054
|
}
|
|
37016
37055
|
/** Returns worker to idle pool on association complete, emits summary. */
|