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
@@ -7,35 +7,39 @@ exports.executeScanJob = executeScanJob;
7
7
  exports.executeScanJobs = executeScanJobs;
8
8
  const HPApi_1 = __importDefault(require("./HPApi"));
9
9
  const listening_1 = require("./listening");
10
+ const Job_1 = require("./hpModels/Job");
10
11
  const delay_1 = require("./delay");
11
12
  const PathHelper_1 = __importDefault(require("./PathHelper"));
12
13
  const InputSource_1 = require("./type/InputSource");
13
14
  const promises_1 = __importDefault(require("fs/promises"));
14
15
  const JpegUtil_1 = __importDefault(require("./JpegUtil"));
15
16
  const pageCountingStrategy_1 = require("./type/pageCountingStrategy");
17
+ const WalkupScanToCompEvent_1 = require("./hpModels/WalkupScanToCompEvent");
18
+ const EsclScanStatus_1 = require("./hpModels/EsclScanStatus");
16
19
  async function waitDeviceUntilItIsReadyToUploadOrCompleted(jobUrl) {
17
20
  let job = null;
18
21
  let isReadyToUpload = false;
19
22
  do {
20
23
  job = await HPApi_1.default.getJob(jobUrl);
21
- if (job.jobState === "Canceled") {
24
+ const jobStateStr = job.jobState.toString();
25
+ if (job.jobState === Job_1.JobState.Canceled) {
22
26
  return job;
23
27
  }
24
- else if (job.pageState === "ReadyToUpload" ||
25
- job.jobState === "Completed") {
28
+ else if (job.pageState === Job_1.PageState.ReadyToUpload ||
29
+ job.jobState === Job_1.JobState.Completed) {
26
30
  isReadyToUpload = true;
27
31
  }
28
- else if (job.jobState == "Processing") {
32
+ else if (job.jobState == Job_1.JobState.Processing) {
29
33
  isReadyToUpload = false;
30
34
  }
31
35
  else {
32
- console.log(`Unknown jobState: ${job.jobState}`);
36
+ console.log(`Unknown jobState: ${jobStateStr}`);
33
37
  }
34
38
  await (0, delay_1.delay)(300);
35
39
  } while (!isReadyToUpload);
36
40
  return job;
37
41
  }
38
- async function scanProcessing(filePath) {
42
+ async function fixJpegHeight(filePath) {
39
43
  const buffer = await promises_1.default.readFile(filePath);
40
44
  const height = JpegUtil_1.default.fixSizeWithDNL(buffer);
41
45
  if (height != null) {
@@ -57,21 +61,15 @@ function createScanPage(job, currentPageNumber, filePath, sizeFixed) {
57
61
  };
58
62
  }
59
63
  async function handleScanProcessingState(job, inputSource, folder, scanCount, currentPageNumber, filePattern, date) {
60
- if (job.pageState == "ReadyToUpload" &&
64
+ if (job.pageState == Job_1.PageState.ReadyToUpload &&
61
65
  job.binaryURL != null &&
62
66
  job.currentPageNumber != null) {
63
67
  console.log(`Ready to download page job page ${job.currentPageNumber} at:`, job.binaryURL);
64
- const destinationFilePath = PathHelper_1.default.getFileForPage(folder, scanCount, currentPageNumber, filePattern, "jpg", date);
68
+ const destinationFilePath = await PathHelper_1.default.getFileForPage(folder, scanCount, currentPageNumber, filePattern, "jpg", date);
65
69
  const filePath = await HPApi_1.default.downloadPage(job.binaryURL, destinationFilePath);
66
70
  console.log("Page downloaded to:", filePath);
67
- let sizeFixed = null;
68
- if (inputSource == InputSource_1.InputSource.Adf) {
69
- sizeFixed = await scanProcessing(filePath);
70
- if (sizeFixed == null) {
71
- console.log(`File size has not been fixed, DNF may not have been found and approximate height is: ${job.imageHeight}`);
72
- }
73
- }
74
- return createScanPage(job, currentPageNumber, filePath, sizeFixed);
71
+ const adfHeight = await getAndFixHeightWHenAdf(inputSource, filePath, job.imageHeight);
72
+ return createScanPage(job, currentPageNumber, filePath, adfHeight);
75
73
  }
76
74
  else {
77
75
  console.log(`Unknown pageState: ${job.pageState}`);
@@ -79,81 +77,174 @@ async function handleScanProcessingState(job, inputSource, folder, scanCount, cu
79
77
  return null;
80
78
  }
81
79
  }
82
- async function executeScanJob(scanJobSettings, inputSource, folder, scanCount, scanJobContent, filePattern, pageCountingStrategy) {
83
- const jobUrl = await HPApi_1.default.postJob(scanJobSettings);
84
- console.log(`Creating job with settings: ${JSON.stringify(scanJobSettings)}`);
85
- console.log("New job created:", jobUrl);
80
+ function getPageNumber(pageCountingStrategy, scanJobContent) {
81
+ if (pageCountingStrategy === pageCountingStrategy_1.PageCountingStrategy.Normal) {
82
+ return scanJobContent.elements.length + 1;
83
+ }
84
+ else if (pageCountingStrategy === pageCountingStrategy_1.PageCountingStrategy.OddOnly) {
85
+ return scanJobContent.elements.length * 2 + 1;
86
+ }
87
+ else if (pageCountingStrategy === pageCountingStrategy_1.PageCountingStrategy.EvenOnly) {
88
+ return (scanJobContent.elements.length + 1) * 2;
89
+ }
90
+ else {
91
+ throw new Error(`Unknown page counting strategy: ` + JSON.stringify(pageCountingStrategy));
92
+ }
93
+ }
94
+ async function hpScanJobHandling(jobUrl, pageCountingStrategy, scanJobContent, inputSource, folder, scanCount, filePattern) {
86
95
  let job = await HPApi_1.default.getJob(jobUrl);
87
- while (job.jobState !== "Completed") {
96
+ while (job.jobState !== Job_1.JobState.Completed) {
88
97
  job = await waitDeviceUntilItIsReadyToUploadOrCompleted(jobUrl);
89
- if (job.jobState == "Completed") {
98
+ if (job.jobState == Job_1.JobState.Completed) {
90
99
  continue;
91
100
  }
92
- if (job.jobState === "Processing") {
93
- let pageNumber;
94
- if (pageCountingStrategy === pageCountingStrategy_1.PageCountingStrategy.Normal) {
95
- pageNumber = scanJobContent.elements.length + 1;
96
- }
97
- else if (pageCountingStrategy === pageCountingStrategy_1.PageCountingStrategy.OddOnly) {
98
- pageNumber = scanJobContent.elements.length * 2 + 1;
99
- }
100
- else if (pageCountingStrategy === pageCountingStrategy_1.PageCountingStrategy.EvenOnly) {
101
- pageNumber = (scanJobContent.elements.length + 1) * 2;
102
- }
103
- else {
104
- throw new Error(`Unknown page counting strategy: ${pageCountingStrategy}`);
105
- }
101
+ const jobStateStr = job.jobState.toString();
102
+ if (job.jobState === Job_1.JobState.Processing) {
103
+ const pageNumber = getPageNumber(pageCountingStrategy, scanJobContent);
106
104
  const page = await handleScanProcessingState(job, inputSource, folder, scanCount, pageNumber, filePattern, new Date());
107
105
  job = await HPApi_1.default.getJob(jobUrl);
108
- if (page != null && job.jobState != "Canceled") {
106
+ if (page != null && job.jobState != Job_1.JobState.Canceled) {
109
107
  scanJobContent.elements.push(page);
110
108
  }
111
109
  }
112
- else if (job.jobState === "Canceled") {
110
+ else if (job.jobState === Job_1.JobState.Canceled) {
113
111
  console.log("Job cancelled by device");
114
112
  break;
115
113
  }
116
114
  else {
117
- console.log(`Unhandled jobState: ${job.jobState}`);
115
+ console.log(`Unhandled jobState: ${jobStateStr}`);
118
116
  await (0, delay_1.delay)(200);
119
117
  }
120
118
  }
121
119
  console.log(`Job state: ${job.jobState}, totalPages: ${scanJobContent.elements.length}:`);
122
120
  return job.jobState;
123
121
  }
122
+ function logJobInfo(jobUrl, scanImageInfo, jobInfo) {
123
+ if (jobUrl.indexOf(scanImageInfo.jobURI) == -1) {
124
+ // for an unknown reason this happens on an HP Smart Tank Plus 570!
125
+ console.log(`Incoherent state !!!! Job URI has changed: ${jobUrl} -> ${scanImageInfo.jobURI} -- crazy!`);
126
+ }
127
+ console.log("From scanImageInfo:");
128
+ console.log(`\tJob Uri: ${scanImageInfo?.jobURI ?? null}`);
129
+ console.log(`\tJob Uuid: ${scanImageInfo?.jobUuid ?? null}`);
130
+ console.log("From jobInfo:");
131
+ console.log(`\tJob Uri: ${jobInfo?.getJobUri() ?? null}`);
132
+ console.log(`\tJob Uuid: ${jobInfo?.getJobUuid() ?? null}`);
133
+ console.log(`\tJob state reason: ${jobInfo?.getJobStateReason() ?? null}`);
134
+ console.log(`\tJob state: ${jobInfo?.getJobState() ?? null}`);
135
+ }
136
+ function mapToJobState(jobStateReason) {
137
+ if (jobStateReason === EsclScanStatus_1.JobStateReason.JobCanceledByUser) {
138
+ return Job_1.JobState.Canceled;
139
+ }
140
+ if (jobStateReason === EsclScanStatus_1.JobStateReason.JobCompletedSuccessfully) {
141
+ return Job_1.JobState.Completed;
142
+ }
143
+ console.log(`Unknown job state reason: ${jobStateReason}, job will be cancelled`);
144
+ return Job_1.JobState.Canceled;
145
+ }
146
+ async function getAndFixHeightWHenAdf(inputSource, filePath, actualHeight) {
147
+ let sizeFixed = null;
148
+ if (inputSource == InputSource_1.InputSource.Adf) {
149
+ sizeFixed = await fixJpegHeight(filePath);
150
+ if (sizeFixed == null) {
151
+ console.log(`Image height has not been fixed, DNF may not have been found and approximate height is: ${actualHeight}`);
152
+ }
153
+ else {
154
+ if (HPApi_1.default.isDebug()) {
155
+ console.log(`Image height has been fixed to: ${sizeFixed} (contained in jpeg's DNL), scan job indicates: ${actualHeight}`);
156
+ }
157
+ }
158
+ }
159
+ return sizeFixed;
160
+ }
161
+ async function eSCLScanJobHandling(jobUrl, scanJobSettings, pageCountingStrategy, scanJobContent, inputSource, folder, scanCount, filePattern) {
162
+ let jobStateReason = null;
163
+ let jobInfo = undefined;
164
+ do {
165
+ await (0, delay_1.delay)(1000);
166
+ const pageNumber = getPageNumber(pageCountingStrategy, scanJobContent);
167
+ const destinationFilePath = await PathHelper_1.default.getFileForPage(folder, scanCount, pageNumber, filePattern, "jpg", new Date());
168
+ const jobLocation = PathHelper_1.default.getPathFromHttpLocation(jobUrl);
169
+ const filePath = await HPApi_1.default.downloadEsclPage(jobUrl, destinationFilePath);
170
+ const scanImageInfo = await HPApi_1.default.getEsclScanImageInfo(jobLocation);
171
+ console.log("scanImageInfo:", scanImageInfo.jobURI);
172
+ const actualHeight = scanImageInfo.actualHeight;
173
+ const adfHeight = await getAndFixHeightWHenAdf(inputSource, filePath, actualHeight);
174
+ const scannerStatus = await HPApi_1.default.getEsclScanStatus();
175
+ console.log("Page downloaded to:", filePath);
176
+ const page = {
177
+ path: filePath,
178
+ pageNumber,
179
+ width: scanImageInfo.actualWidth,
180
+ height: adfHeight ?? scanImageInfo.actualHeight,
181
+ xResolution: scanJobSettings.xResolution,
182
+ yResolution: scanJobSettings.yResolution,
183
+ };
184
+ scanJobContent.elements.push(page);
185
+ jobInfo = scannerStatus.findJobByUri(jobLocation);
186
+ if (HPApi_1.default.isDebug()) {
187
+ logJobInfo(jobUrl, scanImageInfo, jobInfo);
188
+ }
189
+ jobStateReason = jobInfo?.getJobStateReason() ?? null;
190
+ } while (jobStateReason !== null &&
191
+ jobStateReason !== EsclScanStatus_1.JobStateReason.JobCompletedSuccessfully &&
192
+ jobStateReason != EsclScanStatus_1.JobStateReason.JobCanceledByUser);
193
+ if (jobStateReason == null) {
194
+ console.log("Job state reason is null, it means that the current " +
195
+ "job was not found in the device's status, this is probably a bug " +
196
+ "in the device, the current scan will be marked as cancelled");
197
+ return Job_1.JobState.Canceled;
198
+ }
199
+ return mapToJobState(jobStateReason);
200
+ }
201
+ async function executeScanJob(scanJobSettings, inputSource, folder, scanCount, scanJobContent, filePattern, pageCountingStrategy, deviceCapabilities) {
202
+ const jobUrl = await deviceCapabilities.submitScanJob(scanJobSettings);
203
+ console.log(`Creating job with settings: ${JSON.stringify(scanJobSettings)}`);
204
+ console.log("New job created:", jobUrl);
205
+ let jobState;
206
+ if (deviceCapabilities.isEscl) {
207
+ jobState = await eSCLScanJobHandling(jobUrl, scanJobSettings, pageCountingStrategy, scanJobContent, inputSource, folder, scanCount, filePattern);
208
+ }
209
+ else {
210
+ jobState = await hpScanJobHandling(jobUrl, pageCountingStrategy, scanJobContent, inputSource, folder, scanCount, filePattern);
211
+ }
212
+ return jobState;
213
+ }
124
214
  async function waitScanNewPageRequest(compEventURI) {
125
215
  let startNewScanJob = false;
126
216
  let wait = true;
127
217
  while (wait) {
128
218
  await new Promise((resolve) => setTimeout(resolve, 1000)); //wait 1s
129
219
  const walkupScanToCompEvent = await HPApi_1.default.getWalkupScanToCompEvent(compEventURI);
130
- const message = walkupScanToCompEvent.eventType;
131
- if (message === "ScanNewPageRequested") {
220
+ const eventType = walkupScanToCompEvent.eventType;
221
+ const eventTypeStr = eventType.toString();
222
+ if (eventType === WalkupScanToCompEvent_1.EventType.ScanNewPageRequested) {
132
223
  startNewScanJob = true;
133
224
  wait = false;
134
225
  }
135
- else if (message === "ScanPagesComplete") {
226
+ else if (eventType === WalkupScanToCompEvent_1.EventType.ScanPagesComplete) {
136
227
  wait = false;
137
228
  }
138
- else if (message === "ScanRequested") {
229
+ else if (eventType === WalkupScanToCompEvent_1.EventType.ScanRequested) {
139
230
  // continue waiting
140
231
  }
141
232
  else {
142
233
  wait = false;
143
- console.log(`Unknown eventType: ${message}`);
234
+ console.log(`Unknown eventType: ${eventTypeStr}`);
144
235
  }
145
236
  }
146
237
  return startNewScanJob;
147
238
  }
148
239
  async function executeScanJobs(scanJobSettings, inputSource, folder, scanCount, scanJobContent, selectedScanTarget, deviceCapabilities, filePattern, pageCountingStrategy) {
149
- let jobState = await executeScanJob(scanJobSettings, inputSource, folder, scanCount, scanJobContent, filePattern, pageCountingStrategy);
240
+ let jobState = await executeScanJob(scanJobSettings, inputSource, folder, scanCount, scanJobContent, filePattern, pageCountingStrategy, deviceCapabilities);
150
241
  const scanTarget = {
151
242
  resourceURI: selectedScanTarget.resourceURI,
152
243
  label: selectedScanTarget.label,
153
244
  isDuplexSingleSide: selectedScanTarget.isDuplexSingleSide,
154
245
  };
155
246
  let lastEvent = selectedScanTarget.event;
156
- if (jobState === "Completed" &&
247
+ if (jobState === Job_1.JobState.Completed &&
157
248
  lastEvent.compEventURI &&
158
249
  inputSource !== InputSource_1.InputSource.Adf &&
159
250
  lastEvent.destinationURI &&
@@ -164,8 +255,8 @@ async function executeScanJobs(scanJobSettings, inputSource, folder, scanCount,
164
255
  }
165
256
  let startNewScanJob = await waitScanNewPageRequest(lastEvent.compEventURI);
166
257
  while (startNewScanJob) {
167
- jobState = await executeScanJob(scanJobSettings, inputSource, folder, scanCount, scanJobContent, filePattern, pageCountingStrategy);
168
- if (jobState !== "Completed") {
258
+ jobState = await executeScanJob(scanJobSettings, inputSource, folder, scanCount, scanJobContent, filePattern, pageCountingStrategy, deviceCapabilities);
259
+ if (jobState !== Job_1.JobState.Completed) {
169
260
  return;
170
261
  }
171
262
  if (!lastEvent.destinationURI) {
@@ -1 +1 @@
1
- {"version":3,"file":"scanJobHandlers.js","sourceRoot":"","sources":["../src/scanJobHandlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanJobHandlers.js","sourceRoot":"","sources":["../src/scanJobHandlers.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,22 @@
1
1
  import Event from "./hpModels/Event";
2
- import WalkupScanDestination from "./hpModels/WalkupScanDestination";
3
- import WalkupScanToCompDestination from "./hpModels/WalkupScanToCompDestination";
4
2
  import { DeviceCapabilities } from "./type/DeviceCapabilities";
5
3
  import { ScanContent } from "./type/ScanContent";
6
4
  import { InputSource } from "./type/InputSource";
7
5
  import { SelectedScanTarget } from "./type/scanTargetDefinitions";
6
+ import { KnownShortcut } from "./type/KnownShortcut";
8
7
  import { AdfAutoScanConfig, ScanConfig, SingleScanConfig } from "./type/scanConfigs";
9
8
  import { PageCountingStrategy } from "./type/pageCountingStrategy";
10
- export declare function tryGetDestination(event: Event): Promise<WalkupScanDestination | WalkupScanToCompDestination | null>;
11
- export declare function isPdf(destination: WalkupScanDestination | WalkupScanToCompDestination): boolean;
9
+ import { IScanStatus } from "./hpModels/IScanStatus";
10
+ import { ScanPlexMode } from "./hpModels/ScanPlexMode";
11
+ export interface WalkupDestination {
12
+ get shortcut(): null | KnownShortcut;
13
+ get scanPlexMode(): ScanPlexMode | null;
14
+ }
15
+ export declare function tryGetDestination(event: Event): Promise<WalkupDestination | null>;
16
+ export declare function isPdf(destination: WalkupDestination): boolean;
12
17
  export declare function getScanWidth(scanConfig: ScanConfig, inputSource: InputSource, deviceCapabilities: DeviceCapabilities, isDuplex: boolean): number | null;
13
18
  export declare function getScanHeight(scanConfig: ScanConfig, inputSource: InputSource, deviceCapabilities: DeviceCapabilities, isDuplex: boolean): number | null;
14
19
  export declare function saveScanFromEvent(selectedScanTarget: SelectedScanTarget, folder: string, tempFolder: string, scanCount: number, deviceCapabilities: DeviceCapabilities, scanConfig: ScanConfig, isDuplex: boolean, isPdf: boolean, pageCountingStrategy: PageCountingStrategy): Promise<ScanContent>;
15
20
  export declare function scanFromAdf(scanCount: number, folder: string, tempFolder: string, adfAutoScanConfig: AdfAutoScanConfig, deviceCapabilities: DeviceCapabilities, date: Date): Promise<void>;
16
21
  export declare function singleScan(scanCount: number, folder: string, tempFolder: string, scanConfig: SingleScanConfig, deviceCapabilities: DeviceCapabilities, date: Date): Promise<void>;
17
- export declare function waitAdfLoaded(pollingInterval: number, startScanDelay: number): Promise<void>;
22
+ export declare function waitAdfLoaded(pollingInterval: number, startScanDelay: number, getScanStatus: () => Promise<IScanStatus>): Promise<void>;
@@ -12,15 +12,15 @@ exports.scanFromAdf = scanFromAdf;
12
12
  exports.singleScan = singleScan;
13
13
  exports.waitAdfLoaded = waitAdfLoaded;
14
14
  const HPApi_1 = __importDefault(require("./HPApi"));
15
- const ScanJobSettings_1 = __importDefault(require("./hpModels/ScanJobSettings"));
16
15
  const delay_1 = require("./delay");
17
16
  const InputSource_1 = require("./type/InputSource");
18
17
  const postProcessing_1 = require("./postProcessing");
19
18
  const scanJobHandlers_1 = require("./scanJobHandlers");
20
19
  const KnownShortcut_1 = require("./type/KnownShortcut");
21
20
  const pageCountingStrategy_1 = require("./type/pageCountingStrategy");
21
+ const ScannerState_1 = require("./hpModels/ScannerState");
22
22
  async function tryGetDestination(event) {
23
- // this code can in some cases be executed before the user actually chooses between Document or Photo
23
+ // this code can in some cases be executed before the user actually chooses between Document or Photo,
24
24
  // so, let's fetch the contentType (Document or Photo) until we get a value
25
25
  let destination = null;
26
26
  for (let i = 0; i < 20; i++) {
@@ -96,26 +96,29 @@ function getScanHeight(scanConfig, inputSource, deviceCapabilities, isDuplex) {
96
96
  async function saveScanFromEvent(selectedScanTarget, folder, tempFolder, scanCount, deviceCapabilities, scanConfig, isDuplex, isPdf, pageCountingStrategy) {
97
97
  let destinationFolder;
98
98
  let contentType;
99
+ let filePattern;
99
100
  if (isPdf) {
100
101
  contentType = "Document";
101
102
  destinationFolder = tempFolder;
103
+ filePattern = undefined;
102
104
  console.log(`Scan will be converted to pdf, using ${destinationFolder} as temp scan output directory for individual pages`);
103
105
  }
104
106
  else {
105
107
  contentType = "Photo";
106
108
  destinationFolder = folder;
109
+ filePattern = scanConfig.directoryConfig.filePattern;
107
110
  }
108
- const scanStatus = await HPApi_1.default.getScanStatus();
109
- if (scanStatus.scannerState !== "Idle") {
111
+ const scanStatus = await deviceCapabilities.getScanStatus();
112
+ if (scanStatus.scannerState !== ScannerState_1.ScannerState.Idle) {
110
113
  console.log("Scanner state is not Idle, aborting scan attempt...!");
111
114
  }
112
115
  console.log("Afd is : " + scanStatus.adfState);
113
116
  const inputSource = scanStatus.getInputSource();
114
117
  const scanWidth = getScanWidth(scanConfig, inputSource, deviceCapabilities, isDuplex);
115
118
  const scanHeight = getScanHeight(scanConfig, inputSource, deviceCapabilities, isDuplex);
116
- const scanJobSettings = new ScanJobSettings_1.default(inputSource, contentType, scanConfig.resolution, scanWidth, scanHeight, isDuplex);
119
+ const scanJobSettings = deviceCapabilities.createScanJobSettings(inputSource, contentType, scanConfig.resolution, scanConfig.mode, scanWidth, scanHeight, isDuplex);
117
120
  const scanJobContent = { elements: [] };
118
- await (0, scanJobHandlers_1.executeScanJobs)(scanJobSettings, inputSource, destinationFolder, scanCount, scanJobContent, selectedScanTarget, deviceCapabilities, scanConfig.directoryConfig.filePattern, pageCountingStrategy);
121
+ await (0, scanJobHandlers_1.executeScanJobs)(scanJobSettings, inputSource, destinationFolder, scanCount, scanJobContent, selectedScanTarget, deviceCapabilities, filePattern, pageCountingStrategy);
119
122
  console.log(`Scan of page(s) completed totalPages: ${scanJobContent.elements.length}:`);
120
123
  return scanJobContent;
121
124
  }
@@ -133,9 +136,9 @@ async function scanFromAdf(scanCount, folder, tempFolder, adfAutoScanConfig, dev
133
136
  }
134
137
  const scanWidth = getScanWidth(adfAutoScanConfig, InputSource_1.InputSource.Adf, deviceCapabilities, adfAutoScanConfig.isDuplex);
135
138
  const scanHeight = getScanHeight(adfAutoScanConfig, InputSource_1.InputSource.Adf, deviceCapabilities, adfAutoScanConfig.isDuplex);
136
- const scanJobSettings = new ScanJobSettings_1.default(InputSource_1.InputSource.Adf, contentType, adfAutoScanConfig.resolution, scanWidth, scanHeight, adfAutoScanConfig.isDuplex);
139
+ const scanJobSettings = deviceCapabilities.createScanJobSettings(InputSource_1.InputSource.Adf, contentType, adfAutoScanConfig.resolution, adfAutoScanConfig.mode, scanWidth, scanHeight, adfAutoScanConfig.isDuplex);
137
140
  const scanJobContent = { elements: [] };
138
- await (0, scanJobHandlers_1.executeScanJob)(scanJobSettings, InputSource_1.InputSource.Adf, destinationFolder, scanCount, scanJobContent, adfAutoScanConfig.directoryConfig.filePattern, pageCountingStrategy_1.PageCountingStrategy.Normal);
141
+ await (0, scanJobHandlers_1.executeScanJob)(scanJobSettings, InputSource_1.InputSource.Adf, destinationFolder, scanCount, scanJobContent, adfAutoScanConfig.directoryConfig.filePattern, pageCountingStrategy_1.PageCountingStrategy.Normal, deviceCapabilities);
139
142
  console.log(`Scan of page(s) completed, total pages: ${scanJobContent.elements.length}:`);
140
143
  await (0, postProcessing_1.postProcessing)(adfAutoScanConfig, folder, tempFolder, scanCount, scanJobContent, date, adfAutoScanConfig.generatePdf);
141
144
  }
@@ -151,27 +154,27 @@ async function singleScan(scanCount, folder, tempFolder, scanConfig, deviceCapab
151
154
  contentType = "Photo";
152
155
  destinationFolder = folder;
153
156
  }
154
- const scanStatus = await HPApi_1.default.getScanStatus();
155
- if (scanStatus.scannerState !== "Idle") {
157
+ const scanStatus = await deviceCapabilities.getScanStatus();
158
+ if (scanStatus.scannerState !== ScannerState_1.ScannerState.Idle) {
156
159
  console.log("Scanner state is not Idle, aborting scan attempt...!");
157
160
  }
158
161
  console.log("Afd is : " + scanStatus.adfState);
159
162
  const inputSource = scanStatus.getInputSource();
160
163
  const scanWidth = getScanWidth(scanConfig, inputSource, deviceCapabilities, scanConfig.isDuplex);
161
164
  const scanHeight = getScanHeight(scanConfig, inputSource, deviceCapabilities, scanConfig.isDuplex);
162
- const scanJobSettings = new ScanJobSettings_1.default(inputSource, contentType, scanConfig.resolution, scanWidth, scanHeight, scanConfig.isDuplex);
165
+ const scanJobSettings = deviceCapabilities.createScanJobSettings(inputSource, contentType, scanConfig.resolution, scanConfig.mode, scanWidth, scanHeight, scanConfig.isDuplex);
163
166
  const scanJobContent = { elements: [] };
164
- await (0, scanJobHandlers_1.executeScanJob)(scanJobSettings, inputSource, destinationFolder, scanCount, scanJobContent, scanConfig.directoryConfig.filePattern, pageCountingStrategy_1.PageCountingStrategy.Normal);
167
+ await (0, scanJobHandlers_1.executeScanJob)(scanJobSettings, inputSource, destinationFolder, scanCount, scanJobContent, scanConfig.directoryConfig.filePattern, pageCountingStrategy_1.PageCountingStrategy.Normal, deviceCapabilities);
165
168
  console.log(`Scan of page(s) completed, total pages: ${scanJobContent.elements.length}:`);
166
169
  await (0, postProcessing_1.postProcessing)(scanConfig, folder, tempFolder, scanCount, scanJobContent, date, scanConfig.generatePdf);
167
170
  }
168
- async function waitAdfLoaded(pollingInterval, startScanDelay) {
171
+ async function waitAdfLoaded(pollingInterval, startScanDelay, getScanStatus) {
169
172
  let ready = false;
170
173
  while (!ready) {
171
- let scanStatus = await HPApi_1.default.getScanStatus();
174
+ let scanStatus = await getScanStatus();
172
175
  while (!scanStatus.isLoaded()) {
173
176
  await (0, delay_1.delay)(pollingInterval);
174
- scanStatus = await HPApi_1.default.getScanStatus();
177
+ scanStatus = await getScanStatus();
175
178
  }
176
179
  console.log(`ADF load detected`);
177
180
  let loaded = true;
@@ -179,7 +182,7 @@ async function waitAdfLoaded(pollingInterval, startScanDelay) {
179
182
  const shortPollingInterval = 500;
180
183
  while (loaded && counter < startScanDelay) {
181
184
  await (0, delay_1.delay)(shortPollingInterval);
182
- scanStatus = await HPApi_1.default.getScanStatus();
185
+ scanStatus = await getScanStatus();
183
186
  loaded = scanStatus.isLoaded();
184
187
  counter += shortPollingInterval;
185
188
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scanProcessing.js","sourceRoot":"","sources":["../src/scanProcessing.ts"],"names":[],"mappings":";;;;;AAqBA,8CA4BC;AAED,sBAoBC;AAED,oCAsBC;AAED,sCAsBC;AAED,8CA0EC;AAED,kCAoEC;AAED,gCA8EC;AAED,sCA8BC;AAtXD,oDAA4B;AAE5B,iFAAyD;AAEzD,mCAAgC;AAEhC,oDAAiD;AACjD,qDAAkD;AAElD,uDAAoE;AACpE,wDAAqD;AAMrD,sEAAmE;AAE5D,KAAK,UAAU,iBAAiB,CACrC,KAAY;IAEZ,qGAAqG;IACrG,2EAA2E;IAC3E,IAAI,WAAW,GACb,IAAI,CAAC;IAEP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC5C,IAAI,cAAc,EAAE,CAAC;YACnB,WAAW,GAAG,MAAM,eAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAEzD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;YACtC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,OAAO,WAAW,CAAC;YACrB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/D,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;IACtE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,KAAK,CACnB,WAAgE;IAEhE,IACE,WAAW,CAAC,QAAQ,KAAK,6BAAa,CAAC,OAAO;QAC9C,WAAW,CAAC,QAAQ,KAAK,6BAAa,CAAC,QAAQ;QAC/C,WAAW,CAAC,QAAQ,IAAI,6BAAa,CAAC,aAAa,EACnD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IACL,WAAW,CAAC,QAAQ,KAAK,6BAAa,CAAC,QAAQ;QAC/C,WAAW,CAAC,QAAQ,KAAK,6BAAa,CAAC,UAAU,EACjD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,iCAAiC,WAAW,CAAC,QAAQ,qCAAqC,CAC3F,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAgB,YAAY,CAC1B,UAAsB,EACtB,WAAwB,EACxB,kBAAsC,EACtC,QAAiB;IAEjB,MAAM,QAAQ,GACZ,WAAW,KAAK,yBAAW,CAAC,GAAG;QAC7B,CAAC,CAAC,QAAQ;YACR,CAAC,CAAC,kBAAkB,CAAC,iBAAiB;YACtC,CAAC,CAAC,kBAAkB,CAAC,WAAW;QAClC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC;IAExC,IAAI,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC7C,IAAI,QAAQ,IAAI,UAAU,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC;YAC5C,OAAO,QAAQ,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,OAAO,UAAU,CAAC,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAgB,aAAa,CAC3B,UAAsB,EACtB,WAAwB,EACxB,kBAAsC,EACtC,QAAiB;IAEjB,MAAM,SAAS,GACb,WAAW,KAAK,yBAAW,CAAC,GAAG;QAC7B,CAAC,CAAC,QAAQ;YACR,CAAC,CAAC,kBAAkB,CAAC,kBAAkB;YACvC,CAAC,CAAC,kBAAkB,CAAC,YAAY;QACnC,CAAC,CAAC,kBAAkB,CAAC,eAAe,CAAC;IAEzC,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,SAAS,IAAI,UAAU,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC/C,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,OAAO,UAAU,CAAC,MAAM,CAAC;QAC3B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,iBAAiB,CACrC,kBAAsC,EACtC,MAAc,EACd,UAAkB,EAClB,SAAiB,EACjB,kBAAsC,EACtC,UAAsB,EACtB,QAAiB,EACjB,KAAc,EACd,oBAA0C;IAE1C,IAAI,iBAAyB,CAAC;IAC9B,IAAI,WAAiC,CAAC;IACtC,IAAI,KAAK,EAAE,CAAC;QACV,WAAW,GAAG,UAAU,CAAC;QACzB,iBAAiB,GAAG,UAAU,CAAC;QAC/B,OAAO,CAAC,GAAG,CACT,wCAAwC,iBAAiB,qDAAqD,CAC/G,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,OAAO,CAAC;QACtB,iBAAiB,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,eAAK,CAAC,aAAa,EAAE,CAAC;IAE/C,IAAI,UAAU,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE/C,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;IAChD,MAAM,SAAS,GAAG,YAAY,CAC5B,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,QAAQ,CACT,CAAC;IACF,MAAM,UAAU,GAAG,aAAa,CAC9B,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,QAAQ,CACT,CAAC;IAEF,MAAM,eAAe,GAAG,IAAI,yBAAe,CACzC,WAAW,EACX,WAAW,EACX,UAAU,CAAC,UAAU,EACrB,SAAS,EACT,UAAU,EACV,QAAQ,CACT,CAAC;IAEF,MAAM,cAAc,GAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAErD,MAAM,IAAA,iCAAe,EACnB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,CAAC,eAAe,CAAC,WAAW,EACtC,oBAAoB,CACrB,CAAC;IAEF,OAAO,CAAC,GAAG,CACT,yCAAyC,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAC3E,CAAC;IAEF,OAAO,cAAc,CAAC;AACxB,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,SAAiB,EACjB,MAAc,EACd,UAAkB,EAClB,iBAAoC,EACpC,kBAAsC,EACtC,IAAU;IAEV,IAAI,iBAAyB,CAAC;IAC9B,IAAI,WAAiC,CAAC;IACtC,IAAI,iBAAiB,CAAC,WAAW,EAAE,CAAC;QAClC,WAAW,GAAG,UAAU,CAAC;QACzB,iBAAiB,GAAG,UAAU,CAAC;QAC/B,OAAO,CAAC,GAAG,CACT,wCAAwC,iBAAiB,qDAAqD,CAC/G,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,OAAO,CAAC;QACtB,iBAAiB,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAC5B,iBAAiB,EACjB,yBAAW,CAAC,GAAG,EACf,kBAAkB,EAClB,iBAAiB,CAAC,QAAQ,CAC3B,CAAC;IACF,MAAM,UAAU,GAAG,aAAa,CAC9B,iBAAiB,EACjB,yBAAW,CAAC,GAAG,EACf,kBAAkB,EAClB,iBAAiB,CAAC,QAAQ,CAC3B,CAAC;IAEF,MAAM,eAAe,GAAG,IAAI,yBAAe,CACzC,yBAAW,CAAC,GAAG,EACf,WAAW,EACX,iBAAiB,CAAC,UAAU,EAC5B,SAAS,EACT,UAAU,EACV,iBAAiB,CAAC,QAAQ,CAC3B,CAAC;IAEF,MAAM,cAAc,GAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAErD,MAAM,IAAA,gCAAc,EAClB,eAAe,EACf,yBAAW,CAAC,GAAG,EACf,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,iBAAiB,CAAC,eAAe,CAAC,WAAW,EAC7C,2CAAoB,CAAC,MAAM,CAC5B,CAAC;IAEF,OAAO,CAAC,GAAG,CACT,2CAA2C,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAC7E,CAAC;IAEF,MAAM,IAAA,+BAAc,EAClB,iBAAiB,EACjB,MAAM,EACN,UAAU,EACV,SAAS,EACT,cAAc,EACd,IAAI,EACJ,iBAAiB,CAAC,WAAW,CAC9B,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,SAAiB,EACjB,MAAc,EACd,UAAkB,EAClB,UAA4B,EAC5B,kBAAsC,EACtC,IAAU;IAEV,IAAI,iBAAyB,CAAC;IAC9B,IAAI,WAAiC,CAAC;IACtC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,WAAW,GAAG,UAAU,CAAC;QACzB,iBAAiB,GAAG,UAAU,CAAC;QAC/B,OAAO,CAAC,GAAG,CACT,wCAAwC,iBAAiB,qDAAqD,CAC/G,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,OAAO,CAAC;QACtB,iBAAiB,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,eAAK,CAAC,aAAa,EAAE,CAAC;IAE/C,IAAI,UAAU,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE/C,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;IAEhD,MAAM,SAAS,GAAG,YAAY,CAC5B,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,UAAU,CAAC,QAAQ,CACpB,CAAC;IACF,MAAM,UAAU,GAAG,aAAa,CAC9B,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,UAAU,CAAC,QAAQ,CACpB,CAAC;IAEF,MAAM,eAAe,GAAG,IAAI,yBAAe,CACzC,WAAW,EACX,WAAW,EACX,UAAU,CAAC,UAAU,EACrB,SAAS,EACT,UAAU,EACV,UAAU,CAAC,QAAQ,CACpB,CAAC;IAEF,MAAM,cAAc,GAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAErD,MAAM,IAAA,gCAAc,EAClB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,UAAU,CAAC,eAAe,CAAC,WAAW,EACtC,2CAAoB,CAAC,MAAM,CAC5B,CAAC;IAEF,OAAO,CAAC,GAAG,CACT,2CAA2C,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAC7E,CAAC;IAEF,MAAM,IAAA,+BAAc,EAClB,UAAU,EACV,MAAM,EACN,UAAU,EACV,SAAS,EACT,cAAc,EACd,IAAI,EACJ,UAAU,CAAC,WAAW,CACvB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,eAAuB,EACvB,cAAsB;IAEtB,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,OAAO,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,UAAU,GAAe,MAAM,eAAK,CAAC,aAAa,EAAE,CAAC;QACzD,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAA,aAAK,EAAC,eAAe,CAAC,CAAC;YAC7B,UAAU,GAAG,MAAM,eAAK,CAAC,aAAa,EAAE,CAAC;QAC3C,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAEjC,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,oBAAoB,GAAG,GAAG,CAAC;QACjC,OAAO,MAAM,IAAI,OAAO,GAAG,cAAc,EAAE,CAAC;YAC1C,MAAM,IAAA,aAAK,EAAC,oBAAoB,CAAC,CAAC;YAClC,UAAU,GAAG,MAAM,eAAK,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/B,OAAO,IAAI,oBAAoB,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;YACxC,KAAK,GAAG,IAAI,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"scanProcessing.js","sourceRoot":"","sources":["../src/scanProcessing.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
+ import { IScanStatus } from "../hpModels/IScanStatus";
2
+ import { IScanJobSettings } from "../hpModels/IScanJobSettings";
3
+ import { InputSource } from "./InputSource";
4
+ import { ScanMode } from "./scanMode";
1
5
  export interface DeviceCapabilities {
2
6
  supportsMultiItemScanFromPlaten: boolean;
3
7
  useWalkupScanToComp: boolean;
@@ -9,4 +13,8 @@ export interface DeviceCapabilities {
9
13
  adfDuplexMaxHeight: number | null;
10
14
  hasAdfDuplex: boolean;
11
15
  hasAdfDetectPaperLoaded: boolean;
16
+ isEscl: boolean;
17
+ getScanStatus: () => Promise<IScanStatus>;
18
+ createScanJobSettings: (inputSource: InputSource, contentType: "Document" | "Photo", resolution: number, mode: ScanMode, width: number | null, height: number | null, isDuplex: boolean) => IScanJobSettings;
19
+ submitScanJob: (scanJobSettings: IScanJobSettings) => Promise<string>;
12
20
  }
@@ -10,7 +10,9 @@ export default class DiscoveryTree {
10
10
  private readonly data;
11
11
  constructor(data: DiscoveryTreeData);
12
12
  static createDiscoveryTree(content: string): Promise<DiscoveryTree>;
13
+ private getManifestURI;
13
14
  get WalkupScanToCompManifestURI(): string | null;
14
15
  get WalkupScanManifestURI(): string | null;
15
16
  get ScanJobManifestURI(): string | null;
17
+ get EsclManifestURI(): string | null;
16
18
  }
@@ -1,37 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const xml2js_1 = require("xml2js");
4
- const parser = new xml2js_1.Parser();
5
- const util_1 = require("util");
6
- const parseString = (0, util_1.promisify)(parser.parseString);
3
+ const ParseXmlString_1 = require("../hpModels/ParseXmlString");
7
4
  class DiscoveryTree {
8
5
  constructor(data) {
9
6
  this.data = data;
10
7
  }
11
8
  static async createDiscoveryTree(content) {
12
- const parsed = await parseString(content);
9
+ const parsed = await (0, ParseXmlString_1.parseXmlString)(content);
13
10
  return new DiscoveryTree(parsed);
14
11
  }
12
+ getManifestURI(resourceType) {
13
+ const manifest = this.data["ledm:DiscoveryTree"]["ledm:SupportedIfc"].find((x) => x["dd:ResourceType"][0] === resourceType);
14
+ return manifest ? manifest["ledm:ManifestURI"][0] : null;
15
+ }
15
16
  get WalkupScanToCompManifestURI() {
16
- const hpLedmWalkupScanToCompManifest = this.data["ledm:DiscoveryTree"]["ledm:SupportedIfc"].find((x) => x["dd:ResourceType"][0] === "ledm:hpLedmWalkupScanToCompManifest");
17
- if (hpLedmWalkupScanToCompManifest !== undefined) {
18
- return hpLedmWalkupScanToCompManifest["ledm:ManifestURI"][0];
19
- }
20
- return null;
17
+ return this.getManifestURI("ledm:hpLedmWalkupScanToCompManifest");
21
18
  }
22
19
  get WalkupScanManifestURI() {
23
- const hpLedmWalkupScanToCompManifest = this.data["ledm:DiscoveryTree"]["ledm:SupportedIfc"].find((x) => x["dd:ResourceType"][0] === "hpCnxWalkupScanManifest");
24
- if (hpLedmWalkupScanToCompManifest === undefined) {
25
- return null;
26
- }
27
- return hpLedmWalkupScanToCompManifest["ledm:ManifestURI"][0];
20
+ return this.getManifestURI("hpCnxWalkupScanManifest");
28
21
  }
29
22
  get ScanJobManifestURI() {
30
- const hpLedmWalkupScanToCompManifest = this.data["ledm:DiscoveryTree"]["ledm:SupportedIfc"].find((x) => x["dd:ResourceType"][0] === "ledm:hpLedmScanJobManifest");
31
- if (hpLedmWalkupScanToCompManifest === undefined) {
32
- return null;
33
- }
34
- return hpLedmWalkupScanToCompManifest["ledm:ManifestURI"][0];
23
+ return this.getManifestURI("ledm:hpLedmScanJobManifest");
24
+ }
25
+ get EsclManifestURI() {
26
+ return this.getManifestURI("eSCL:eSclManifest");
35
27
  }
36
28
  }
37
29
  exports.default = DiscoveryTree;
@@ -1 +1 @@
1
- {"version":3,"file":"DiscoveryTree.js","sourceRoot":"","sources":["../../src/type/DiscoveryTree.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,mCAAgC;AAChC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;AAC5B,+BAAiC;AACjC,MAAM,WAAW,GAAG,IAAA,gBAAS,EAA4B,MAAM,CAAC,WAAW,CAAC,CAAC;AAW7E,MAAqB,aAAa;IAGhC,YAAY,IAAuB;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAe;QAC9C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,2BAA2B;QAC7B,MAAM,8BAA8B,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CACpE,mBAAmB,CACpB,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,qCAAqC,CACzE,CAAC;QACF,IAAI,8BAA8B,KAAK,SAAS,EAAE,CAAC;YACjD,OAAO,8BAA8B,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,qBAAqB;QACvB,MAAM,8BAA8B,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CACpE,mBAAmB,CACpB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,yBAAyB,CAAC,CAAC;QACrE,IAAI,8BAA8B,KAAK,SAAS,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,8BAA8B,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,kBAAkB;QACpB,MAAM,8BAA8B,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CACpE,mBAAmB,CACpB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,4BAA4B,CAAC,CAAC;QACxE,IAAI,8BAA8B,KAAK,SAAS,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,8BAA8B,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF;AAxCD,gCAwCC"}
1
+ {"version":3,"file":"DiscoveryTree.js","sourceRoot":"","sources":["../../src/type/DiscoveryTree.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,+DAA4D;AAW5D,MAAqB,aAAa;IAGhC,YAAY,IAAuB;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAe;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAc,EAAoB,OAAO,CAAC,CAAC;QAChE,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAEO,cAAc,CAAC,YAAoB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CACxE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAChD,CAAC;QACF,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IAED,IAAI,2BAA2B;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,qCAAqC,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAClD,CAAC;CACF;AAlCD,gCAkCC"}
@@ -0,0 +1,33 @@
1
+ export declare enum DuplexAssemblyMode {
2
+ /**
3
+ * PAGE_WISE
4
+ * Front scanned: [1, 3, 5, 7]
5
+ * Back scanned: [2, 4, 6, 8]
6
+ * Final order: [1, 2, 3, 4, 5, 6, 7, 8]
7
+ */
8
+ PAGE_WISE = "page-wise",
9
+ /**
10
+ * DOCUMENT_WISE
11
+ * Front scanned: [1, 3, 5, 7]
12
+ * Back scanned (stack flipped): [8, 6, 4, 2]
13
+ * After reversing back: [2, 4, 6, 8]
14
+ * Final order: [1, 2, 3, 4, 5, 6, 7, 8]
15
+ */
16
+ DOCUMENT_WISE = "document-wise",
17
+ /**
18
+ * REVERSE_FRONT
19
+ * Front scanned (stack flipped): [7, 5, 3, 1]
20
+ * Back scanned: [2, 4, 6, 8]
21
+ * After reversing front: [1, 3, 5, 7]
22
+ * Final order: [1, 2, 3, 4, 5, 6, 7, 8]
23
+ */
24
+ REVERSE_FRONT = "reverse-front",
25
+ /**
26
+ * REVERSE_BOTH
27
+ * Front scanned (stack flipped): [7, 5, 3, 1]
28
+ * Back scanned (stack flipped): [8, 6, 4, 2]
29
+ * After reversing front & back: [1, 3, 5, 7], [2, 4, 6, 8]
30
+ * Final order: [1, 2, 3, 4, 5, 6, 7, 8]
31
+ */
32
+ REVERSE_BOTH = "reverse-both"
33
+ }