node-hp-scan-to 1.3.1 → 1.4.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 (211) hide show
  1. package/README.md +76 -15
  2. package/dist/Destination.js.map +1 -1
  3. package/dist/DeviceCapabilities.d.ts +4 -0
  4. package/dist/DeviceCapabilities.js.map +1 -1
  5. package/dist/DiscoveryTree.js.map +1 -1
  6. package/dist/Event.js +2 -2
  7. package/dist/Event.js.map +1 -1
  8. package/dist/EventTable.js.map +1 -1
  9. package/dist/HPApi.js.map +1 -1
  10. package/dist/InputSource.d.ts +4 -0
  11. package/dist/InputSource.js +9 -0
  12. package/dist/InputSource.js.map +1 -0
  13. package/dist/Job.d.ts +2 -0
  14. package/dist/Job.js +2 -2
  15. package/dist/Job.js.map +1 -1
  16. package/dist/JpegUtil.js +1 -1
  17. package/dist/JpegUtil.js.map +1 -1
  18. package/dist/PathHelper.d.ts +4 -3
  19. package/dist/PathHelper.js +28 -13
  20. package/dist/PathHelper.js.map +1 -1
  21. package/dist/ScanCaps.d.ts +18 -0
  22. package/dist/ScanCaps.js +22 -0
  23. package/dist/ScanCaps.js.map +1 -1
  24. package/dist/ScanContent.js.map +1 -1
  25. package/dist/ScanJobManifest.js.map +1 -1
  26. package/dist/ScanJobSettings.d.ts +4 -1
  27. package/dist/ScanJobSettings.js +19 -8
  28. package/dist/ScanJobSettings.js.map +1 -1
  29. package/dist/ScanStatus.d.ts +2 -1
  30. package/dist/ScanStatus.js +3 -2
  31. package/dist/ScanStatus.js.map +1 -1
  32. package/dist/WalkupScanDestination.js +2 -2
  33. package/dist/WalkupScanDestination.js.map +1 -1
  34. package/dist/WalkupScanDestinations.js +1 -1
  35. package/dist/WalkupScanDestinations.js.map +1 -1
  36. package/dist/WalkupScanManifest.js.map +1 -1
  37. package/dist/WalkupScanToCompCaps.js.map +1 -1
  38. package/dist/WalkupScanToCompDestination.js +2 -2
  39. package/dist/WalkupScanToCompDestination.js.map +1 -1
  40. package/dist/WalkupScanToCompDestinations.js +1 -1
  41. package/dist/WalkupScanToCompDestinations.js.map +1 -1
  42. package/dist/WalkupScanToCompEvent.js.map +1 -1
  43. package/dist/WalkupScanToCompManifest.js.map +1 -1
  44. package/dist/index.js +26 -5
  45. package/dist/index.js.map +1 -1
  46. package/dist/listening.js.map +1 -1
  47. package/dist/readDeviceCapabilities.js +6 -1
  48. package/dist/readDeviceCapabilities.js.map +1 -1
  49. package/dist/scanProcessing.d.ts +6 -1
  50. package/dist/scanProcessing.js +61 -21
  51. package/dist/scanProcessing.js.map +1 -1
  52. package/dist/test/JpegUtil.test.js +10 -8
  53. package/dist/test/JpegUtil.test.js.map +1 -1
  54. package/dist/test/PathHelper.test.js +10 -11
  55. package/dist/test/PathHelper.test.js.map +1 -1
  56. package/dist/test/ScanCaps.test.d.ts +1 -0
  57. package/dist/test/ScanCaps.test.js +76 -0
  58. package/dist/test/ScanCaps.test.js.map +1 -0
  59. package/dist/test/ScanJobSettings.test.js +9 -3
  60. package/dist/test/ScanJobSettings.test.js.map +1 -1
  61. package/dist/test/scanProcessing.test.d.ts +1 -0
  62. package/dist/test/scanProcessing.test.js +103 -0
  63. package/dist/test/scanProcessing.test.js.map +1 -0
  64. package/package.json +7 -7
  65. package/src/Destination.ts +1 -1
  66. package/src/DeviceCapabilities.ts +4 -0
  67. package/src/DiscoveryTree.ts +1 -1
  68. package/src/Event.ts +4 -4
  69. package/src/EventTable.ts +1 -1
  70. package/src/HPApi.ts +19 -19
  71. package/src/InputSource.ts +4 -0
  72. package/src/Job.ts +19 -7
  73. package/src/JpegUtil.ts +18 -14
  74. package/src/PathHelper.ts +48 -20
  75. package/src/ScanCaps.ts +53 -1
  76. package/src/ScanContent.ts +1 -1
  77. package/src/ScanJobManifest.ts +3 -2
  78. package/src/ScanJobSettings.ts +23 -9
  79. package/src/ScanStatus.ts +6 -3
  80. package/src/WalkupScanDestination.ts +9 -5
  81. package/src/WalkupScanDestinations.ts +9 -4
  82. package/src/WalkupScanManifest.ts +3 -3
  83. package/src/WalkupScanToCompCaps.ts +2 -2
  84. package/src/WalkupScanToCompDestination.ts +15 -5
  85. package/src/WalkupScanToCompDestinations.ts +5 -4
  86. package/src/WalkupScanToCompEvent.ts +1 -1
  87. package/src/WalkupScanToCompManifest.ts +3 -3
  88. package/src/index.ts +90 -33
  89. package/src/listening.ts +14 -15
  90. package/src/readDeviceCapabilities.ts +12 -6
  91. package/src/scanProcessing.ts +129 -52
  92. package/dist/fixJpegSize.d.ts +0 -19
  93. package/dist/fixJpegSize.js +0 -292
  94. package/dist/fixJpegSize.js.map +0 -1
  95. package/dist/models/Destination.d.ts +0 -8
  96. package/dist/models/Destination.js +0 -68
  97. package/dist/models/Destination.js.map +0 -1
  98. package/dist/models/DiscoveryTree.d.ts +0 -16
  99. package/dist/models/DiscoveryTree.js +0 -38
  100. package/dist/models/DiscoveryTree.js.map +0 -1
  101. package/dist/models/Event.d.ts +0 -21
  102. package/dist/models/Event.js +0 -32
  103. package/dist/models/Event.js.map +0 -1
  104. package/dist/models/EventTable.d.ts +0 -16
  105. package/dist/models/EventTable.js +0 -33
  106. package/dist/models/EventTable.js.map +0 -1
  107. package/dist/models/Job.d.ts +0 -37
  108. package/dist/models/Job.js +0 -78
  109. package/dist/models/Job.js.map +0 -1
  110. package/dist/models/ScanCaps.d.ts +0 -7
  111. package/dist/models/ScanCaps.js +0 -17
  112. package/dist/models/ScanCaps.js.map +0 -1
  113. package/dist/models/ScanJobManifest.d.ts +0 -23
  114. package/dist/models/ScanJobManifest.js +0 -24
  115. package/dist/models/ScanJobManifest.js.map +0 -1
  116. package/dist/models/ScanJobSettings.d.ts +0 -8
  117. package/dist/models/ScanJobSettings.js +0 -56
  118. package/dist/models/ScanJobSettings.js.map +0 -1
  119. package/dist/models/WalkupScanDestination.d.ts +0 -22
  120. package/dist/models/WalkupScanDestination.js +0 -38
  121. package/dist/models/WalkupScanDestination.js.map +0 -1
  122. package/dist/models/WalkupScanDestinations.d.ts +0 -12
  123. package/dist/models/WalkupScanDestinations.js +0 -30
  124. package/dist/models/WalkupScanDestinations.js.map +0 -1
  125. package/dist/models/WalkupScanManifest.d.ts +0 -23
  126. package/dist/models/WalkupScanManifest.js +0 -25
  127. package/dist/models/WalkupScanManifest.js.map +0 -1
  128. package/dist/models/WalkupScanToCompCaps.d.ts +0 -12
  129. package/dist/models/WalkupScanToCompCaps.js +0 -20
  130. package/dist/models/WalkupScanToCompCaps.js.map +0 -1
  131. package/dist/models/WalkupScanToCompDestination.d.ts +0 -22
  132. package/dist/models/WalkupScanToCompDestination.js +0 -38
  133. package/dist/models/WalkupScanToCompDestination.js.map +0 -1
  134. package/dist/models/WalkupScanToCompDestinations.d.ts +0 -12
  135. package/dist/models/WalkupScanToCompDestinations.js +0 -30
  136. package/dist/models/WalkupScanToCompDestinations.js.map +0 -1
  137. package/dist/models/WalkupScanToCompEvent.d.ts +0 -11
  138. package/dist/models/WalkupScanToCompEvent.js +0 -20
  139. package/dist/models/WalkupScanToCompEvent.js.map +0 -1
  140. package/dist/models/WalkupScanToCompManifest.d.ts +0 -23
  141. package/dist/models/WalkupScanToCompManifest.js +0 -25
  142. package/dist/models/WalkupScanToCompManifest.js.map +0 -1
  143. package/dist/scanProcess.d.ts +0 -19
  144. package/dist/scanProcess.js +0 -292
  145. package/dist/scanProcess.js.map +0 -1
  146. package/dist/src/Destination.d.ts +0 -8
  147. package/dist/src/Destination.js +0 -68
  148. package/dist/src/Destination.js.map +0 -1
  149. package/dist/src/DiscoveryTree.d.ts +0 -16
  150. package/dist/src/DiscoveryTree.js +0 -38
  151. package/dist/src/DiscoveryTree.js.map +0 -1
  152. package/dist/src/Event.d.ts +0 -21
  153. package/dist/src/Event.js +0 -32
  154. package/dist/src/Event.js.map +0 -1
  155. package/dist/src/EventTable.d.ts +0 -16
  156. package/dist/src/EventTable.js +0 -33
  157. package/dist/src/EventTable.js.map +0 -1
  158. package/dist/src/HPApi.d.ts +0 -50
  159. package/dist/src/HPApi.js +0 -454
  160. package/dist/src/HPApi.js.map +0 -1
  161. package/dist/src/Job.d.ts +0 -37
  162. package/dist/src/Job.js +0 -78
  163. package/dist/src/Job.js.map +0 -1
  164. package/dist/src/JpegUtil.d.ts +0 -26
  165. package/dist/src/JpegUtil.js +0 -229
  166. package/dist/src/JpegUtil.js.map +0 -1
  167. package/dist/src/KnownShortcut.d.ts +0 -1
  168. package/dist/src/KnownShortcut.js +0 -3
  169. package/dist/src/KnownShortcut.js.map +0 -1
  170. package/dist/src/PathHelper.d.ts +0 -6
  171. package/dist/src/PathHelper.js +0 -52
  172. package/dist/src/PathHelper.js.map +0 -1
  173. package/dist/src/ScanCaps.d.ts +0 -7
  174. package/dist/src/ScanCaps.js +0 -17
  175. package/dist/src/ScanCaps.js.map +0 -1
  176. package/dist/src/ScanJobManifest.d.ts +0 -23
  177. package/dist/src/ScanJobManifest.js +0 -24
  178. package/dist/src/ScanJobManifest.js.map +0 -1
  179. package/dist/src/ScanJobSettings.d.ts +0 -8
  180. package/dist/src/ScanJobSettings.js +0 -56
  181. package/dist/src/ScanJobSettings.js.map +0 -1
  182. package/dist/src/ScanStatus.d.ts +0 -19
  183. package/dist/src/ScanStatus.js +0 -35
  184. package/dist/src/ScanStatus.js.map +0 -1
  185. package/dist/src/WalkupScanDestination.d.ts +0 -22
  186. package/dist/src/WalkupScanDestination.js +0 -38
  187. package/dist/src/WalkupScanDestination.js.map +0 -1
  188. package/dist/src/WalkupScanDestinations.d.ts +0 -12
  189. package/dist/src/WalkupScanDestinations.js +0 -30
  190. package/dist/src/WalkupScanDestinations.js.map +0 -1
  191. package/dist/src/WalkupScanManifest.d.ts +0 -23
  192. package/dist/src/WalkupScanManifest.js +0 -25
  193. package/dist/src/WalkupScanManifest.js.map +0 -1
  194. package/dist/src/WalkupScanToCompCaps.d.ts +0 -12
  195. package/dist/src/WalkupScanToCompCaps.js +0 -20
  196. package/dist/src/WalkupScanToCompCaps.js.map +0 -1
  197. package/dist/src/WalkupScanToCompDestination.d.ts +0 -22
  198. package/dist/src/WalkupScanToCompDestination.js +0 -38
  199. package/dist/src/WalkupScanToCompDestination.js.map +0 -1
  200. package/dist/src/WalkupScanToCompDestinations.d.ts +0 -12
  201. package/dist/src/WalkupScanToCompDestinations.js +0 -30
  202. package/dist/src/WalkupScanToCompDestinations.js.map +0 -1
  203. package/dist/src/WalkupScanToCompEvent.d.ts +0 -11
  204. package/dist/src/WalkupScanToCompEvent.js +0 -20
  205. package/dist/src/WalkupScanToCompEvent.js.map +0 -1
  206. package/dist/src/WalkupScanToCompManifest.d.ts +0 -23
  207. package/dist/src/WalkupScanToCompManifest.js +0 -25
  208. package/dist/src/WalkupScanToCompManifest.js.map +0 -1
  209. package/dist/src/delay.d.ts +0 -1
  210. package/dist/src/delay.js +0 -10
  211. package/dist/src/delay.js.map +0 -1
@@ -6,18 +6,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const mocha_1 = require("mocha");
7
7
  const chai_1 = require("chai");
8
8
  const JpegUtil_1 = __importDefault(require("../src/JpegUtil"));
9
- const fs = { ...require("fs"), ...require("fs/promises") };
10
- const path = require("path");
9
+ const fs_1 = __importDefault(require("fs"));
10
+ const promises_1 = __importDefault(require("fs/promises"));
11
+ const path_1 = __importDefault(require("path"));
12
+ const fs = { ...(fs_1.default), ...(promises_1.default) };
11
13
  (0, mocha_1.describe)("JpegUtil", () => {
12
14
  (0, mocha_1.describe)("Work on sample.jpg", () => {
13
15
  it("Reading JPEG size is possible", async () => {
14
- const buffer = await fs.readFile(path.resolve(__dirname, "./asset/sample.jpg"));
16
+ const buffer = await fs.readFile(path_1.default.resolve(__dirname, "./asset/sample.jpg"));
15
17
  const size = JpegUtil_1.default.GetJpgSize(buffer);
16
18
  (0, chai_1.expect)(size === null || size === void 0 ? void 0 : size.height).to.be.eq(300);
17
19
  (0, chai_1.expect)(size === null || size === void 0 ? void 0 : size.width).to.be.eq(400);
18
20
  });
19
21
  it("Writing JPEG size is possible", async () => {
20
- const buffer = await fs.readFile(path.resolve(__dirname, "./asset/sample.jpg"));
22
+ const buffer = await fs.readFile(path_1.default.resolve(__dirname, "./asset/sample.jpg"));
21
23
  const sizeWritten = JpegUtil_1.default.setJpgSize(buffer, {
22
24
  height: 1200,
23
25
  width: 800,
@@ -30,21 +32,21 @@ const path = require("path");
30
32
  });
31
33
  (0, mocha_1.describe)("Jpeg size", () => {
32
34
  it("allows to set height", async () => {
33
- const buffer = await fs.readFile(path.resolve(__dirname, "./asset/adf_bytes_scan.jpg"));
35
+ const buffer = await fs.readFile(path_1.default.resolve(__dirname, "./asset/adf_bytes_scan.jpg"));
34
36
  const sizeWritten = JpegUtil_1.default.setJpgSize(buffer, {
35
37
  height: 2322,
36
38
  width: 1654,
37
39
  });
38
40
  (0, chai_1.expect)(sizeWritten).to.be.true;
39
- fs.writeFileSync(path.resolve(__dirname, "./asset/adf_bytes_scan_height_fixed.jpg"), buffer);
41
+ fs.writeFileSync(path_1.default.resolve(__dirname, "./asset/adf_bytes_scan_height_fixed.jpg"), buffer);
40
42
  });
41
43
  });
42
44
  (0, mocha_1.describe)("Fix a corrupted adf scan", () => {
43
45
  it("Fix image size based on DNL marker content", async () => {
44
- const buffer = await fs.readFile(path.resolve(__dirname, "./asset/adf_bytes_scan.jpg"));
46
+ const buffer = await fs.readFile(path_1.default.resolve(__dirname, "./asset/adf_bytes_scan.jpg"));
45
47
  const sizeFixed = JpegUtil_1.default.fixSizeWithDNL(buffer);
46
48
  (0, chai_1.expect)(sizeFixed).to.be.eq(2322);
47
- fs.writeFileSync(path.resolve(__dirname, "./asset/adf_bytes_scan_height_fixed.jpg"), buffer);
49
+ fs.writeFileSync(path_1.default.resolve(__dirname, "./asset/adf_bytes_scan_height_fixed.jpg"), buffer);
48
50
  });
49
51
  });
50
52
  });
@@ -1 +1 @@
1
- {"version":3,"file":"JpegUtil.test.js","sourceRoot":"","sources":["../../test/JpegUtil.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe } from \"mocha\";\nimport { expect } from \"chai\";\nimport JpegUtil from \"../src/JpegUtil\";\nconst fs = { ...require(\"fs\"), ...require(\"fs/promises\") };\nconst path = require(\"path\");\n\ndescribe(\"JpegUtil\", () => {\n describe(\"Work on sample.jpg\", () => {\n it(\"Reading JPEG size is possible\", async () => {\n const buffer: Buffer = await fs.readFile(\n path.resolve(__dirname, \"./asset/sample.jpg\")\n );\n\n const size = JpegUtil.GetJpgSize(buffer);\n\n expect(size?.height).to.be.eq(300);\n expect(size?.width).to.be.eq(400);\n });\n\n it(\"Writing JPEG size is possible\", async () => {\n const buffer: Buffer = await fs.readFile(\n path.resolve(__dirname, \"./asset/sample.jpg\")\n );\n\n const sizeWritten = JpegUtil.setJpgSize(buffer, {\n height: 1200,\n width: 800,\n });\n expect(sizeWritten).to.be.true;\n\n const size = JpegUtil.GetJpgSize(buffer);\n\n expect(size?.height).to.be.eq(1200);\n expect(size?.width).to.be.eq(800);\n });\n });\n describe(\"Jpeg size\", () => {\n it(\"allows to set height\", async () => {\n const buffer: Buffer = await fs.readFile(\n path.resolve(__dirname, \"./asset/adf_bytes_scan.jpg\")\n );\n\n const sizeWritten = JpegUtil.setJpgSize(buffer, {\n height: 2322,\n width: 1654,\n });\n expect(sizeWritten).to.be.true;\n\n fs.writeFileSync(\n path.resolve(__dirname, \"./asset/adf_bytes_scan_height_fixed.jpg\"),\n buffer\n );\n });\n });\n describe(\"Fix a corrupted adf scan\", () => {\n it(\"Fix image size based on DNL marker content\", async () => {\n const buffer: Buffer = await fs.readFile(\n path.resolve(__dirname, \"./asset/adf_bytes_scan.jpg\")\n );\n\n const sizeFixed = JpegUtil.fixSizeWithDNL(buffer);\n expect(sizeFixed).to.be.eq(2322);\n\n fs.writeFileSync(\n path.resolve(__dirname, \"./asset/adf_bytes_scan_height_fixed.jpg\"),\n buffer\n );\n });\n });\n});\n"]}
1
+ {"version":3,"file":"JpegUtil.test.js","sourceRoot":"","sources":["../../test/JpegUtil.test.ts"],"names":[],"mappings":";;;;;AAAA,iCAAiC;AACjC,+BAA8B;AAC9B,+DAAuC;AACvC,4CAAqB;AAErB,2DAA+B;AAE/B,gDAAwB;AAExB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,YAAG,CAAC,EAAE,GAAG,CAAC,kBAAI,CAAC,EAAE,CAAC;AACnC,IAAA,gBAAQ,EAAC,UAAU,EAAE,GAAG,EAAE;IACxB,IAAA,gBAAQ,EAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,MAAM,GAAW,MAAM,EAAE,CAAC,QAAQ,CACtC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAC9C,CAAC;YAEF,MAAM,IAAI,GAAG,kBAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAEzC,IAAA,aAAM,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACnC,IAAA,aAAM,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,MAAM,GAAW,MAAM,EAAE,CAAC,QAAQ,CACtC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAC9C,CAAC;YAEF,MAAM,WAAW,GAAG,kBAAQ,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC9C,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;YACH,IAAA,aAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAE/B,MAAM,IAAI,GAAG,kBAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAEzC,IAAA,aAAM,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACpC,IAAA,aAAM,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,IAAA,gBAAQ,EAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,MAAM,GAAW,MAAM,EAAE,CAAC,QAAQ,CACtC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,4BAA4B,CAAC,CACtD,CAAC;YAEF,MAAM,WAAW,GAAG,kBAAQ,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC9C,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,IAAA,aAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAE/B,EAAE,CAAC,aAAa,CACd,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,yCAAyC,CAAC,EAClE,MAAM,CACP,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,IAAA,gBAAQ,EAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,MAAM,GAAW,MAAM,EAAE,CAAC,QAAQ,CACtC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,4BAA4B,CAAC,CACtD,CAAC;YAEF,MAAM,SAAS,GAAG,kBAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAClD,IAAA,aAAM,EAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAEjC,EAAE,CAAC,aAAa,CACd,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,yCAAyC,CAAC,EAClE,MAAM,CACP,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe } from \"mocha\";\nimport { expect } from \"chai\";\nimport JpegUtil from \"../src/JpegUtil\";\nimport fs0 from \"fs\";\n\nimport fs01 from \"fs/promises\";\n\nimport path from \"path\";\n\nconst fs = { ...(fs0), ...(fs01) };\ndescribe(\"JpegUtil\", () => {\n describe(\"Work on sample.jpg\", () => {\n it(\"Reading JPEG size is possible\", async () => {\n const buffer: Buffer = await fs.readFile(\n path.resolve(__dirname, \"./asset/sample.jpg\")\n );\n\n const size = JpegUtil.GetJpgSize(buffer);\n\n expect(size?.height).to.be.eq(300);\n expect(size?.width).to.be.eq(400);\n });\n\n it(\"Writing JPEG size is possible\", async () => {\n const buffer: Buffer = await fs.readFile(\n path.resolve(__dirname, \"./asset/sample.jpg\")\n );\n\n const sizeWritten = JpegUtil.setJpgSize(buffer, {\n height: 1200,\n width: 800,\n });\n expect(sizeWritten).to.be.true;\n\n const size = JpegUtil.GetJpgSize(buffer);\n\n expect(size?.height).to.be.eq(1200);\n expect(size?.width).to.be.eq(800);\n });\n });\n describe(\"Jpeg size\", () => {\n it(\"allows to set height\", async () => {\n const buffer: Buffer = await fs.readFile(\n path.resolve(__dirname, \"./asset/adf_bytes_scan.jpg\")\n );\n\n const sizeWritten = JpegUtil.setJpgSize(buffer, {\n height: 2322,\n width: 1654,\n });\n expect(sizeWritten).to.be.true;\n\n fs.writeFileSync(\n path.resolve(__dirname, \"./asset/adf_bytes_scan_height_fixed.jpg\"),\n buffer\n );\n });\n });\n describe(\"Fix a corrupted adf scan\", () => {\n it(\"Fix image size based on DNL marker content\", async () => {\n const buffer: Buffer = await fs.readFile(\n path.resolve(__dirname, \"./asset/adf_bytes_scan.jpg\")\n );\n\n const sizeFixed = JpegUtil.fixSizeWithDNL(buffer);\n expect(sizeFixed).to.be.eq(2322);\n\n fs.writeFileSync(\n path.resolve(__dirname, \"./asset/adf_bytes_scan_height_fixed.jpg\"),\n buffer\n );\n });\n });\n});\n"]}
@@ -12,28 +12,27 @@ const fs_1 = __importDefault(require("fs"));
12
12
  const os_1 = __importDefault(require("os"));
13
13
  const path_1 = __importDefault(require("path"));
14
14
  chai_2.default.use(chai_string_1.default);
15
+ const now = new Date();
15
16
  (0, mocha_1.describe)("PathHelper", () => {
16
17
  (0, mocha_1.describe)("getFileForPage", () => {
17
18
  it("Can format a file with formatted timestamp", async () => {
18
- const nextFileName = PathHelper_1.default.getFileForPage("someFolder", 2, 1, '"scan"_dd.mm.yyyy_HH:MM:ss', "jpg");
19
- const now = new Date();
19
+ const nextFileName = PathHelper_1.default.getFileForPage("someFolder", 2, 1, '"scan"_dd.mm.yyyy_HH:MM:ss', "jpg", now);
20
20
  (0, chai_1.expect)(nextFileName).to.be.eq(`someFolder${path_1.default.sep}scan_${("" + now.getDate()).padStart(2, "0")}.${("" +
21
21
  (now.getMonth() + 1)).padStart(2, "0")}.${("" + now.getFullYear()).padStart(4, "0")}_${("" + now.getHours()).padStart(2, "0")}:${("" + now.getMinutes()).padStart(2, "0")}:${("" + now.getSeconds()).padStart(2, "0")}.jpg`);
22
22
  });
23
23
  it("Can format a file based on scan count and page number", async () => {
24
- const nextFileName = PathHelper_1.default.getFileForPage("someFolder", 2, 1, undefined, "jpg");
24
+ const nextFileName = PathHelper_1.default.getFileForPage("someFolder", 2, 1, undefined, "jpg", now);
25
25
  (0, chai_1.expect)(nextFileName).to.be.eq(`someFolder${path_1.default.sep}scan2_page1.jpg`);
26
26
  });
27
27
  });
28
28
  (0, mocha_1.describe)("getFileForScan", () => {
29
29
  it("Can format a file with formatted timestamp", async () => {
30
- const nextFileName = PathHelper_1.default.getFileForScan("someFolder", 2, '"scan"_dd.mm.yyyy_HH:MM:ss', "pdf");
31
- const now = new Date();
30
+ const nextFileName = PathHelper_1.default.getFileForScan("someFolder", 2, '"scan"_dd.mm.yyyy_HH:MM:ss', "pdf", now);
32
31
  (0, chai_1.expect)(nextFileName).to.be.eq(`someFolder${path_1.default.sep}scan_${("" + now.getDate()).padStart(2, "0")}.${("" +
33
32
  (now.getMonth() + 1)).padStart(2, "0")}.${("" + now.getFullYear()).padStart(4, "0")}_${("" + now.getHours()).padStart(2, "0")}:${("" + now.getMinutes()).padStart(2, "0")}:${("" + now.getSeconds()).padStart(2, "0")}.pdf`);
34
33
  });
35
34
  it("Can format a file based on scan count and page number", async () => {
36
- const nextFileName = PathHelper_1.default.getFileForScan("someFolder", 2, undefined, "pdf");
35
+ const nextFileName = PathHelper_1.default.getFileForScan("someFolder", 2, undefined, "pdf", now);
37
36
  (0, chai_1.expect)(nextFileName).to.be.eq(`someFolder${path_1.default.sep}scan2.pdf`);
38
37
  });
39
38
  });
@@ -63,23 +62,23 @@ chai_2.default.use(chai_string_1.default);
63
62
  it("return the file if it does not exist first", async () => {
64
63
  const folder = await PathHelper_1.default.getOutputFolder();
65
64
  const filePath = path_1.default.join(folder, "someFolder.pdf");
66
- const uniqueFile = PathHelper_1.default.makeUnique(filePath);
65
+ const uniqueFile = PathHelper_1.default.makeUnique(filePath, now);
67
66
  (0, chai_1.expect)(filePath).to.be.eq(uniqueFile);
68
67
  });
69
68
  it("return another file in case of conflict", async () => {
70
69
  const folder = await PathHelper_1.default.getOutputFolder();
71
70
  const filePath = path_1.default.join(folder, "someFolder.pdf");
72
71
  fs_1.default.openSync(filePath, "w");
73
- const uniqueFile = PathHelper_1.default.makeUnique(filePath);
72
+ const uniqueFile = PathHelper_1.default.makeUnique(filePath, now);
74
73
  (0, chai_1.expect)(filePath).to.be.not.eq(uniqueFile);
75
74
  });
76
75
  it("return another two conflict", async () => {
77
76
  const folder = await PathHelper_1.default.getOutputFolder();
78
77
  let filePath = path_1.default.join(folder, "someFolder.pdf");
79
78
  fs_1.default.openSync(filePath, "w");
80
- const another = PathHelper_1.default.makeUnique(filePath);
79
+ const another = PathHelper_1.default.makeUnique(filePath, now);
81
80
  fs_1.default.openSync(another, "w");
82
- const uniqueFile = PathHelper_1.default.makeUnique(filePath);
81
+ const uniqueFile = PathHelper_1.default.makeUnique(filePath, now);
83
82
  (0, chai_1.expect)(filePath).to.be.not.eq(uniqueFile);
84
83
  (0, chai_1.expect)(another).to.be.not.eq(uniqueFile);
85
84
  });
@@ -89,7 +88,7 @@ chai_2.default.use(chai_string_1.default);
89
88
  fs_1.default.openSync(filePath, "w");
90
89
  (0, chai_1.expect)(() => {
91
90
  for (let i = 0; i < 50; ++i) {
92
- const another = PathHelper_1.default.makeUnique(filePath);
91
+ const another = PathHelper_1.default.makeUnique(filePath, now);
93
92
  fs_1.default.openSync(another, "w");
94
93
  }
95
94
  }).to.throw(/Can not create unique file:/);
@@ -1 +1 @@
1
- {"version":3,"file":"PathHelper.test.js","sourceRoot":"","sources":["../../test/PathHelper.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe } from \"mocha\";\nimport { expect } from \"chai\";\nimport chai from \"chai\";\nimport chaiString from \"chai-string\";\nimport PathHelper from \"../src/PathHelper\";\nimport fs from \"fs\";\nimport os from \"os\";\nimport path from \"path\";\nchai.use(chaiString);\n\ndescribe(\"PathHelper\", () => {\n describe(\"getFileForPage\", () => {\n it(\"Can format a file with formatted timestamp\", async () => {\n const nextFileName = PathHelper.getFileForPage(\n \"someFolder\",\n 2,\n 1,\n '\"scan\"_dd.mm.yyyy_HH:MM:ss',\n \"jpg\"\n );\n const now = new Date();\n expect(nextFileName).to.be.eq(\n `someFolder${path.sep}scan_${(\"\" + now.getDate()).padStart(2, \"0\")}.${(\n \"\" +\n (now.getMonth() + 1)\n ).padStart(2, \"0\")}.${(\"\" + now.getFullYear()).padStart(4, \"0\")}_${(\n \"\" + now.getHours()\n ).padStart(2, \"0\")}:${(\"\" + now.getMinutes()).padStart(2, \"0\")}:${(\n \"\" + now.getSeconds()\n ).padStart(2, \"0\")}.jpg`\n );\n });\n it(\"Can format a file based on scan count and page number\", async () => {\n const nextFileName = PathHelper.getFileForPage(\n \"someFolder\",\n 2,\n 1,\n undefined,\n \"jpg\"\n );\n expect(nextFileName).to.be.eq(`someFolder${path.sep}scan2_page1.jpg`);\n });\n });\n describe(\"getFileForScan\", () => {\n it(\"Can format a file with formatted timestamp\", async () => {\n const nextFileName = PathHelper.getFileForScan(\n \"someFolder\",\n 2,\n '\"scan\"_dd.mm.yyyy_HH:MM:ss',\n \"pdf\"\n );\n const now = new Date();\n expect(nextFileName).to.be.eq(\n `someFolder${path.sep}scan_${(\"\" + now.getDate()).padStart(2, \"0\")}.${(\n \"\" +\n (now.getMonth() + 1)\n ).padStart(2, \"0\")}.${(\"\" + now.getFullYear()).padStart(4, \"0\")}_${(\n \"\" + now.getHours()\n ).padStart(2, \"0\")}:${(\"\" + now.getMinutes()).padStart(2, \"0\")}:${(\n \"\" + now.getSeconds()\n ).padStart(2, \"0\")}.pdf`\n );\n });\n it(\"Can format a file based on scan count and page number\", async () => {\n const nextFileName = PathHelper.getFileForScan(\n \"someFolder\",\n 2,\n undefined,\n \"pdf\"\n );\n expect(nextFileName).to.be.eq(`someFolder${path.sep}scan2.pdf`);\n });\n });\n describe(\"getOutputFolder\", () => {\n describe(\"A folder given\", () => {\n it(\"it is returned\", async () => {\n const folder = await PathHelper.getOutputFolder(\"someFolder\");\n expect(folder).to.be.eq(\"someFolder\");\n });\n });\n describe(\"No folder given\", () => {\n it(\"it return a temp folder\", async () => {\n const folder = await PathHelper.getOutputFolder();\n expect(folder).to.startWith(os.tmpdir());\n });\n it(\"it return a folder that exist\", async () => {\n const folder = await PathHelper.getOutputFolder();\n expect(fs.existsSync(folder)).to.be.true;\n });\n it(\"it return a different folder for every call\", async () => {\n const folder = await PathHelper.getOutputFolder();\n expect(folder).to.be.not.eq(await PathHelper.getOutputFolder());\n });\n });\n });\n describe(\"makeUnique\", () => {\n it(\"return the file if it does not exist first\", async () => {\n const folder = await PathHelper.getOutputFolder();\n const filePath = path.join(folder, \"someFolder.pdf\");\n\n const uniqueFile = PathHelper.makeUnique(filePath);\n\n expect(filePath).to.be.eq(uniqueFile);\n });\n\n it(\"return another file in case of conflict\", async () => {\n const folder = await PathHelper.getOutputFolder();\n const filePath = path.join(folder, \"someFolder.pdf\");\n fs.openSync(filePath, \"w\");\n\n const uniqueFile = PathHelper.makeUnique(filePath);\n\n expect(filePath).to.be.not.eq(uniqueFile);\n });\n\n it(\"return another two conflict\", async () => {\n const folder = await PathHelper.getOutputFolder();\n let filePath = path.join(folder, \"someFolder.pdf\");\n fs.openSync(filePath, \"w\");\n const another = PathHelper.makeUnique(filePath);\n fs.openSync(another, \"w\");\n\n const uniqueFile = PathHelper.makeUnique(filePath);\n\n expect(filePath).to.be.not.eq(uniqueFile);\n expect(another).to.be.not.eq(uniqueFile);\n });\n\n it(\"conflict resolution terminate with error\", async () => {\n const folder = await PathHelper.getOutputFolder();\n let filePath = path.join(folder, \"someFolder.pdf\");\n fs.openSync(filePath, \"w\");\n\n expect(() => {\n for (let i = 0; i < 50; ++i) {\n const another = PathHelper.makeUnique(filePath);\n fs.openSync(another, \"w\");\n }\n }).to.throw(/Can not create unique file:/);\n });\n });\n});\n"]}
1
+ {"version":3,"file":"PathHelper.test.js","sourceRoot":"","sources":["../../test/PathHelper.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe } from \"mocha\";\nimport { expect } from \"chai\";\nimport chai from \"chai\";\nimport chaiString from \"chai-string\";\nimport PathHelper from \"../src/PathHelper\";\nimport fs from \"fs\";\nimport os from \"os\";\nimport path from \"path\";\nchai.use(chaiString);\n\nconst now: Date = new Date();\n\ndescribe(\"PathHelper\", () => {\n describe(\"getFileForPage\", () => {\n it(\"Can format a file with formatted timestamp\", async () => {\n const nextFileName = PathHelper.getFileForPage(\n \"someFolder\",\n 2,\n 1,\n '\"scan\"_dd.mm.yyyy_HH:MM:ss',\n \"jpg\",\n now,\n );\n expect(nextFileName).to.be.eq(\n `someFolder${path.sep}scan_${(\"\" + now.getDate()).padStart(2, \"0\")}.${(\n \"\" +\n (now.getMonth() + 1)\n ).padStart(2, \"0\")}.${(\"\" + now.getFullYear()).padStart(4, \"0\")}_${(\n \"\" + now.getHours()\n ).padStart(2, \"0\")}:${(\"\" + now.getMinutes()).padStart(2, \"0\")}:${(\n \"\" + now.getSeconds()\n ).padStart(2, \"0\")}.jpg`,\n );\n });\n it(\"Can format a file based on scan count and page number\", async () => {\n const nextFileName = PathHelper.getFileForPage(\n \"someFolder\",\n 2,\n 1,\n undefined,\n \"jpg\",\n now,\n );\n expect(nextFileName).to.be.eq(`someFolder${path.sep}scan2_page1.jpg`);\n });\n });\n describe(\"getFileForScan\", () => {\n it(\"Can format a file with formatted timestamp\", async () => {\n const nextFileName = PathHelper.getFileForScan(\n \"someFolder\",\n 2,\n '\"scan\"_dd.mm.yyyy_HH:MM:ss',\n \"pdf\",\n now,\n );\n expect(nextFileName).to.be.eq(\n `someFolder${path.sep}scan_${(\"\" + now.getDate()).padStart(2, \"0\")}.${(\n \"\" +\n (now.getMonth() + 1)\n ).padStart(2, \"0\")}.${(\"\" + now.getFullYear()).padStart(4, \"0\")}_${(\n \"\" + now.getHours()\n ).padStart(2, \"0\")}:${(\"\" + now.getMinutes()).padStart(2, \"0\")}:${(\n \"\" + now.getSeconds()\n ).padStart(2, \"0\")}.pdf`,\n );\n });\n it(\"Can format a file based on scan count and page number\", async () => {\n const nextFileName = PathHelper.getFileForScan(\n \"someFolder\",\n 2,\n undefined,\n \"pdf\",\n now,\n );\n expect(nextFileName).to.be.eq(`someFolder${path.sep}scan2.pdf`);\n });\n });\n describe(\"getOutputFolder\", () => {\n describe(\"A folder given\", () => {\n it(\"it is returned\", async () => {\n const folder = await PathHelper.getOutputFolder(\"someFolder\");\n expect(folder).to.be.eq(\"someFolder\");\n });\n });\n describe(\"No folder given\", () => {\n it(\"it return a temp folder\", async () => {\n const folder = await PathHelper.getOutputFolder();\n expect(folder).to.startWith(os.tmpdir());\n });\n it(\"it return a folder that exist\", async () => {\n const folder = await PathHelper.getOutputFolder();\n expect(fs.existsSync(folder)).to.be.true;\n });\n it(\"it return a different folder for every call\", async () => {\n const folder = await PathHelper.getOutputFolder();\n expect(folder).to.be.not.eq(await PathHelper.getOutputFolder());\n });\n });\n });\n describe(\"makeUnique\", () => {\n it(\"return the file if it does not exist first\", async () => {\n const folder = await PathHelper.getOutputFolder();\n const filePath = path.join(folder, \"someFolder.pdf\");\n\n const uniqueFile = PathHelper.makeUnique(filePath, now);\n\n expect(filePath).to.be.eq(uniqueFile);\n });\n\n it(\"return another file in case of conflict\", async () => {\n const folder = await PathHelper.getOutputFolder();\n const filePath = path.join(folder, \"someFolder.pdf\");\n fs.openSync(filePath, \"w\");\n\n const uniqueFile = PathHelper.makeUnique(filePath, now);\n\n expect(filePath).to.be.not.eq(uniqueFile);\n });\n\n it(\"return another two conflict\", async () => {\n const folder = await PathHelper.getOutputFolder();\n let filePath = path.join(folder, \"someFolder.pdf\");\n fs.openSync(filePath, \"w\");\n const another = PathHelper.makeUnique(filePath, now);\n fs.openSync(another, \"w\");\n\n const uniqueFile = PathHelper.makeUnique(filePath, now);\n\n expect(filePath).to.be.not.eq(uniqueFile);\n expect(another).to.be.not.eq(uniqueFile);\n });\n\n it(\"conflict resolution terminate with error\", async () => {\n const folder = await PathHelper.getOutputFolder();\n let filePath = path.join(folder, \"someFolder.pdf\");\n fs.openSync(filePath, \"w\");\n\n expect(() => {\n for (let i = 0; i < 50; ++i) {\n const another = PathHelper.makeUnique(filePath, now);\n fs.openSync(another, \"w\");\n }\n }).to.throw(/Can not create unique file:/);\n });\n });\n});\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,76 @@
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const mocha_1 = require("mocha");
30
+ const chai_1 = require("chai");
31
+ const path_1 = __importDefault(require("path"));
32
+ const fs = __importStar(require("fs/promises"));
33
+ const ScanCaps_1 = __importDefault(require("../src/ScanCaps"));
34
+ (0, mocha_1.describe)("ScanCaps", () => {
35
+ (0, mocha_1.describe)("Parsing ScanCaps_with_adf.xml", async () => {
36
+ let scanCaps;
37
+ before(async () => {
38
+ const content = await fs.readFile(path_1.default.resolve(__dirname, "./asset/ScanCaps_with_adf.xml"), { encoding: "utf8" } //
39
+ );
40
+ scanCaps = await ScanCaps_1.default.createScanCaps(content);
41
+ });
42
+ it("AdfMaxWidth", async () => {
43
+ (0, chai_1.expect)(scanCaps.adfMaxWidth).to.be.eq(2550);
44
+ });
45
+ it("AdfMaxHeight", async () => {
46
+ (0, chai_1.expect)(scanCaps.adfMaxHeight).to.be.eq(4200);
47
+ });
48
+ it("PlatenMaxWidth", async () => {
49
+ (0, chai_1.expect)(scanCaps.platenMaxWidth).to.be.eq(2550);
50
+ });
51
+ it("PlatenMaxHeight", async () => {
52
+ (0, chai_1.expect)(scanCaps.platenMaxHeight).to.be.eq(3508);
53
+ });
54
+ });
55
+ (0, mocha_1.describe)("Parsing ScanCaps_no_adf.xml", async () => {
56
+ let scanCaps;
57
+ before(async () => {
58
+ const content = await fs.readFile(path_1.default.resolve(__dirname, "./asset/ScanCaps_no_adf.xml"), { encoding: "utf8" } //
59
+ );
60
+ scanCaps = await ScanCaps_1.default.createScanCaps(content);
61
+ });
62
+ it("AdfMaxWidth", async () => {
63
+ (0, chai_1.expect)(scanCaps.adfMaxWidth).to.be.eq(null);
64
+ });
65
+ it("AdfMaxHeight", async () => {
66
+ (0, chai_1.expect)(scanCaps.adfMaxHeight).to.be.eq(null);
67
+ });
68
+ it("PlatenMaxWidth", async () => {
69
+ (0, chai_1.expect)(scanCaps.platenMaxWidth).to.be.eq(2550);
70
+ });
71
+ it("PlatenMaxHeight", async () => {
72
+ (0, chai_1.expect)(scanCaps.platenMaxHeight).to.be.eq(3508);
73
+ });
74
+ });
75
+ });
76
+ //# sourceMappingURL=ScanCaps.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScanCaps.test.js","sourceRoot":"","sources":["../../test/ScanCaps.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe } from \"mocha\";\nimport { expect } from \"chai\";\nimport path from \"path\";\nimport * as fs from \"fs/promises\";\nimport ScanCaps from \"../src/ScanCaps\";\n\ndescribe(\"ScanCaps\", () => {\n describe(\"Parsing ScanCaps_with_adf.xml\", async () => {\n let scanCaps: ScanCaps;\n\n before(async () => {\n const content: string = await fs.readFile(\n path.resolve(\n __dirname,\n \"./asset/ScanCaps_with_adf.xml\"\n ),\n { encoding: \"utf8\" } //\n );\n scanCaps = await ScanCaps.createScanCaps(content);\n });\n\n it(\"AdfMaxWidth\", async () => {\n expect(scanCaps.adfMaxWidth).to.be.eq(2550);\n });\n it(\"AdfMaxHeight\", async () => {\n expect(scanCaps.adfMaxHeight).to.be.eq(4200);\n });\n it(\"PlatenMaxWidth\", async () => {\n expect(scanCaps.platenMaxWidth).to.be.eq(2550);\n });\n it(\"PlatenMaxHeight\", async () => {\n expect(scanCaps.platenMaxHeight).to.be.eq(3508);\n });\n });\n describe(\"Parsing ScanCaps_no_adf.xml\", async () => {\n let scanCaps: ScanCaps;\n\n before(async () => {\n const content: string = await fs.readFile(\n path.resolve(\n __dirname,\n \"./asset/ScanCaps_no_adf.xml\"\n ),\n { encoding: \"utf8\" } //\n );\n scanCaps = await ScanCaps.createScanCaps(content);\n });\n\n it(\"AdfMaxWidth\", async () => {\n expect(scanCaps.adfMaxWidth).to.be.eq(null);\n });\n it(\"AdfMaxHeight\", async () => {\n expect(scanCaps.adfMaxHeight).to.be.eq(null);\n });\n it(\"PlatenMaxWidth\", async () => {\n expect(scanCaps.platenMaxWidth).to.be.eq(2550);\n });\n it(\"PlatenMaxHeight\", async () => {\n expect(scanCaps.platenMaxHeight).to.be.eq(3508);\n });\n });\n});\n"]}
@@ -31,23 +31,29 @@ const chai_1 = require("chai");
31
31
  const ScanJobSettings_1 = __importDefault(require("../src/ScanJobSettings"));
32
32
  const path_1 = __importDefault(require("path"));
33
33
  const fs = __importStar(require("fs/promises"));
34
+ const InputSource_1 = require("../src/InputSource");
34
35
  (0, mocha_1.describe)("ScanJobSettings", () => {
35
36
  (0, mocha_1.describe)("toXML", () => {
36
37
  it("Allows to describe an ADF two side", async () => {
37
- const scanJobSettings = new ScanJobSettings_1.default("Adf", "Document", 200, true);
38
+ const scanJobSettings = new ScanJobSettings_1.default(InputSource_1.InputSource.Adf, "Document", 200, null, null, true);
38
39
  const content = await fs.readFile(path_1.default.resolve(__dirname, "./asset/adf_duplex_job.xml"), { encoding: 'utf8' });
39
40
  (0, chai_1.expect)((await scanJobSettings.toXML()).trimEnd()).to.be.eq(content.trimEnd().replace(/\r\n/g, "\n"));
40
41
  });
41
42
  it("Allows to describe an ADF single side", async () => {
42
- const scanJobSettings = new ScanJobSettings_1.default("Adf", "Document", 200, false);
43
+ const scanJobSettings = new ScanJobSettings_1.default(InputSource_1.InputSource.Adf, "Document", 200, null, null, false);
43
44
  const content = await fs.readFile(path_1.default.resolve(__dirname, "./asset/adf_simplex_job.xml"), { encoding: 'utf8' });
44
45
  (0, chai_1.expect)((await scanJobSettings.toXML()).trimEnd()).to.be.eq(content.trimEnd().replace(/\r\n/g, "\n"));
45
46
  });
46
47
  it("Allows to describe dpi of 300", async () => {
47
- const scanJobSettings = new ScanJobSettings_1.default("Adf", "Document", 300, false);
48
+ const scanJobSettings = new ScanJobSettings_1.default(InputSource_1.InputSource.Adf, "Document", 300, null, null, false);
48
49
  const content = await fs.readFile(path_1.default.resolve(__dirname, "./asset/300_dpi_job.xml"), { encoding: 'utf8' });
49
50
  (0, chai_1.expect)((await scanJobSettings.toXML()).trimEnd()).to.be.eq(content.trimEnd().replace(/\r\n/g, "\n"));
50
51
  });
52
+ it("Allows to describe a custom width and height", async () => {
53
+ const scanJobSettings = new ScanJobSettings_1.default(InputSource_1.InputSource.Adf, "Document", 200, 1000, 4000, false);
54
+ const content = await fs.readFile(path_1.default.resolve(__dirname, "./asset/adf_simplex_custom_job.xml"), { encoding: 'utf8' });
55
+ (0, chai_1.expect)((await scanJobSettings.toXML()).trimEnd()).to.be.eq(content.trimEnd().replace(/\r\n/g, "\n"));
56
+ });
51
57
  });
52
58
  });
53
59
  //# sourceMappingURL=ScanJobSettings.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScanJobSettings.test.js","sourceRoot":"","sources":["../../test/ScanJobSettings.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAiC;AACjC,+BAA8B;AAC9B,6EAAqD;AACrD,gDAAwB;AACxB,gDAAkC;AAElC,IAAA,gBAAQ,EAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAA,gBAAQ,EAAC,OAAO,EAAG,GAAG,EAAE;QACtB,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,eAAe,GAAG,IAAI,yBAAe,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAE1E,MAAM,OAAO,GAAW,MAAM,EAAE,CAAC,QAAQ,CACvC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,4BAA4B,CAAC,EAAE,EAAC,QAAQ,EAAC,MAAM,EAAE,CAC1E,CAAC;YACF,IAAA,aAAM,EAAC,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACvG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,eAAe,GAAG,IAAI,yBAAe,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAE3E,MAAM,OAAO,GAAW,MAAM,EAAE,CAAC,QAAQ,CACvC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,6BAA6B,CAAC,EAAE,EAAC,QAAQ,EAAC,MAAM,EAAE,CAC3E,CAAC;YACF,IAAA,aAAM,EAAC,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACvG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,eAAe,GAAG,IAAI,yBAAe,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAE3E,MAAM,OAAO,GAAW,MAAM,EAAE,CAAC,QAAQ,CACvC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,yBAAyB,CAAC,EAAE,EAAC,QAAQ,EAAC,MAAM,EAAE,CACvE,CAAC;YACF,IAAA,aAAM,EAAC,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACvG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe } from \"mocha\";\nimport { expect } from \"chai\";\nimport ScanJobSettings from \"../src/ScanJobSettings\";\nimport path from \"path\";\nimport * as fs from \"fs/promises\";\n\ndescribe(\"ScanJobSettings\", () => {\n describe(\"toXML\", () => {\n it(\"Allows to describe an ADF two side\", async () => {\n const scanJobSettings = new ScanJobSettings(\"Adf\", \"Document\", 200, true);\n\n const content: string = await fs.readFile(\n path.resolve(__dirname, \"./asset/adf_duplex_job.xml\"), {encoding:'utf8' }\n );\n expect((await scanJobSettings.toXML()).trimEnd()).to.be.eq(content.trimEnd().replace(/\\r\\n/g, \"\\n\"));\n });\n\n it(\"Allows to describe an ADF single side\", async () => {\n const scanJobSettings = new ScanJobSettings(\"Adf\", \"Document\", 200, false);\n\n const content: string = await fs.readFile(\n path.resolve(__dirname, \"./asset/adf_simplex_job.xml\"), {encoding:'utf8' }\n );\n expect((await scanJobSettings.toXML()).trimEnd()).to.be.eq(content.trimEnd().replace(/\\r\\n/g, \"\\n\"));\n });\n\n it(\"Allows to describe dpi of 300\", async () => {\n const scanJobSettings = new ScanJobSettings(\"Adf\", \"Document\", 300, false);\n\n const content: string = await fs.readFile(\n path.resolve(__dirname, \"./asset/300_dpi_job.xml\"), {encoding:'utf8' }\n );\n expect((await scanJobSettings.toXML()).trimEnd()).to.be.eq(content.trimEnd().replace(/\\r\\n/g, \"\\n\"));\n });\n });\n});\n"]}
1
+ {"version":3,"file":"ScanJobSettings.test.js","sourceRoot":"","sources":["../../test/ScanJobSettings.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe } from \"mocha\";\nimport { expect } from \"chai\";\nimport ScanJobSettings from \"../src/ScanJobSettings\";\nimport path from \"path\";\nimport * as fs from \"fs/promises\";\nimport { InputSource } from \"../src/InputSource\";\n\ndescribe(\"ScanJobSettings\", () => {\n describe(\"toXML\", () => {\n it(\"Allows to describe an ADF two side\", async () => {\n const scanJobSettings = new ScanJobSettings(InputSource.Adf, \"Document\", 200, null, null, true);\n\n const content: string = await fs.readFile(\n path.resolve(__dirname, \"./asset/adf_duplex_job.xml\"), {encoding:'utf8' }\n );\n expect((await scanJobSettings.toXML()).trimEnd()).to.be.eq(content.trimEnd().replace(/\\r\\n/g, \"\\n\"));\n });\n\n it(\"Allows to describe an ADF single side\", async () => {\n const scanJobSettings = new ScanJobSettings(InputSource.Adf, \"Document\", 200, null, null, false);\n\n const content: string = await fs.readFile(\n path.resolve(__dirname, \"./asset/adf_simplex_job.xml\"), {encoding:'utf8' }\n );\n expect((await scanJobSettings.toXML()).trimEnd()).to.be.eq(content.trimEnd().replace(/\\r\\n/g, \"\\n\"));\n });\n\n it(\"Allows to describe dpi of 300\", async () => {\n const scanJobSettings = new ScanJobSettings(InputSource.Adf, \"Document\", 300, null, null, false);\n\n const content: string = await fs.readFile(\n path.resolve(__dirname, \"./asset/300_dpi_job.xml\"), {encoding:'utf8' }\n );\n expect((await scanJobSettings.toXML()).trimEnd()).to.be.eq(content.trimEnd().replace(/\\r\\n/g, \"\\n\"));\n });\n\n it (\"Allows to describe a custom width and height\", async () => {\n const scanJobSettings = new ScanJobSettings(InputSource.Adf, \"Document\", 200, 1000, 4000, false);\n\n const content: string = await fs.readFile(\n path.resolve(__dirname, \"./asset/adf_simplex_custom_job.xml\"), {encoding:'utf8' }\n );\n expect((await scanJobSettings.toXML()).trimEnd()).to.be.eq(content.trimEnd().replace(/\\r\\n/g, \"\\n\"));\n })\n });\n});\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mocha_1 = require("mocha");
4
+ const chai_1 = require("chai");
5
+ const scanProcessing_1 = require("../src/scanProcessing");
6
+ const InputSource_1 = require("../src/InputSource");
7
+ (0, mocha_1.describe)("scanProcessing", () => {
8
+ let scanConfig;
9
+ let deviceCapabilities;
10
+ beforeEach(async () => {
11
+ scanConfig = {
12
+ resolution: 200,
13
+ width: null,
14
+ height: null,
15
+ directoryConfig: {
16
+ directory: undefined,
17
+ tempDirectory: undefined,
18
+ filePattern: undefined,
19
+ },
20
+ };
21
+ deviceCapabilities = {
22
+ supportsMultiItemScanFromPlaten: false,
23
+ useWalkupScanToComp: false,
24
+ platenMaxWidth: null,
25
+ platenMaxHeight: null,
26
+ adfMaxWidth: null,
27
+ adfMaxHeight: null,
28
+ };
29
+ });
30
+ (0, mocha_1.describe)("getScanWidth", async () => {
31
+ const inputSource = InputSource_1.InputSource.Adf;
32
+ (0, mocha_1.describe)("Adf", async () => {
33
+ it("Does not define a value if nothing provided", async () => {
34
+ const width = (0, scanProcessing_1.getScanWidth)(scanConfig, inputSource, deviceCapabilities);
35
+ (0, chai_1.expect)(width).to.be.eq(null);
36
+ });
37
+ it("Does not define a value if negative provided", async () => {
38
+ scanConfig.width = -1;
39
+ const width = (0, scanProcessing_1.getScanWidth)(scanConfig, inputSource, deviceCapabilities);
40
+ (0, chai_1.expect)(width).to.be.eq(null);
41
+ });
42
+ it("Define the value if no max available from device", async () => {
43
+ scanConfig.width = 2583;
44
+ const width = (0, scanProcessing_1.getScanWidth)(scanConfig, inputSource, deviceCapabilities);
45
+ (0, chai_1.expect)(width).to.be.eq(2583);
46
+ });
47
+ });
48
+ (0, mocha_1.describe)("Platen", async () => {
49
+ const inputSource = InputSource_1.InputSource.Platen;
50
+ it("Does not define a value if nothing provided", async () => {
51
+ const width = (0, scanProcessing_1.getScanWidth)(scanConfig, inputSource, deviceCapabilities);
52
+ (0, chai_1.expect)(width).to.be.eq(null);
53
+ });
54
+ it("Does not define a value if negative provided", async () => {
55
+ scanConfig.width = -1;
56
+ const width = (0, scanProcessing_1.getScanWidth)(scanConfig, inputSource, deviceCapabilities);
57
+ (0, chai_1.expect)(width).to.be.eq(null);
58
+ });
59
+ it("Define the value if no max available from device", async () => {
60
+ scanConfig.width = 2583;
61
+ const width = (0, scanProcessing_1.getScanWidth)(scanConfig, inputSource, deviceCapabilities);
62
+ (0, chai_1.expect)(width).to.be.eq(2583);
63
+ });
64
+ });
65
+ });
66
+ (0, mocha_1.describe)("getScanHeight", async () => {
67
+ const inputSource = InputSource_1.InputSource.Adf;
68
+ (0, mocha_1.describe)("Adf", async () => {
69
+ it("Does not define a value if nothing provided", async () => {
70
+ const height = (0, scanProcessing_1.getScanHeight)(scanConfig, inputSource, deviceCapabilities);
71
+ (0, chai_1.expect)(height).to.be.eq(null);
72
+ });
73
+ it("Does not define a value if negative provided", async () => {
74
+ scanConfig.height = -1;
75
+ const height = (0, scanProcessing_1.getScanHeight)(scanConfig, inputSource, deviceCapabilities);
76
+ (0, chai_1.expect)(height).to.be.eq(null);
77
+ });
78
+ it("Define the value if no max available from device", async () => {
79
+ scanConfig.height = 1269;
80
+ const width = (0, scanProcessing_1.getScanHeight)(scanConfig, inputSource, deviceCapabilities);
81
+ (0, chai_1.expect)(width).to.be.eq(1269);
82
+ });
83
+ });
84
+ (0, mocha_1.describe)("Platen", async () => {
85
+ const inputSource = InputSource_1.InputSource.Platen;
86
+ it("Does not define a value if nothing provided", async () => {
87
+ const height = (0, scanProcessing_1.getScanHeight)(scanConfig, inputSource, deviceCapabilities);
88
+ (0, chai_1.expect)(height).to.be.eq(null);
89
+ });
90
+ it("Does not define a value if negative provided", async () => {
91
+ scanConfig.height = -1;
92
+ const height = (0, scanProcessing_1.getScanHeight)(scanConfig, inputSource, deviceCapabilities);
93
+ (0, chai_1.expect)(height).to.be.eq(null);
94
+ });
95
+ it("Define the value if no max available from device", async () => {
96
+ scanConfig.height = 1269;
97
+ const height = (0, scanProcessing_1.getScanHeight)(scanConfig, inputSource, deviceCapabilities);
98
+ (0, chai_1.expect)(height).to.be.eq(1269);
99
+ });
100
+ });
101
+ });
102
+ });
103
+ //# sourceMappingURL=scanProcessing.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanProcessing.test.js","sourceRoot":"","sources":["../../test/scanProcessing.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe } from \"mocha\";\nimport { expect } from \"chai\";\nimport {\n getScanWidth,\n getScanHeight,\n ScanConfig,\n} from \"../src/scanProcessing\";\nimport { DeviceCapabilities } from \"../src/DeviceCapabilities\";\nimport { InputSource } from \"../src/InputSource\";\n\ndescribe(\"scanProcessing\", () => {\n let scanConfig: ScanConfig;\n let deviceCapabilities: DeviceCapabilities;\n\n beforeEach(async () => {\n scanConfig = {\n resolution: 200,\n width: null,\n height: null,\n directoryConfig: {\n directory: undefined,\n tempDirectory: undefined,\n filePattern: undefined,\n },\n };\n deviceCapabilities = {\n supportsMultiItemScanFromPlaten: false,\n useWalkupScanToComp: false,\n platenMaxWidth: null,\n platenMaxHeight: null,\n adfMaxWidth: null,\n adfMaxHeight: null,\n };\n });\n\n describe(\"getScanWidth\", async () => {\n const inputSource = InputSource.Adf;\n describe(\"Adf\", async () => {\n it(\"Does not define a value if nothing provided\", async () => {\n const width = getScanWidth(scanConfig, inputSource, deviceCapabilities);\n expect(width).to.be.eq(null);\n });\n it(\"Does not define a value if negative provided\", async () => {\n scanConfig.width = -1;\n const width = getScanWidth(scanConfig, inputSource, deviceCapabilities);\n expect(width).to.be.eq(null);\n });\n it(\"Define the value if no max available from device\", async () => {\n scanConfig.width = 2583;\n const width = getScanWidth(scanConfig, inputSource, deviceCapabilities);\n expect(width).to.be.eq(2583);\n });\n });\n describe(\"Platen\", async () => {\n const inputSource = InputSource.Platen;\n it(\"Does not define a value if nothing provided\", async () => {\n const width = getScanWidth(scanConfig, inputSource, deviceCapabilities);\n expect(width).to.be.eq(null);\n });\n it(\"Does not define a value if negative provided\", async () => {\n scanConfig.width = -1;\n const width = getScanWidth(scanConfig, inputSource, deviceCapabilities);\n expect(width).to.be.eq(null);\n });\n it(\"Define the value if no max available from device\", async () => {\n scanConfig.width = 2583;\n const width = getScanWidth(scanConfig, inputSource, deviceCapabilities);\n expect(width).to.be.eq(2583);\n });\n });\n });\n\n describe(\"getScanHeight\", async () => {\n const inputSource = InputSource.Adf;\n describe(\"Adf\", async () => {\n it(\"Does not define a value if nothing provided\", async () => {\n const height = getScanHeight(scanConfig, inputSource, deviceCapabilities);\n expect(height).to.be.eq(null);\n });\n it(\"Does not define a value if negative provided\", async () => {\n scanConfig.height = -1;\n const height = getScanHeight(scanConfig, inputSource, deviceCapabilities);\n expect(height).to.be.eq(null);\n });\n it(\"Define the value if no max available from device\", async () => {\n scanConfig.height = 1269;\n const width = getScanHeight(scanConfig, inputSource, deviceCapabilities);\n expect(width).to.be.eq(1269);\n });\n });\n describe(\"Platen\", async () => {\n const inputSource = InputSource.Platen;\n it(\"Does not define a value if nothing provided\", async () => {\n const height = getScanHeight(scanConfig, inputSource, deviceCapabilities);\n expect(height).to.be.eq(null);\n });\n it(\"Does not define a value if negative provided\", async () => {\n scanConfig.height = -1;\n const height = getScanHeight(scanConfig, inputSource, deviceCapabilities);\n expect(height).to.be.eq(null);\n });\n it(\"Define the value if no max available from device\", async () => {\n scanConfig.height = 1269;\n const height = getScanHeight(scanConfig, inputSource, deviceCapabilities);\n expect(height).to.be.eq(1269);\n });\n });\n });\n});\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-hp-scan-to",
3
- "version": "1.3.1",
3
+ "version": "1.4.1",
4
4
  "description": "Scan document to Computer for HP All-in-One Printers",
5
5
  "keywords": [
6
6
  "Officejet",
@@ -32,7 +32,7 @@
32
32
  "README.md"
33
33
  ],
34
34
  "engines": {
35
- "node": ">=12.22.0"
35
+ "node": ">=16.20.0"
36
36
  },
37
37
  "author": {
38
38
  "email": "manuc66@gmail.com",
@@ -54,16 +54,16 @@
54
54
  "@types/config": "^3.3.0",
55
55
  "@types/dateformat": "^5.0.0",
56
56
  "@types/mocha": "^10.0.0",
57
- "@types/node": "^18.11.0",
57
+ "@types/node": "^20.1.7",
58
58
  "@types/xml2js": "^0.4.11",
59
59
  "chai": "^4.3.6",
60
60
  "chai-string": "^1.5.0",
61
61
  "codecov": "^3.8.3",
62
62
  "eslint": "^8.25.0",
63
63
  "mocha": "^10.1.0",
64
- "nodemon": "^2.0.20",
64
+ "nodemon": "^3.0.1",
65
65
  "nyc": "^15.1.0",
66
- "prettier": "^2.7.1",
66
+ "prettier": "^3.0.0",
67
67
  "ts-mockito": "^2.6.1",
68
68
  "ts-node": "^10.9.1",
69
69
  "typescript": "^5.0.2",
@@ -72,10 +72,10 @@
72
72
  "dependencies": {
73
73
  "axios": "^1.1.3",
74
74
  "bonjour": "^3.5.0",
75
- "commander": "^10.0.0",
75
+ "commander": "^11.0.0",
76
76
  "config": "^3.3.8",
77
77
  "dateformat": "^4.6.3",
78
78
  "jspdf": "^2.5.1",
79
- "xml2js": "^0.4.23"
79
+ "xml2js": "^0.6.0"
80
80
  }
81
81
  }
@@ -45,7 +45,7 @@ export default class Destination {
45
45
  "</WalkupScanDestination>";
46
46
 
47
47
  const parsed = await util.promisify<string, WalkupScanDestinationData>(
48
- parser.parseString
48
+ parser.parseString,
49
49
  )(rawDestination);
50
50
 
51
51
  parsed.WalkupScanDestination.Hostname[0]._ = this.hostname;
@@ -1,4 +1,8 @@
1
1
  export interface DeviceCapabilities {
2
2
  supportsMultiItemScanFromPlaten: boolean;
3
3
  useWalkupScanToComp: boolean;
4
+ platenMaxWidth: number | null;
5
+ platenMaxHeight: number | null;
6
+ adfMaxWidth: number | null;
7
+ adfMaxHeight: number | null;
4
8
  }
@@ -28,7 +28,7 @@ export default class DiscoveryTree {
28
28
  const hpLedmWalkupScanToCompManifest = this.data["ledm:DiscoveryTree"][
29
29
  "ledm:SupportedIfc"
30
30
  ].find(
31
- (x) => x["dd:ResourceType"][0] === "ledm:hpLedmWalkupScanToCompManifest"
31
+ (x) => x["dd:ResourceType"][0] === "ledm:hpLedmWalkupScanToCompManifest",
32
32
  );
33
33
  if (hpLedmWalkupScanToCompManifest !== undefined) {
34
34
  return hpLedmWalkupScanToCompManifest["ledm:ManifestURI"][0];
package/src/Event.ts CHANGED
@@ -28,9 +28,9 @@ export default class Event {
28
28
  }
29
29
 
30
30
  get destinationURI(): string | undefined {
31
- if (this.data.hasOwnProperty("ev:Payload")) {
31
+ if (Object.prototype.hasOwnProperty.call(this.data, "ev:Payload")) {
32
32
  const destination = this.data["ev:Payload"].find((v) =>
33
- v["dd:ResourceType"]["0"].includes("Destination")
33
+ v["dd:ResourceType"]["0"].includes("Destination"),
34
34
  );
35
35
 
36
36
  return destination ? destination["dd:ResourceURI"]["0"] : undefined;
@@ -39,9 +39,9 @@ export default class Event {
39
39
  }
40
40
 
41
41
  get compEventURI(): string | undefined {
42
- if (this.data.hasOwnProperty("ev:Payload")) {
42
+ if (Object.prototype.hasOwnProperty.call(this.data, "ev:Payload")) {
43
43
  const compEvent = this.data["ev:Payload"].find((v) =>
44
- v["dd:ResourceType"]["0"].includes("CompEvent")
44
+ v["dd:ResourceType"]["0"].includes("CompEvent"),
45
45
  );
46
46
 
47
47
  return compEvent ? compEvent["dd:ResourceURI"]["0"] : undefined;
package/src/EventTable.ts CHANGED
@@ -25,7 +25,7 @@ export default class EventTable {
25
25
 
26
26
  static async createEtagEventTable(
27
27
  content: string,
28
- etagReceived: string
28
+ etagReceived: string,
29
29
  ): Promise<EtagEventTable> {
30
30
  const parsed = await parseString(content);
31
31
  return {