node-hp-scan-to 1.8.0 → 1.9.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.
Files changed (131) hide show
  1. package/README.md +272 -51
  2. package/dist/HPApi.d.ts +13 -3
  3. package/dist/HPApi.js +106 -28
  4. package/dist/HPApi.js.map +1 -1
  5. package/dist/PathHelper.d.ts +7 -4
  6. package/dist/PathHelper.js +108 -31
  7. package/dist/PathHelper.js.map +1 -1
  8. package/dist/commands/adfAutoscanCmd.js +2 -2
  9. package/dist/commands/adfAutoscanCmd.js.map +1 -1
  10. package/dist/commands/listenCmd.d.ts +3 -0
  11. package/dist/commands/listenCmd.js +75 -42
  12. package/dist/commands/listenCmd.js.map +1 -1
  13. package/dist/commands/singleScanCmd.js +1 -1
  14. package/dist/commands/singleScanCmd.js.map +1 -1
  15. package/dist/commitInfo.json +1 -1
  16. package/dist/healthcheck.d.ts +2 -1
  17. package/dist/healthcheck.js +1 -0
  18. package/dist/healthcheck.js.map +1 -1
  19. package/dist/hpModels/AdfState.d.ts +4 -0
  20. package/dist/hpModels/AdfState.js +9 -0
  21. package/dist/hpModels/AdfState.js.map +1 -0
  22. package/dist/hpModels/Destination.js +2 -36
  23. package/dist/hpModels/Destination.js.map +1 -1
  24. package/dist/hpModels/EnumUtils.d.ts +3 -0
  25. package/dist/hpModels/EnumUtils.js +13 -0
  26. package/dist/hpModels/EnumUtils.js.map +1 -0
  27. package/dist/hpModels/EsclManifest.d.ts +45 -0
  28. package/dist/hpModels/EsclManifest.js +43 -0
  29. package/dist/hpModels/EsclManifest.js.map +1 -0
  30. package/dist/hpModels/EsclScanCaps.d.ts +37 -0
  31. package/dist/hpModels/EsclScanCaps.js +83 -0
  32. package/dist/hpModels/EsclScanCaps.js.map +1 -0
  33. package/dist/hpModels/EsclScanImageInfo.d.ts +17 -0
  34. package/dist/hpModels/EsclScanImageInfo.js +26 -0
  35. package/dist/hpModels/EsclScanImageInfo.js.map +1 -0
  36. package/dist/hpModels/EsclScanJobSettings.d.ts +16 -0
  37. package/dist/hpModels/EsclScanJobSettings.js +95 -0
  38. package/dist/hpModels/EsclScanJobSettings.js.map +1 -0
  39. package/dist/hpModels/EsclScanStatus.d.ts +75 -0
  40. package/dist/hpModels/EsclScanStatus.js +98 -0
  41. package/dist/hpModels/EsclScanStatus.js.map +1 -0
  42. package/dist/hpModels/EventTable.js +2 -5
  43. package/dist/hpModels/EventTable.js.map +1 -1
  44. package/dist/hpModels/IScanJobSettings.d.ts +5 -0
  45. package/dist/hpModels/IScanJobSettings.js +3 -0
  46. package/dist/hpModels/IScanJobSettings.js.map +1 -0
  47. package/dist/hpModels/IScanStatus.d.ts +9 -0
  48. package/dist/hpModels/IScanStatus.js +3 -0
  49. package/dist/hpModels/IScanStatus.js.map +1 -0
  50. package/dist/hpModels/Job.d.ts +11 -2
  51. package/dist/hpModels/Job.js +18 -7
  52. package/dist/hpModels/Job.js.map +1 -1
  53. package/dist/hpModels/ParseXmlString.d.ts +1 -0
  54. package/dist/hpModels/ParseXmlString.js +17 -0
  55. package/dist/hpModels/ParseXmlString.js.map +1 -0
  56. package/dist/hpModels/ScanCaps.d.ts +1 -0
  57. package/dist/hpModels/ScanCaps.js +5 -5
  58. package/dist/hpModels/ScanCaps.js.map +1 -1
  59. package/dist/hpModels/ScanJobManifest.d.ts +1 -0
  60. package/dist/hpModels/ScanJobManifest.js +9 -5
  61. package/dist/hpModels/ScanJobManifest.js.map +1 -1
  62. package/dist/hpModels/ScanJobSettings.d.ts +7 -2
  63. package/dist/hpModels/ScanJobSettings.js +19 -3
  64. package/dist/hpModels/ScanJobSettings.js.map +1 -1
  65. package/dist/hpModels/ScanPlexMode.d.ts +4 -0
  66. package/dist/hpModels/ScanPlexMode.js +9 -0
  67. package/dist/hpModels/ScanPlexMode.js.map +1 -0
  68. package/dist/hpModels/ScanStatus.d.ts +6 -3
  69. package/dist/hpModels/ScanStatus.js +9 -10
  70. package/dist/hpModels/ScanStatus.js.map +1 -1
  71. package/dist/hpModels/ScannerState.d.ts +4 -0
  72. package/dist/hpModels/ScannerState.js +9 -0
  73. package/dist/hpModels/ScannerState.js.map +1 -0
  74. package/dist/hpModels/WalkupScanDestination.d.ts +2 -1
  75. package/dist/hpModels/WalkupScanDestination.js +5 -6
  76. package/dist/hpModels/WalkupScanDestination.js.map +1 -1
  77. package/dist/hpModels/WalkupScanDestinations.js +2 -5
  78. package/dist/hpModels/WalkupScanDestinations.js.map +1 -1
  79. package/dist/hpModels/WalkupScanManifest.js +2 -5
  80. package/dist/hpModels/WalkupScanManifest.js.map +1 -1
  81. package/dist/hpModels/WalkupScanToCompCaps.js +2 -5
  82. package/dist/hpModels/WalkupScanToCompCaps.js.map +1 -1
  83. package/dist/hpModels/WalkupScanToCompDestination.d.ts +2 -1
  84. package/dist/hpModels/WalkupScanToCompDestination.js +5 -6
  85. package/dist/hpModels/WalkupScanToCompDestination.js.map +1 -1
  86. package/dist/hpModels/WalkupScanToCompDestinations.js +2 -5
  87. package/dist/hpModels/WalkupScanToCompDestinations.js.map +1 -1
  88. package/dist/hpModels/WalkupScanToCompEvent.d.ts +7 -1
  89. package/dist/hpModels/WalkupScanToCompEvent.js +13 -6
  90. package/dist/hpModels/WalkupScanToCompEvent.js.map +1 -1
  91. package/dist/hpModels/WalkupScanToCompManifest.js +2 -5
  92. package/dist/hpModels/WalkupScanToCompManifest.js.map +1 -1
  93. package/dist/index.js +13 -300
  94. package/dist/index.js.map +1 -1
  95. package/dist/listening.js +8 -6
  96. package/dist/listening.js.map +1 -1
  97. package/dist/pdfProcessing.js +1 -1
  98. package/dist/pdfProcessing.js.map +1 -1
  99. package/dist/postProcessing.js +9 -3
  100. package/dist/postProcessing.js.map +1 -1
  101. package/dist/program.d.ts +10 -0
  102. package/dist/program.js +346 -0
  103. package/dist/program.js.map +1 -0
  104. package/dist/readDeviceCapabilities.d.ts +1 -1
  105. package/dist/readDeviceCapabilities.js +56 -4
  106. package/dist/readDeviceCapabilities.js.map +1 -1
  107. package/dist/scanJobHandlers.d.ts +4 -3
  108. package/dist/scanJobHandlers.js +139 -48
  109. package/dist/scanJobHandlers.js.map +1 -1
  110. package/dist/scanProcessing.d.ts +10 -5
  111. package/dist/scanProcessing.js +19 -16
  112. package/dist/scanProcessing.js.map +1 -1
  113. package/dist/type/DeviceCapabilities.d.ts +8 -0
  114. package/dist/type/DiscoveryTree.d.ts +2 -0
  115. package/dist/type/DiscoveryTree.js +12 -20
  116. package/dist/type/DiscoveryTree.js.map +1 -1
  117. package/dist/type/DuplexAssemblyMode.d.ts +33 -0
  118. package/dist/type/DuplexAssemblyMode.js +38 -0
  119. package/dist/type/DuplexAssemblyMode.js.map +1 -0
  120. package/dist/type/FileConfig.d.ts +47 -0
  121. package/dist/type/FileConfig.js +88 -0
  122. package/dist/type/FileConfig.js.map +1 -0
  123. package/dist/type/helpGroupsHeadings.d.ts +10 -0
  124. package/dist/type/helpGroupsHeadings.js +15 -0
  125. package/dist/type/helpGroupsHeadings.js.map +1 -0
  126. package/dist/type/scanConfigs.d.ts +3 -0
  127. package/dist/type/scanMode.d.ts +4 -0
  128. package/dist/type/scanMode.js +9 -0
  129. package/dist/type/scanMode.js.map +1 -0
  130. package/dist/type/scanTargetDefinitions.d.ts +2 -0
  131. package/package.json +35 -28
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.listenCmd = listenCmd;
7
+ exports.assembleDuplexScan = assembleDuplexScan;
7
8
  const HPApi_1 = __importDefault(require("../HPApi"));
8
9
  const readDeviceCapabilities_1 = require("../readDeviceCapabilities");
9
10
  const listening_1 = require("../listening");
@@ -14,6 +15,8 @@ const delay_1 = require("../delay");
14
15
  const duplexMode_1 = require("../type/duplexMode");
15
16
  const targetDuplexMode_1 = require("../type/targetDuplexMode");
16
17
  const pageCountingStrategy_1 = require("../type/pageCountingStrategy");
18
+ const ScanPlexMode_1 = require("../hpModels/ScanPlexMode");
19
+ const DuplexAssemblyMode_1 = require("../type/DuplexAssemblyMode");
17
20
  let iteration = 0;
18
21
  async function listenCmd(registrationConfigs, scanConfig, deviceUpPollingInterval) {
19
22
  // first make sure the device is reachable
@@ -21,7 +24,7 @@ async function listenCmd(registrationConfigs, scanConfig, deviceUpPollingInterva
21
24
  let deviceUp = true;
22
25
  const folder = await PathHelper_1.default.getTargetFolder(scanConfig.directoryConfig.directory);
23
26
  const tempFolder = await PathHelper_1.default.getTempFolder(scanConfig.directoryConfig.tempDirectory);
24
- const deviceCapabilities = await (0, readDeviceCapabilities_1.readDeviceCapabilities)();
27
+ const deviceCapabilities = await (0, readDeviceCapabilities_1.readDeviceCapabilities)(scanConfig.preferEscl);
25
28
  let scanCount = 0;
26
29
  let keepActive = true;
27
30
  let errorCount = 0;
@@ -38,31 +41,18 @@ async function listenCmd(registrationConfigs, scanConfig, deviceUpPollingInterva
38
41
  proceedToScan = await (0, listening_1.waitScanRequest)(selectedScanTarget.event.compEventURI);
39
42
  }
40
43
  let destination = null;
41
- if (!proceedToScan) {
42
- console.log("Device state doesn't match expectations - Unable to proceed with scan, skipping.");
43
- }
44
- else {
44
+ if (proceedToScan) {
45
45
  destination = await (0, scanProcessing_1.tryGetDestination)(selectedScanTarget.event);
46
- if (!destination) {
47
- console.log("No shortcut selected - Impossible to proceed with scan, skipping.");
48
- }
49
46
  }
50
- if (destination) {
51
- console.log("Selected shortcut: " + destination.shortcut);
52
- const { duplexMode, targetDuplexMode } = determineDuplexModes(destination, selectedScanTarget, lastDuplexMode, lastScanTarget);
53
- if (lastScanTarget != null &&
54
- frontOfDoubleSidedScanContext != null &&
55
- selectedScanTarget.isDuplexSingleSide &&
56
- duplexMode !== duplexMode_1.DuplexMode.BackOfDoubleSided) {
57
- await processFinishedPartialDuplexScan(lastScanTarget, selectedScanTarget, scanCount, frontOfDoubleSidedScanContext);
58
- }
59
- const { pageCountingStrategy, scanToPdf, scanDate, scanCount: newScanCount, } = await setupScanParameters(duplexMode, targetDuplexMode, destination, scanCount, folder, scanConfig);
60
- scanCount = newScanCount;
61
- const scanJobContent = await (0, scanProcessing_1.saveScanFromEvent)(selectedScanTarget, folder, tempFolder, scanCount, deviceCapabilities, scanConfig, targetDuplexMode == targetDuplexMode_1.TargetDuplexMode.Duplex, scanToPdf, pageCountingStrategy);
62
- frontOfDoubleSidedScanContext = await handleScanResult(duplexMode, frontOfDoubleSidedScanContext, scanConfig, folder, tempFolder, scanCount, scanJobContent, scanDate, scanToPdf);
63
- lastScanTarget = selectedScanTarget;
64
- lastDuplexMode = duplexMode;
47
+ if (!destination) {
48
+ console.log("No shortcut selected - Impossible to proceed with scan, skipping.");
49
+ continue;
65
50
  }
51
+ const r = await processScanWithDestination(destination, selectedScanTarget, lastDuplexMode, lastScanTarget, folder, tempFolder, scanConfig, deviceCapabilities, scanCount, frontOfDoubleSidedScanContext);
52
+ scanCount = r.scanCount;
53
+ frontOfDoubleSidedScanContext = r.frontOfDoubleSidedScanContext;
54
+ lastScanTarget = selectedScanTarget;
55
+ lastDuplexMode = r.duplexMode;
66
56
  }
67
57
  catch (e) {
68
58
  if (await HPApi_1.default.isAlive()) {
@@ -87,7 +77,24 @@ async function listenCmd(registrationConfigs, scanConfig, deviceUpPollingInterva
87
77
  }
88
78
  }
89
79
  }
90
- async function handleScanResult(duplexMode, frontOfDoubleSidedScanContext, scanConfig, folder, tempFolder, scanCount, scanJobContent, scanDate, scanToPdf) {
80
+ async function processScanWithDestination(destination, selectedScanTarget, lastDuplexMode, lastScanTarget, folder, tempFolder, scanConfig, deviceCapabilities, scanCount, frontOfDoubleSidedScanContext) {
81
+ console.log("Selected shortcut: " + destination.shortcut);
82
+ const { duplexMode, targetDuplexMode } = determineDuplexModes(destination, selectedScanTarget, lastDuplexMode, lastScanTarget);
83
+ if (lastScanTarget != null &&
84
+ frontOfDoubleSidedScanContext != null &&
85
+ lastScanTarget.isDuplexSingleSide &&
86
+ lastDuplexMode == duplexMode_1.DuplexMode.FrontOfDoubleSided &&
87
+ (duplexMode == duplexMode_1.DuplexMode.Simplex || duplexMode == duplexMode_1.DuplexMode.Duplex)) {
88
+ await processFinishedPartialDuplexScan(lastScanTarget, selectedScanTarget, scanCount, frontOfDoubleSidedScanContext);
89
+ }
90
+ const scanParameters = await setupScanParameters(duplexMode, targetDuplexMode, destination, scanCount, folder, scanConfig, frontOfDoubleSidedScanContext);
91
+ const { pageCountingStrategy, scanToPdf, scanDate, scanCount: newScanCount, } = scanParameters;
92
+ scanCount = newScanCount;
93
+ const scanJobContent = await (0, scanProcessing_1.saveScanFromEvent)(selectedScanTarget, folder, tempFolder, scanCount, deviceCapabilities, scanConfig, targetDuplexMode == targetDuplexMode_1.TargetDuplexMode.Duplex, scanToPdf, pageCountingStrategy);
94
+ frontOfDoubleSidedScanContext = await handleScanResult(duplexMode, frontOfDoubleSidedScanContext, scanConfig, folder, tempFolder, scanCount, scanJobContent, scanDate, scanToPdf, selectedScanTarget.duplexAssemblyMode ?? DuplexAssemblyMode_1.DuplexAssemblyMode.DOCUMENT_WISE);
95
+ return { scanCount, frontOfDoubleSidedScanContext, duplexMode };
96
+ }
97
+ async function handleScanResult(duplexMode, frontOfDoubleSidedScanContext, scanConfig, folder, tempFolder, scanCount, scanJobContent, scanDate, scanToPdf, duplexAssemblyMode) {
91
98
  if (duplexMode == duplexMode_1.DuplexMode.FrontOfDoubleSided) {
92
99
  frontOfDoubleSidedScanContext = {
93
100
  scanConfig,
@@ -96,13 +103,17 @@ async function handleScanResult(duplexMode, frontOfDoubleSidedScanContext, scanC
96
103
  scanCount,
97
104
  scanJobContent,
98
105
  scanDate,
99
- scanToPdf
106
+ scanToPdf,
100
107
  };
101
108
  }
102
109
  else {
103
110
  let finalScanJobContent;
104
111
  if (duplexMode == duplexMode_1.DuplexMode.BackOfDoubleSided) {
105
- finalScanJobContent = assembleDuplexScan(frontOfDoubleSidedScanContext, scanJobContent);
112
+ console.log("Emulated duplex scan completed; front and back pages are being assembled");
113
+ const frontScans = frontOfDoubleSidedScanContext?.scanJobContent ?? {
114
+ elements: [],
115
+ };
116
+ finalScanJobContent = assembleDuplexScan(frontScans, scanJobContent, duplexAssemblyMode);
106
117
  }
107
118
  else {
108
119
  finalScanJobContent = scanJobContent;
@@ -112,7 +123,8 @@ async function handleScanResult(duplexMode, frontOfDoubleSidedScanContext, scanC
112
123
  return frontOfDoubleSidedScanContext;
113
124
  }
114
125
  function determineDuplexModes(destination, selectedScanTarget, previousDuplexMode, lastScanTarget) {
115
- const isDuplex = destination.scanPlexMode != null && destination.scanPlexMode != "Simplex";
126
+ const isDuplex = destination.scanPlexMode != null &&
127
+ destination.scanPlexMode != ScanPlexMode_1.ScanPlexMode.Simplex;
116
128
  let duplexMode;
117
129
  let targetDuplexMode;
118
130
  if (isDuplex) {
@@ -136,24 +148,45 @@ function determineDuplexModes(destination, selectedScanTarget, previousDuplexMod
136
148
  }
137
149
  return { duplexMode, targetDuplexMode };
138
150
  }
139
- function assembleEmulatedDoubleSideScan(previousScanContent, scanJobContent) {
140
- const frontContent = previousScanContent.elements;
141
- const backContent = scanJobContent.elements;
142
- const duplexScanJobContent = { elements: [] };
143
- for (let i = 0; i < Math.max(frontContent.length, backContent.length); i++) {
151
+ function assembleDuplexScan(frontScan, backScan, mode) {
152
+ let frontContent = frontScan.elements;
153
+ let backContent = backScan.elements;
154
+ // Apply inversions based on the selected mode
155
+ switch (mode) {
156
+ case DuplexAssemblyMode_1.DuplexAssemblyMode.PAGE_WISE:
157
+ // Fronts and backs are in natural order; no changes needed
158
+ break;
159
+ case DuplexAssemblyMode_1.DuplexAssemblyMode.DOCUMENT_WISE:
160
+ // Backs are reversed because the stack was flipped
161
+ backContent = [...backContent].reverse();
162
+ break;
163
+ case DuplexAssemblyMode_1.DuplexAssemblyMode.REVERSE_FRONT:
164
+ // Fronts are reversed (e.g., stack inserted backwards)
165
+ frontContent = [...frontContent].reverse();
166
+ break;
167
+ case DuplexAssemblyMode_1.DuplexAssemblyMode.REVERSE_BOTH:
168
+ // Both fronts and backs are reversed
169
+ frontContent = [...frontContent].reverse();
170
+ backContent = [...backContent].reverse();
171
+ break;
172
+ }
173
+ const duplexScan = { elements: [] };
174
+ const maxLength = Math.max(frontContent.length, backContent.length);
175
+ // Interleave pages, tolerating missing last back page gracefully
176
+ for (let i = 0; i < maxLength; i++) {
144
177
  if (i < frontContent.length) {
145
- duplexScanJobContent.elements.push(frontContent[i]);
178
+ duplexScan.elements.push(frontContent[i]);
146
179
  }
147
180
  if (i < backContent.length) {
148
- duplexScanJobContent.elements.push(backContent[i]);
181
+ duplexScan.elements.push(backContent[i]);
149
182
  }
150
183
  }
151
- return duplexScanJobContent;
184
+ return duplexScan;
152
185
  }
153
- async function setupScanParameters(duplexMode, targetDuplexMode, destination, scanCount, folder, scanConfig) {
186
+ async function setupScanParameters(duplexMode, targetDuplexMode, destination, scanCount, folder, scanConfig, frontOfDoubleSidedScanContext = null) {
154
187
  let pageCountingStrategy;
155
- let scanToPdf = false;
156
- let scanDate = new Date();
188
+ let scanToPdf;
189
+ let scanDate;
157
190
  if (duplexMode == duplexMode_1.DuplexMode.Duplex) {
158
191
  console.log(`Destination ScanPlexMode is : ${targetDuplexMode}`);
159
192
  pageCountingStrategy = pageCountingStrategy_1.PageCountingStrategy.Normal;
@@ -174,6 +207,10 @@ async function setupScanParameters(duplexMode, targetDuplexMode, destination, sc
174
207
  else {
175
208
  console.log(`Destination ScanPlexMode is : ${targetDuplexMode}`);
176
209
  pageCountingStrategy = pageCountingStrategy_1.PageCountingStrategy.EvenOnly;
210
+ scanToPdf =
211
+ frontOfDoubleSidedScanContext?.scanToPdf ?? (0, scanProcessing_1.isPdf)(destination);
212
+ scanDate = frontOfDoubleSidedScanContext?.scanDate ?? new Date();
213
+ scanCount = frontOfDoubleSidedScanContext?.scanCount ?? scanCount;
177
214
  console.log(`Scan event captured, saving back sides of scan #${scanCount}`);
178
215
  }
179
216
  }
@@ -191,8 +228,4 @@ async function processFinishedPartialDuplexScan(lastScanTarget, selectedScanTarg
191
228
  console.log(`Scan target changed from ${lastScanTarget.label} to ${selectedScanTarget.label}, saving scan #${scanCount} before processing`);
192
229
  await (0, postProcessing_1.postProcessing)(frontOfDoubleSidedScanContext.scanConfig, frontOfDoubleSidedScanContext.folder, frontOfDoubleSidedScanContext.tempFolder, frontOfDoubleSidedScanContext.scanCount, frontOfDoubleSidedScanContext.scanJobContent, frontOfDoubleSidedScanContext.scanDate, frontOfDoubleSidedScanContext.scanToPdf);
193
230
  }
194
- function assembleDuplexScan(frontOfDoubleSidedScanContext, scanJobContent) {
195
- console.log("Emulated duplex scan completed; front and back pages are being assembled");
196
- return assembleEmulatedDoubleSideScan(frontOfDoubleSidedScanContext?.scanJobContent ?? { elements: [] }, scanJobContent);
197
- }
198
231
  //# sourceMappingURL=listenCmd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"listenCmd.js","sourceRoot":"","sources":["../../src/commands/listenCmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listenCmd.js","sourceRoot":"","sources":["../../src/commands/listenCmd.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ async function singleScanCmd(singleScanConfig, deviceUpPollingInterval) {
13
13
  await HPApi_1.default.waitDeviceUp(deviceUpPollingInterval);
14
14
  const folder = await PathHelper_1.default.getTargetFolder(singleScanConfig.directoryConfig.directory);
15
15
  const tempFolder = await PathHelper_1.default.getTempFolder(singleScanConfig.directoryConfig.tempDirectory);
16
- const deviceCapabilities = await (0, readDeviceCapabilities_1.readDeviceCapabilities)();
16
+ const deviceCapabilities = await (0, readDeviceCapabilities_1.readDeviceCapabilities)(singleScanConfig.preferEscl);
17
17
  try {
18
18
  await (0, scanProcessing_1.singleScan)(0, folder, tempFolder, singleScanConfig, deviceCapabilities, new Date());
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"singleScanCmd.js","sourceRoot":"","sources":["../../src/commands/singleScanCmd.ts"],"names":[],"mappings":";;;;;AAMA,sCA6BC;AAnCD,qDAA6B;AAC7B,sEAAmE;AACnE,sDAA+C;AAE/C,+DAAuC;AAEhC,KAAK,UAAU,aAAa,CACjC,gBAAkC,EAClC,uBAA+B;IAE/B,0CAA0C;IAC1C,MAAM,eAAK,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,MAAM,oBAAU,CAAC,eAAe,CAC7C,gBAAgB,CAAC,eAAe,CAAC,SAAS,CAC3C,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,oBAAU,CAAC,aAAa,CAC/C,gBAAgB,CAAC,eAAe,CAAC,aAAa,CAC/C,CAAC;IAEF,MAAM,kBAAkB,GAAG,MAAM,IAAA,+CAAsB,GAAE,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,IAAA,2BAAU,EACd,CAAC,EACD,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,IAAI,IAAI,EAAE,CACX,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"singleScanCmd.js","sourceRoot":"","sources":["../../src/commands/singleScanCmd.ts"],"names":[],"mappings":";;;;;AAMA,sCA+BC;AArCD,qDAA6B;AAC7B,sEAAmE;AACnE,sDAA+C;AAE/C,+DAAuC;AAEhC,KAAK,UAAU,aAAa,CACjC,gBAAkC,EAClC,uBAA+B;IAE/B,0CAA0C;IAC1C,MAAM,eAAK,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,MAAM,oBAAU,CAAC,eAAe,CAC7C,gBAAgB,CAAC,eAAe,CAAC,SAAS,CAC3C,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,oBAAU,CAAC,aAAa,CAC/C,gBAAgB,CAAC,eAAe,CAAC,aAAa,CAC/C,CAAC;IAEF,MAAM,kBAAkB,GAAG,MAAM,IAAA,+CAAsB,EACrD,gBAAgB,CAAC,UAAU,CAC5B,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,IAAA,2BAAU,EACd,CAAC,EACD,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,IAAI,IAAI,EAAE,CACX,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACH,CAAC"}
@@ -1,3 +1,3 @@
1
1
  {
2
- "commitId": "1c4ef6f4f400c8ea501eaded52e9758e1d2c3d69"
2
+ "commitId": "039654f0aa1d7126e4f2fc064c677576a2d4e500"
3
3
  }
@@ -1 +1,2 @@
1
- export declare function startHealthCheckServer(PORT: number): void;
1
+ import { Server as NetServer } from "net";
2
+ export declare function startHealthCheckServer(PORT: number): NetServer;
@@ -19,5 +19,6 @@ function startHealthCheckServer(PORT) {
19
19
  server.listen(PORT, () => {
20
20
  console.log(`Health endpoint exposed on port ${PORT} on path: /health`);
21
21
  });
22
+ return server;
22
23
  }
23
24
  //# sourceMappingURL=healthcheck.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"healthcheck.js","sourceRoot":"","sources":["../src/healthcheck.ts"],"names":[],"mappings":";;;;;AAEA,wDAcC;AAhBD,gDAAwB;AAExB,SAAgB,sBAAsB,CAAC,IAAY;IACjD,MAAM,MAAM,GAAG,cAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAClD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;YACrD,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACvB,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,mBAAmB,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"healthcheck.js","sourceRoot":"","sources":["../src/healthcheck.ts"],"names":[],"mappings":";;;;;AAGA,wDAeC;AAlBD,gDAAwB;AAGxB,SAAgB,sBAAsB,CAAC,IAAY;IACjD,MAAM,MAAM,GAAG,cAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAClD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;YACrD,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACvB,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,mBAAmB,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare enum AdfState {
2
+ Empty = "Empty",
3
+ Loaded = "Loaded"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdfState = void 0;
4
+ var AdfState;
5
+ (function (AdfState) {
6
+ AdfState["Empty"] = "Empty";
7
+ AdfState["Loaded"] = "Loaded";
8
+ })(AdfState || (exports.AdfState = AdfState = {}));
9
+ //# sourceMappingURL=AdfState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdfState.js","sourceRoot":"","sources":["../../src/hpModels/AdfState.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,6BAAiB,CAAA;AACnB,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB"}
@@ -1,41 +1,7 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  const xml2js_1 = require("xml2js");
37
- const util = __importStar(require("util"));
38
- const parser = new xml2js_1.Parser();
4
+ const ParseXmlString_1 = require("./ParseXmlString");
39
5
  class Destination {
40
6
  constructor(name, hostname, toComp) {
41
7
  this.name = name;
@@ -60,7 +26,7 @@ class Destination {
60
26
  '\t<Name xmlns="http://www.hp.com/schemas/imaging/con/dictionaries/1.0/"></Name>\n' +
61
27
  "\t<LinkType>Network</LinkType>\n" +
62
28
  "</WalkupScanDestination>";
63
- const parsed = await util.promisify(parser.parseString)(rawDestination);
29
+ const parsed = await (0, ParseXmlString_1.parseXmlString)(rawDestination);
64
30
  parsed.WalkupScanDestination.Hostname[0]._ = this.hostname;
65
31
  parsed.WalkupScanDestination.Name[0]._ = this.name;
66
32
  parsed.WalkupScanDestination.LinkType[0] = this.linkType;
@@ -1 +1 @@
1
- {"version":3,"file":"Destination.js","sourceRoot":"","sources":["../../src/hpModels/Destination.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEb,mCAAyC;AACzC,2CAA6B;AAE7B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;AAU5B,MAAqB,WAAW;IAM9B,YAAY,IAAY,EAAE,QAAgB,EAAE,MAAe;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,cAAc,GAAW,0CAA0C,CAAC;QACxE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,cAAc;gBACZ,wJAAwJ;oBACxJ,yGAAyG,CAAC;QAC9G,CAAC;aAAM,CAAC;YACN,cAAc;gBACZ,0JAA0J;oBAC1J,qHAAqH,CAAC;QAC1H,CAAC;QAED,cAAc;YACZ,iGAAiG;gBACjG,mFAAmF;gBACnF,kCAAkC;gBAClC,0BAA0B,CAAC;QAE7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CACjC,MAAM,CAAC,WAAW,CACnB,CAAC,cAAc,CAAC,CAAC;QAElB,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3D,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACnD,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEzD,MAAM,OAAO,GAAG,IAAI,gBAAO,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;CACF;AA/CD,8BA+CC"}
1
+ {"version":3,"file":"Destination.js","sourceRoot":"","sources":["../../src/hpModels/Destination.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,mCAAiC;AACjC,qDAAkD;AAUlD,MAAqB,WAAW;IAM9B,YAAY,IAAY,EAAE,QAAgB,EAAE,MAAe;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,cAAc,GAAW,0CAA0C,CAAC;QACxE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,cAAc;gBACZ,wJAAwJ;oBACxJ,yGAAyG,CAAC;QAC9G,CAAC;aAAM,CAAC;YACN,cAAc;gBACZ,0JAA0J;oBAC1J,qHAAqH,CAAC;QAC1H,CAAC;QAED,cAAc;YACZ,iGAAiG;gBACjG,mFAAmF;gBACnF,kCAAkC;gBAClC,0BAA0B,CAAC;QAE7B,MAAM,MAAM,GACV,MAAM,IAAA,+BAAc,EAA4B,cAAc,CAAC,CAAC;QAElE,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3D,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACnD,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEzD,MAAM,OAAO,GAAG,IAAI,gBAAO,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;CACF;AA9CD,8BA8CC"}
@@ -0,0 +1,3 @@
1
+ export declare class EnumUtils {
2
+ static getState<T>(stateType: string, stateEnum: T, stateStr: string): T[keyof T];
3
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnumUtils = void 0;
4
+ class EnumUtils {
5
+ static getState(stateType, stateEnum, stateStr) {
6
+ if (!Object.values(stateEnum).includes(stateStr)) {
7
+ console.error(`"${stateStr}" is not a known ${stateType} value, you would be kind as a reader of this message to fill an issue to help at better state handling.`);
8
+ }
9
+ return stateStr;
10
+ }
11
+ }
12
+ exports.EnumUtils = EnumUtils;
13
+ //# sourceMappingURL=EnumUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnumUtils.js","sourceRoot":"","sources":["../../src/hpModels/EnumUtils.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CACb,SAAiB,EACjB,SAAY,EACZ,QAAgB;QAEhB,IACE,CAAC,MAAM,CAAC,MAAM,CAAC,SAA8B,CAAC,CAAC,QAAQ,CAAC,QAAa,CAAC,EACtE,CAAC;YACD,OAAO,CAAC,KAAK,CACX,IAAI,QAAQ,oBAAoB,SAAS,0GAA0G,CACpJ,CAAC;QACJ,CAAC;QAED,OAAO,QAAsB,CAAC;IAChC,CAAC;CACF;AAhBD,8BAgBC"}
@@ -0,0 +1,45 @@
1
+ export interface EsclScanJobManifestData {
2
+ "man:Manifest": {
3
+ "map:ResourceMap": {
4
+ "map:ResourceLink": {
5
+ "dd:ResourceURI": string[];
6
+ }[];
7
+ "map:ResourceNode": {
8
+ "map:ResourceLink": {
9
+ "dd:ResourceURI": string[];
10
+ }[];
11
+ "map:ResourceType": {
12
+ "scan:ScanResourceType": string[];
13
+ }[];
14
+ "map:ResourceMap": {
15
+ "map:ResourceNode": {
16
+ "map:ResourceLink": {
17
+ "dd:ResourceURI": string[];
18
+ }[];
19
+ "map:ResourceType": {
20
+ "scan:ScanResourceType": string[];
21
+ }[];
22
+ "map:ResourceMap": {
23
+ "map:ResourceLink": {
24
+ "dd:ResourceURI": string[];
25
+ }[];
26
+ "map:ResourceType": {
27
+ "scan:ScanResourceType": string[];
28
+ }[];
29
+ }[];
30
+ }[];
31
+ }[];
32
+ }[];
33
+ }[];
34
+ };
35
+ }
36
+ export default class EsclScanJobManifest {
37
+ private readonly data;
38
+ constructor(data: EsclScanJobManifestData);
39
+ static createScanJobManifest(content: string): Promise<EsclScanJobManifest>;
40
+ private getResourceURI;
41
+ get scanCapsURI(): string | null;
42
+ get scanJobsURI(): string | null;
43
+ get scanJobURI(): string | null;
44
+ private getScanJobsNode;
45
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ParseXmlString_1 = require("./ParseXmlString");
4
+ class EsclScanJobManifest {
5
+ constructor(data) {
6
+ this.data = data;
7
+ }
8
+ static async createScanJobManifest(content) {
9
+ const parsed = await (0, ParseXmlString_1.parseXmlString)(content);
10
+ return new EsclScanJobManifest(parsed);
11
+ }
12
+ getResourceURI(resourceType) {
13
+ const resourceNode = this.data["man:Manifest"]["map:ResourceMap"]["0"]["map:ResourceNode"].find((x) => x["map:ResourceType"][0]["scan:ScanResourceType"][0] === resourceType);
14
+ if (resourceNode === undefined) {
15
+ return null;
16
+ }
17
+ return (this.data["man:Manifest"]["map:ResourceMap"]["0"]["map:ResourceLink"][0]["dd:ResourceURI"][0] + resourceNode["map:ResourceLink"][0]["dd:ResourceURI"][0]);
18
+ }
19
+ get scanCapsURI() {
20
+ return this.getResourceURI("ScannerCapabilities");
21
+ }
22
+ get scanJobsURI() {
23
+ return this.getResourceURI("ScanJobs");
24
+ }
25
+ get scanJobURI() {
26
+ const scanJobsNode = this.getScanJobsNode();
27
+ if (scanJobsNode === undefined) {
28
+ return null;
29
+ }
30
+ const scanJob = scanJobsNode["map:ResourceMap"]["0"]["map:ResourceNode"].find((x) => x["map:ResourceType"][0]["scan:ScanResourceType"][0] === "ScanJob");
31
+ if (scanJob === undefined) {
32
+ return null;
33
+ }
34
+ return (this.data["man:Manifest"]["map:ResourceMap"]["0"]["map:ResourceLink"][0]["dd:ResourceURI"][0] +
35
+ scanJobsNode["map:ResourceLink"][0]["dd:ResourceURI"][0] +
36
+ scanJob["map:ResourceLink"][0]["dd:ResourceURI"][0]);
37
+ }
38
+ getScanJobsNode() {
39
+ return this.data["man:Manifest"]["map:ResourceMap"]["0"]["map:ResourceNode"].find((x) => x["map:ResourceType"][0]["scan:ScanResourceType"][0] === "ScanJobs");
40
+ }
41
+ }
42
+ exports.default = EsclScanJobManifest;
43
+ //# sourceMappingURL=EsclManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EsclManifest.js","sourceRoot":"","sources":["../../src/hpModels/EsclManifest.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,qDAAkD;AAsClD,MAAqB,mBAAmB;IAGtC,YAAY,IAA6B;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAChC,OAAe;QAEf,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAc,EAA0B,OAAO,CAAC,CAAC;QACtE,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAEO,cAAc,CAAC,YAAoB;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CACpE,kBAAkB,CACnB,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CACxE,CAAC;QAEF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CACtE,gBAAgB,CACjB,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAChE,CAAC;IACJ,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,UAAU;QACZ,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAE5C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAClD,kBAAkB,CACnB,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAC1E,CAAC;QAEF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CACtE,gBAAgB,CACjB,CAAC,CAAC,CAAC;YACJ,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CACpD,CAAC;IACJ,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CACtD,kBAAkB,CACnB,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CACtE,CAAC;IACJ,CAAC;CACF;AAzED,sCAyEC"}
@@ -0,0 +1,37 @@
1
+ export interface EsclScanCapsData {
2
+ "scan:ScannerCapabilities": {
3
+ "scan:Platen": {
4
+ "scan:PlatenInputCaps": {
5
+ "scan:MaxWidth": string[];
6
+ "scan:MaxHeight": string[];
7
+ }[];
8
+ }[];
9
+ "scan:Adf": {
10
+ "scan:AdfSimplexInputCaps": {
11
+ "scan:MaxWidth": string[];
12
+ "scan:MaxHeight": string[];
13
+ }[];
14
+ "scan:AdfDuplexInputCaps": {
15
+ "scan:MaxWidth": string[];
16
+ "scan:MaxHeight": string[];
17
+ }[];
18
+ "scan:AdfOptions": {
19
+ "scan:AdfOption": string[];
20
+ }[];
21
+ }[];
22
+ };
23
+ }
24
+ export default class EsclScanCaps {
25
+ private readonly data;
26
+ constructor(data: EsclScanCapsData);
27
+ static createScanCaps(content: string): Promise<EsclScanCaps>;
28
+ get platenMaxWidth(): number | null;
29
+ get platenMaxHeight(): number | null;
30
+ get adfMaxWidth(): number | null;
31
+ get adfMaxHeight(): number | null;
32
+ get adfDuplexMaxWidth(): number | null;
33
+ get adfDuplexMaxHeight(): number | null;
34
+ get hasAdfDetectPaperLoaded(): boolean;
35
+ get hasAdfDuplex(): boolean;
36
+ get isEscl(): boolean;
37
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ParseXmlString_1 = require("./ParseXmlString");
4
+ class EsclScanCaps {
5
+ constructor(data) {
6
+ this.data = data;
7
+ }
8
+ static async createScanCaps(content) {
9
+ const parsed = await (0, ParseXmlString_1.parseXmlString)(content);
10
+ return new EsclScanCaps(parsed);
11
+ }
12
+ get platenMaxWidth() {
13
+ if (Object.prototype.hasOwnProperty.call(this.data["scan:ScannerCapabilities"], "scan:Platen")) {
14
+ return Number.parseInt(this.data["scan:ScannerCapabilities"]["scan:Platen"][0]["scan:PlatenInputCaps"][0]["scan:MaxWidth"][0], 10);
15
+ }
16
+ else {
17
+ return null;
18
+ }
19
+ }
20
+ get platenMaxHeight() {
21
+ if (Object.prototype.hasOwnProperty.call(this.data["scan:ScannerCapabilities"], "scan:Platen")) {
22
+ return Number.parseInt(this.data["scan:ScannerCapabilities"]["scan:Platen"][0]["scan:PlatenInputCaps"][0]["scan:MaxHeight"][0], 10);
23
+ }
24
+ else {
25
+ return null;
26
+ }
27
+ }
28
+ get adfMaxWidth() {
29
+ if (Object.prototype.hasOwnProperty.call(this.data["scan:ScannerCapabilities"], "scan:Adf")) {
30
+ return Number.parseInt(this.data["scan:ScannerCapabilities"]["scan:Adf"][0]["scan:AdfSimplexInputCaps"][0]["scan:MaxWidth"][0], 10);
31
+ }
32
+ else {
33
+ return null;
34
+ }
35
+ }
36
+ get adfMaxHeight() {
37
+ if (Object.prototype.hasOwnProperty.call(this.data["scan:ScannerCapabilities"], "scan:Adf")) {
38
+ return Number.parseInt(this.data["scan:ScannerCapabilities"]["scan:Adf"][0]["scan:AdfSimplexInputCaps"][0]["scan:MaxHeight"][0], 10);
39
+ }
40
+ else {
41
+ return null;
42
+ }
43
+ }
44
+ get adfDuplexMaxWidth() {
45
+ if (Object.prototype.hasOwnProperty.call(this.data["scan:ScannerCapabilities"], "scan:Adf") &&
46
+ Object.prototype.hasOwnProperty.call(this.data["scan:ScannerCapabilities"]["scan:Adf"][0], "scan:AdfDuplexInputCaps")) {
47
+ return Number.parseInt(this.data["scan:ScannerCapabilities"]["scan:Adf"][0]["scan:AdfDuplexInputCaps"][0]["scan:MaxWidth"][0], 10);
48
+ }
49
+ else {
50
+ return this.adfMaxWidth;
51
+ }
52
+ }
53
+ get adfDuplexMaxHeight() {
54
+ if (Object.prototype.hasOwnProperty.call(this.data["scan:ScannerCapabilities"], "scan:Adf") &&
55
+ Object.prototype.hasOwnProperty.call(this.data["scan:ScannerCapabilities"]["scan:Adf"][0], "scan:AdfDuplexInputCaps")) {
56
+ return Number.parseInt(this.data["scan:ScannerCapabilities"]["scan:Adf"][0]["scan:AdfDuplexInputCaps"][0]["scan:MaxHeight"][0], 10);
57
+ }
58
+ else {
59
+ return this.adfMaxHeight;
60
+ }
61
+ }
62
+ get hasAdfDetectPaperLoaded() {
63
+ if (Object.prototype.hasOwnProperty.call(this.data["scan:ScannerCapabilities"], "scan:Adf") &&
64
+ Object.prototype.hasOwnProperty.call(this.data["scan:ScannerCapabilities"]["scan:Adf"][0], "scan:AdfOptions")) {
65
+ const options = this.data["scan:ScannerCapabilities"]["scan:Adf"][0]["scan:AdfOptions"][0]["scan:AdfOption"];
66
+ return options.includes("DetectPaperLoaded");
67
+ }
68
+ return false;
69
+ }
70
+ get hasAdfDuplex() {
71
+ if (Object.prototype.hasOwnProperty.call(this.data["scan:ScannerCapabilities"], "scan:Adf") &&
72
+ Object.prototype.hasOwnProperty.call(this.data["scan:ScannerCapabilities"]["scan:Adf"][0], "scan:AdfOptions")) {
73
+ const options = this.data["scan:ScannerCapabilities"]["scan:Adf"][0]["scan:AdfOptions"][0]["scan:AdfOption"];
74
+ return options.includes("Duplex");
75
+ }
76
+ return false;
77
+ }
78
+ get isEscl() {
79
+ return true;
80
+ }
81
+ }
82
+ exports.default = EsclScanCaps;
83
+ //# sourceMappingURL=EsclScanCaps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EsclScanCaps.js","sourceRoot":"","sources":["../../src/hpModels/EsclScanCaps.ts"],"names":[],"mappings":"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"}