node-hp-scan-to 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +49 -10
  3. package/dist/Destination.js +36 -84
  4. package/dist/Destination.js.map +1 -1
  5. package/dist/DeviceCapabilities.d.ts +4 -0
  6. package/dist/DeviceCapabilities.js +3 -0
  7. package/dist/DeviceCapabilities.js.map +1 -0
  8. package/dist/DiscoveryTree.d.ts +16 -0
  9. package/dist/DiscoveryTree.js +38 -0
  10. package/dist/DiscoveryTree.js.map +1 -0
  11. package/dist/Event.d.ts +1 -1
  12. package/dist/Event.js +24 -39
  13. package/dist/Event.js.map +1 -1
  14. package/dist/EventTable.d.ts +5 -0
  15. package/dist/EventTable.js +24 -18
  16. package/dist/EventTable.js.map +1 -1
  17. package/dist/HPApi.d.ts +26 -18
  18. package/dist/HPApi.js +386 -461
  19. package/dist/HPApi.js.map +1 -1
  20. package/dist/Job.d.ts +8 -7
  21. package/dist/Job.js +69 -86
  22. package/dist/Job.js.map +1 -1
  23. package/dist/JpegUtil.js +73 -82
  24. package/dist/JpegUtil.js.map +1 -1
  25. package/dist/KnownShortcut.d.ts +1 -0
  26. package/dist/KnownShortcut.js +3 -0
  27. package/dist/KnownShortcut.js.map +1 -0
  28. package/dist/PathHelper.d.ts +2 -1
  29. package/dist/PathHelper.js +41 -68
  30. package/dist/PathHelper.js.map +1 -1
  31. package/dist/ScanCaps.d.ts +7 -0
  32. package/dist/ScanCaps.js +17 -0
  33. package/dist/ScanCaps.js.map +1 -0
  34. package/dist/ScanContent.js +18 -73
  35. package/dist/ScanContent.js.map +1 -1
  36. package/dist/ScanJobManifest.d.ts +23 -0
  37. package/dist/ScanJobManifest.js +24 -0
  38. package/dist/ScanJobManifest.js.map +1 -0
  39. package/dist/ScanJobSettings.d.ts +3 -1
  40. package/dist/ScanJobSettings.js +48 -88
  41. package/dist/ScanJobSettings.js.map +1 -1
  42. package/dist/ScanStatus.d.ts +1 -0
  43. package/dist/ScanStatus.js +27 -28
  44. package/dist/ScanStatus.js.map +1 -1
  45. package/dist/WalkupScanDestination.d.ts +11 -13
  46. package/dist/WalkupScanDestination.js +32 -35
  47. package/dist/WalkupScanDestination.js.map +1 -1
  48. package/dist/WalkupScanDestinations.d.ts +1 -0
  49. package/dist/WalkupScanDestinations.js +21 -18
  50. package/dist/WalkupScanDestinations.js.map +1 -1
  51. package/dist/WalkupScanManifest.d.ts +23 -0
  52. package/dist/WalkupScanManifest.js +25 -0
  53. package/dist/WalkupScanManifest.js.map +1 -0
  54. package/dist/WalkupScanToCompCaps.d.ts +12 -0
  55. package/dist/WalkupScanToCompCaps.js +20 -0
  56. package/dist/WalkupScanToCompCaps.js.map +1 -0
  57. package/dist/WalkupScanToCompDestination.d.ts +10 -14
  58. package/dist/WalkupScanToCompDestination.js +32 -38
  59. package/dist/WalkupScanToCompDestination.js.map +1 -1
  60. package/dist/WalkupScanToCompDestinations.d.ts +1 -0
  61. package/dist/WalkupScanToCompDestinations.js +21 -18
  62. package/dist/WalkupScanToCompDestinations.js.map +1 -1
  63. package/dist/WalkupScanToCompEvent.d.ts +2 -1
  64. package/dist/WalkupScanToCompEvent.js +14 -11
  65. package/dist/WalkupScanToCompEvent.js.map +1 -1
  66. package/dist/WalkupScanToCompManifest.d.ts +23 -0
  67. package/dist/WalkupScanToCompManifest.js +25 -0
  68. package/dist/WalkupScanToCompManifest.js.map +1 -0
  69. package/dist/delay.d.ts +1 -0
  70. package/dist/delay.js +10 -0
  71. package/dist/delay.js.map +1 -0
  72. package/dist/fixJpegSize.d.ts +19 -0
  73. package/dist/fixJpegSize.js +292 -0
  74. package/dist/fixJpegSize.js.map +1 -0
  75. package/dist/index.js +209 -607
  76. package/dist/index.js.map +1 -1
  77. package/dist/listening.d.ts +9 -0
  78. package/dist/listening.js +108 -0
  79. package/dist/listening.js.map +1 -0
  80. package/dist/readDeviceCapabilities.d.ts +2 -0
  81. package/dist/readDeviceCapabilities.js +41 -0
  82. package/dist/readDeviceCapabilities.js.map +1 -0
  83. package/dist/scanProcess.d.ts +19 -0
  84. package/dist/scanProcess.js +292 -0
  85. package/dist/scanProcess.js.map +1 -0
  86. package/dist/scanProcessing.d.ts +20 -0
  87. package/dist/scanProcessing.js +320 -0
  88. package/dist/scanProcessing.js.map +1 -0
  89. package/dist/src/Destination.d.ts +8 -0
  90. package/dist/src/Destination.js +68 -0
  91. package/dist/src/Destination.js.map +1 -0
  92. package/dist/src/DiscoveryTree.d.ts +16 -0
  93. package/dist/src/DiscoveryTree.js +38 -0
  94. package/dist/src/DiscoveryTree.js.map +1 -0
  95. package/dist/src/Event.d.ts +21 -0
  96. package/dist/src/Event.js +32 -0
  97. package/dist/src/Event.js.map +1 -0
  98. package/dist/src/EventTable.d.ts +16 -0
  99. package/dist/src/EventTable.js +33 -0
  100. package/dist/src/EventTable.js.map +1 -0
  101. package/dist/src/HPApi.d.ts +50 -0
  102. package/dist/src/HPApi.js +454 -0
  103. package/dist/src/HPApi.js.map +1 -0
  104. package/dist/src/Job.d.ts +37 -0
  105. package/dist/src/Job.js +78 -0
  106. package/dist/src/Job.js.map +1 -0
  107. package/dist/src/JpegUtil.d.ts +26 -0
  108. package/dist/src/JpegUtil.js +229 -0
  109. package/dist/src/JpegUtil.js.map +1 -0
  110. package/dist/src/KnownShortcut.d.ts +1 -0
  111. package/dist/src/KnownShortcut.js +3 -0
  112. package/dist/src/KnownShortcut.js.map +1 -0
  113. package/dist/src/PathHelper.d.ts +6 -0
  114. package/dist/src/PathHelper.js +52 -0
  115. package/dist/src/PathHelper.js.map +1 -0
  116. package/dist/src/ScanCaps.d.ts +7 -0
  117. package/dist/src/ScanCaps.js +17 -0
  118. package/dist/src/ScanCaps.js.map +1 -0
  119. package/dist/src/ScanJobManifest.d.ts +23 -0
  120. package/dist/src/ScanJobManifest.js +24 -0
  121. package/dist/src/ScanJobManifest.js.map +1 -0
  122. package/dist/src/ScanJobSettings.d.ts +8 -0
  123. package/dist/src/ScanJobSettings.js +56 -0
  124. package/dist/src/ScanJobSettings.js.map +1 -0
  125. package/dist/src/ScanStatus.d.ts +19 -0
  126. package/dist/src/ScanStatus.js +35 -0
  127. package/dist/src/ScanStatus.js.map +1 -0
  128. package/dist/src/WalkupScanDestination.d.ts +22 -0
  129. package/dist/src/WalkupScanDestination.js +38 -0
  130. package/dist/src/WalkupScanDestination.js.map +1 -0
  131. package/dist/src/WalkupScanDestinations.d.ts +12 -0
  132. package/dist/src/WalkupScanDestinations.js +30 -0
  133. package/dist/src/WalkupScanDestinations.js.map +1 -0
  134. package/dist/src/WalkupScanManifest.d.ts +23 -0
  135. package/dist/src/WalkupScanManifest.js +25 -0
  136. package/dist/src/WalkupScanManifest.js.map +1 -0
  137. package/dist/src/WalkupScanToCompCaps.d.ts +12 -0
  138. package/dist/src/WalkupScanToCompCaps.js +20 -0
  139. package/dist/src/WalkupScanToCompCaps.js.map +1 -0
  140. package/dist/src/WalkupScanToCompDestination.d.ts +22 -0
  141. package/dist/src/WalkupScanToCompDestination.js +38 -0
  142. package/dist/src/WalkupScanToCompDestination.js.map +1 -0
  143. package/dist/src/WalkupScanToCompDestinations.d.ts +12 -0
  144. package/dist/src/WalkupScanToCompDestinations.js +30 -0
  145. package/dist/src/WalkupScanToCompDestinations.js.map +1 -0
  146. package/dist/src/WalkupScanToCompEvent.d.ts +11 -0
  147. package/dist/src/WalkupScanToCompEvent.js +20 -0
  148. package/dist/src/WalkupScanToCompEvent.js.map +1 -0
  149. package/dist/src/WalkupScanToCompManifest.d.ts +23 -0
  150. package/dist/src/WalkupScanToCompManifest.js +25 -0
  151. package/dist/src/WalkupScanToCompManifest.js.map +1 -0
  152. package/dist/src/delay.d.ts +1 -0
  153. package/dist/src/delay.js +10 -0
  154. package/dist/src/delay.js.map +1 -0
  155. package/dist/test/DiscoveryTree.test.d.ts +1 -0
  156. package/dist/test/DiscoveryTree.test.js +68 -0
  157. package/dist/test/DiscoveryTree.test.js.map +1 -0
  158. package/dist/test/EtagEventTable.test.d.ts +1 -0
  159. package/dist/test/EtagEventTable.test.js +93 -0
  160. package/dist/test/EtagEventTable.test.js.map +1 -0
  161. package/dist/test/Job.test.d.ts +1 -0
  162. package/dist/test/Job.test.js +104 -0
  163. package/dist/test/Job.test.js.map +1 -0
  164. package/dist/test/JpegUtil.test.d.ts +1 -0
  165. package/dist/test/JpegUtil.test.js +51 -0
  166. package/dist/test/JpegUtil.test.js.map +1 -0
  167. package/dist/test/PathHelper.test.d.ts +1 -0
  168. package/dist/test/PathHelper.test.js +99 -0
  169. package/dist/test/PathHelper.test.js.map +1 -0
  170. package/dist/test/ScanJobManifest.test.d.ts +1 -0
  171. package/dist/test/ScanJobManifest.test.js +56 -0
  172. package/dist/test/ScanJobManifest.test.js.map +1 -0
  173. package/dist/test/ScanJobSettings.test.d.ts +1 -0
  174. package/dist/test/ScanJobSettings.test.js +53 -0
  175. package/dist/test/ScanJobSettings.test.js.map +1 -0
  176. package/dist/test/ScanStatus.test.d.ts +1 -0
  177. package/dist/test/ScanStatus.test.js +75 -0
  178. package/dist/test/ScanStatus.test.js.map +1 -0
  179. package/dist/test/WalkupScanDestination.test.d.ts +1 -0
  180. package/dist/test/WalkupScanDestination.test.js +80 -0
  181. package/dist/test/WalkupScanDestination.test.js.map +1 -0
  182. package/dist/test/WalkupScanDestinations.test.d.ts +1 -0
  183. package/dist/test/WalkupScanDestinations.test.js +68 -0
  184. package/dist/test/WalkupScanDestinations.test.js.map +1 -0
  185. package/dist/test/WalkupScanManifest.test.d.ts +1 -0
  186. package/dist/test/WalkupScanManifest.test.js +46 -0
  187. package/dist/test/WalkupScanManifest.test.js.map +1 -0
  188. package/dist/test/WalkupScanToCompCaps.test.d.ts +1 -0
  189. package/dist/test/WalkupScanToCompCaps.test.js +56 -0
  190. package/dist/test/WalkupScanToCompCaps.test.js.map +1 -0
  191. package/dist/test/WalkupScanToCompDestination.test.d.ts +1 -0
  192. package/dist/test/WalkupScanToCompDestination.test.js +58 -0
  193. package/dist/test/WalkupScanToCompDestination.test.js.map +1 -0
  194. package/dist/test/WalkupScanToCompDestinations.test.d.ts +1 -0
  195. package/dist/test/WalkupScanToCompDestinations.test.js +58 -0
  196. package/dist/test/WalkupScanToCompDestinations.test.js.map +1 -0
  197. package/dist/test/WalkupScanToCompEvent.test.d.ts +1 -0
  198. package/dist/test/WalkupScanToCompEvent.test.js +46 -0
  199. package/dist/test/WalkupScanToCompEvent.test.js.map +1 -0
  200. package/dist/test/WalkupScanToCompManifest.test.d.ts +1 -0
  201. package/dist/test/WalkupScanToCompManifest.test.js +46 -0
  202. package/dist/test/WalkupScanToCompManifest.test.js.map +1 -0
  203. package/dist/test/clean.d.ts +1 -0
  204. package/dist/test/clean.js +21 -0
  205. package/dist/test/clean.js.map +1 -0
  206. package/package.json +27 -18
  207. package/src/Destination.ts +1 -1
  208. package/src/DeviceCapabilities.ts +4 -0
  209. package/src/DiscoveryTree.ts +56 -0
  210. package/src/Event.ts +17 -7
  211. package/src/EventTable.ts +20 -0
  212. package/src/HPApi.ts +245 -103
  213. package/src/Job.ts +51 -29
  214. package/src/JpegUtil.ts +8 -4
  215. package/src/KnownShortcut.ts +6 -0
  216. package/src/PathHelper.ts +47 -13
  217. package/src/ScanCaps.ts +19 -0
  218. package/src/ScanContent.ts +4 -1
  219. package/src/ScanJobManifest.ts +55 -0
  220. package/src/ScanJobSettings.ts +18 -3
  221. package/src/ScanStatus.ts +9 -0
  222. package/src/WalkupScanDestination.ts +42 -18
  223. package/src/WalkupScanDestinations.ts +12 -0
  224. package/src/WalkupScanManifest.ts +59 -0
  225. package/src/WalkupScanToCompCaps.ts +36 -0
  226. package/src/WalkupScanToCompDestination.ts +38 -24
  227. package/src/WalkupScanToCompDestinations.ts +12 -0
  228. package/src/WalkupScanToCompEvent.ts +15 -3
  229. package/src/WalkupScanToCompManifest.ts +59 -0
  230. package/src/delay.ts +5 -0
  231. package/src/index.ts +267 -465
  232. package/src/listening.ts +145 -0
  233. package/src/readDeviceCapabilities.ts +46 -0
  234. package/src/scanProcessing.ts +535 -0
  235. package/tsconfig.json +1 -1
@@ -0,0 +1,46 @@
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 WalkupScanToCompEvent_1 = __importDefault(require("../src/WalkupScanToCompEvent"));
34
+ (0, mocha_1.describe)("WalkupScanToCompEvent", () => {
35
+ (0, mocha_1.describe)("Parsing walkupScanToCompEvent.xml", async () => {
36
+ let compEvent;
37
+ before(async () => {
38
+ const content = await fs.readFile(path_1.default.resolve(__dirname, "./asset/walkupScanToCompEvent.xml"), { encoding: "utf8" });
39
+ compEvent = await WalkupScanToCompEvent_1.default.createWalkupScanToCompEvent(content);
40
+ });
41
+ it("Parse eventType", async () => {
42
+ (0, chai_1.expect)(compEvent.eventType).to.be.eq("HostSelected");
43
+ });
44
+ });
45
+ });
46
+ //# sourceMappingURL=WalkupScanToCompEvent.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalkupScanToCompEvent.test.js","sourceRoot":"","sources":["../../test/WalkupScanToCompEvent.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAiC;AACjC,+BAA8B;AAC9B,gDAAwB;AACxB,gDAAkC;AAClC,yFAAiE;AAEjE,IAAA,gBAAQ,EAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAA,gBAAQ,EAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACvD,IAAI,SAAgC,CAAC;QAErC,MAAM,CAAC,KAAK,IAAI,EAAE;YAChB,MAAM,OAAO,GAAW,MAAM,EAAE,CAAC,QAAQ,CACvC,cAAI,CAAC,OAAO,CACV,SAAS,EACT,mCAAmC,CACpC,EACD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;YACF,SAAS,GAAG,MAAM,+BAAqB,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;YAC/B,IAAA,aAAM,EAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe } from \"mocha\";\nimport { expect } from \"chai\";\nimport path from \"path\";\nimport * as fs from \"fs/promises\";\nimport WalkupScanToCompEvent from \"../src/WalkupScanToCompEvent\";\n\ndescribe(\"WalkupScanToCompEvent\", () => {\n describe(\"Parsing walkupScanToCompEvent.xml\", async () => {\n let compEvent: WalkupScanToCompEvent;\n\n before(async () => {\n const content: string = await fs.readFile(\n path.resolve(\n __dirname,\n \"./asset/walkupScanToCompEvent.xml\"\n ),\n { encoding: \"utf8\" }\n );\n compEvent = await WalkupScanToCompEvent.createWalkupScanToCompEvent(content);\n });\n\n it(\"Parse eventType\", async () => {\n expect(compEvent.eventType).to.be.eq(\"HostSelected\");\n });\n });\n});\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,46 @@
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 WalkupScanToCompManifest_1 = __importDefault(require("../src/WalkupScanToCompManifest"));
34
+ (0, mocha_1.describe)("WalkupScanToCompManifest", () => {
35
+ (0, mocha_1.describe)("Parsing walkupScanToCompManifest.xml", async () => {
36
+ let walkupScanToCompManifest;
37
+ before(async () => {
38
+ const content = await fs.readFile(path_1.default.resolve(__dirname, "./asset/walkupScanToCompManifest.xml"), { encoding: "utf8" });
39
+ walkupScanToCompManifest = await WalkupScanToCompManifest_1.default.createWalkupScanToCompManifest(content);
40
+ });
41
+ it("Parse WalkupScanToCompCaps uri", async () => {
42
+ (0, chai_1.expect)(walkupScanToCompManifest.WalkupScanToCompCapsURI).to.be.eq("/WalkupScanToComp/WalkupScanToCompCaps");
43
+ });
44
+ });
45
+ });
46
+ //# sourceMappingURL=WalkupScanToCompManifest.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalkupScanToCompManifest.test.js","sourceRoot":"","sources":["../../test/WalkupScanToCompManifest.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAiC;AACjC,+BAA8B;AAC9B,gDAAwB;AACxB,gDAAkC;AAClC,+FAAuE;AAEvE,IAAA,gBAAQ,EAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAA,gBAAQ,EAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QAC1D,IAAI,wBAAkD,CAAC;QAEvD,MAAM,CAAC,KAAK,IAAI,EAAE;YAChB,MAAM,OAAO,GAAW,MAAM,EAAE,CAAC,QAAQ,CACvC,cAAI,CAAC,OAAO,CACV,SAAS,EACT,sCAAsC,CACvC,EACD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;YACF,wBAAwB,GAAG,MAAM,kCAAwB,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;QACpG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,IAAA,aAAM,EAAC,wBAAwB,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,wCAAwC,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC","sourcesContent":["import { describe } from \"mocha\";\nimport { expect } from \"chai\";\nimport path from \"path\";\nimport * as fs from \"fs/promises\";\nimport WalkupScanToCompManifest from \"../src/WalkupScanToCompManifest\";\n\ndescribe(\"WalkupScanToCompManifest\", () => {\n describe(\"Parsing walkupScanToCompManifest.xml\", async () => {\n let walkupScanToCompManifest: WalkupScanToCompManifest;\n\n before(async () => {\n const content: string = await fs.readFile(\n path.resolve(\n __dirname,\n \"./asset/walkupScanToCompManifest.xml\"\n ),\n { encoding: \"utf8\" }\n );\n walkupScanToCompManifest = await WalkupScanToCompManifest.createWalkupScanToCompManifest(content);\n });\n\n it(\"Parse WalkupScanToCompCaps uri\", async () => {\n expect(walkupScanToCompManifest.WalkupScanToCompCapsURI).to.be.eq(\"/WalkupScanToComp/WalkupScanToCompCaps\");\n });\n });\n\n});\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const mocha_1 = require("mocha");
7
+ const HPApi_1 = __importDefault(require("../src/HPApi"));
8
+ (0, mocha_1.describe)("EtagEventTable", () => {
9
+ (0, mocha_1.describe)("Parsing eventTable.xml", async () => {
10
+ before(async () => {
11
+ HPApi_1.default.setDeviceIP("192.168.1.53");
12
+ });
13
+ it("Clean all destinations", async () => {
14
+ const dests = await HPApi_1.default.getWalkupScanToCompDestinations();
15
+ for (let i = 0; i < dests.destinations.length; i++) {
16
+ await HPApi_1.default.removeDestination(dests.destinations[i]);
17
+ }
18
+ });
19
+ });
20
+ });
21
+ //# sourceMappingURL=clean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../test/clean.ts"],"names":[],"mappings":";;;;;AAAA,iCAAiC;AAEjC,yDAAiC;AAEjC,IAAA,gBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAA,gBAAQ,EAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,CAAC,KAAK,IAAI,EAAE;YAChB,eAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,KAAK,GAAG,MAAM,eAAK,CAAC,+BAA+B,EAAE,CAAC;YAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAClD,MAAM,eAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe } from \"mocha\";\nimport { EtagEventTable } from \"../src/EventTable\";\nimport HPApi from \"../src/HPApi\";\n\ndescribe(\"EtagEventTable\", () => {\n describe(\"Parsing eventTable.xml\", async () => {\n before(async () => {\n HPApi.setDeviceIP(\"192.168.1.53\");\n });\n\n it(\"Clean all destinations\", async () => {\n const dests = await HPApi.getWalkupScanToCompDestinations();\n for (let i = 0; i < dests.destinations.length; i++) {\n await HPApi.removeDestination(dests.destinations[i]);\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.2.1",
3
+ "version": "1.3.0",
4
4
  "description": "Scan document to Computer for HP All-in-One Printers",
5
5
  "keywords": [
6
6
  "Officejet",
@@ -15,11 +15,14 @@
15
15
  },
16
16
  "scripts": {
17
17
  "start": "ts-node src/index.ts",
18
+ "start-debug": "ts-node src/index.ts -D",
18
19
  "build": "tsc -p .",
20
+ "built-start": "tsc -p . && node --trace-warnings ./dist/index.js",
19
21
  "start-dev": "nodemon",
20
22
  "prepublishOnly": "tsc -p ./ --outDir dist/",
21
23
  "prettier": "prettier --write \"src/**/*.ts\"",
22
- "test": "./node_modules/.bin/mocha --require ts-node/register ./test/*.test.ts"
24
+ "test": "npx mocha --require ts-node/register ./test/**/*.test.ts",
25
+ "test-ci": "npx nyc --reporter=lcov mocha -r ts-node/register ./test/**/*.test.ts && codecov"
23
26
  },
24
27
  "files": [
25
28
  "dist",
@@ -44,29 +47,35 @@
44
47
  },
45
48
  "license": "MIT",
46
49
  "devDependencies": {
47
- "@types/bonjour": "^3.5.9",
48
- "@types/chai": "^4.3.1",
49
- "@types/mocha": "^9.1.1",
50
- "@types/node": "^17.0.8",
51
- "@types/xml2js": "^0.4.9",
50
+ "@istanbuljs/nyc-config-typescript": "^1.0.2",
51
+ "@types/bonjour": "^3.5.10",
52
+ "@types/chai": "^4.3.3",
53
+ "@types/chai-string": "^1.4.2",
54
+ "@types/config": "^3.3.0",
55
+ "@types/dateformat": "^5.0.0",
56
+ "@types/mocha": "^10.0.0",
57
+ "@types/node": "^18.11.0",
58
+ "@types/xml2js": "^0.4.11",
52
59
  "chai": "^4.3.6",
53
- "mocha": "^10.0.0",
54
- "nodemon": "^2.0.14",
60
+ "chai-string": "^1.5.0",
61
+ "codecov": "^3.8.3",
62
+ "eslint": "^8.25.0",
63
+ "mocha": "^10.1.0",
64
+ "nodemon": "^2.0.20",
55
65
  "nyc": "^15.1.0",
56
- "prettier": "^2.4.1",
66
+ "prettier": "^2.7.1",
57
67
  "ts-mockito": "^2.6.1",
58
- "ts-node": "^10.7.0",
59
- "typescript": "^4.4.4"
68
+ "ts-node": "^10.9.1",
69
+ "typescript": "^5.0.2",
70
+ "yarn": "^1.22.19"
60
71
  },
61
72
  "dependencies": {
62
- "@types/dateformat": "^5.0.0",
63
- "axios": "^0.27.2",
73
+ "axios": "^1.1.3",
64
74
  "bonjour": "^3.5.0",
65
- "commander": "^9.0.0",
75
+ "commander": "^10.0.0",
76
+ "config": "^3.3.8",
66
77
  "dateformat": "^4.6.3",
67
- "eslint": "^8.15.0",
68
- "xml2js": "^0.4.23",
69
78
  "jspdf": "^2.5.1",
70
- "yarn": "^1.22.18"
79
+ "xml2js": "^0.4.23"
71
80
  }
72
81
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import {Parser, Builder} from "xml2js";
3
+ import { Parser, Builder } from "xml2js";
4
4
  import * as util from "util";
5
5
 
6
6
  const parser = new Parser();
@@ -0,0 +1,4 @@
1
+ export interface DeviceCapabilities {
2
+ supportsMultiItemScanFromPlaten: boolean;
3
+ useWalkupScanToComp: boolean;
4
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ import { Parser } from "xml2js";
3
+ const parser = new Parser();
4
+ import { promisify } from "util";
5
+ const parseString = promisify<string, DiscoveryTreeData>(parser.parseString);
6
+
7
+ export interface DiscoveryTreeData {
8
+ "ledm:DiscoveryTree": {
9
+ "ledm:SupportedIfc": {
10
+ "ledm:ManifestURI": string[];
11
+ "dd:ResourceType": string[];
12
+ }[];
13
+ };
14
+ }
15
+
16
+ export default class DiscoveryTree {
17
+ private readonly data: DiscoveryTreeData;
18
+
19
+ constructor(data: DiscoveryTreeData) {
20
+ this.data = data;
21
+ }
22
+ static async createDiscoveryTree(content: string): Promise<DiscoveryTree> {
23
+ const parsed = await parseString(content);
24
+ return new DiscoveryTree(parsed);
25
+ }
26
+
27
+ get WalkupScanToCompManifestURI(): string | null {
28
+ const hpLedmWalkupScanToCompManifest = this.data["ledm:DiscoveryTree"][
29
+ "ledm:SupportedIfc"
30
+ ].find(
31
+ (x) => x["dd:ResourceType"][0] === "ledm:hpLedmWalkupScanToCompManifest"
32
+ );
33
+ if (hpLedmWalkupScanToCompManifest !== undefined) {
34
+ return hpLedmWalkupScanToCompManifest["ledm:ManifestURI"][0];
35
+ }
36
+ return null;
37
+ }
38
+ get WalkupScanManifestURI(): string | null {
39
+ const hpLedmWalkupScanToCompManifest = this.data["ledm:DiscoveryTree"][
40
+ "ledm:SupportedIfc"
41
+ ].find((x) => x["dd:ResourceType"][0] === "hpCnxWalkupScanManifest");
42
+ if (hpLedmWalkupScanToCompManifest === undefined) {
43
+ return null;
44
+ }
45
+ return hpLedmWalkupScanToCompManifest["ledm:ManifestURI"][0];
46
+ }
47
+ get ScanJobManifestURI(): string | null {
48
+ const hpLedmWalkupScanToCompManifest = this.data["ledm:DiscoveryTree"][
49
+ "ledm:SupportedIfc"
50
+ ].find((x) => x["dd:ResourceType"][0] === "ledm:hpLedmScanJobManifest");
51
+ if (hpLedmWalkupScanToCompManifest === undefined) {
52
+ return null;
53
+ }
54
+ return hpLedmWalkupScanToCompManifest["ledm:ManifestURI"][0];
55
+ }
56
+ }
package/src/Event.ts CHANGED
@@ -6,7 +6,7 @@ export type EventData = {
6
6
  "ev:Payload": {
7
7
  "dd:ResourceURI": {
8
8
  "0": string;
9
- },
9
+ };
10
10
  "dd:ResourceType": {
11
11
  "0": string;
12
12
  };
@@ -28,15 +28,25 @@ export default class Event {
28
28
  }
29
29
 
30
30
  get destinationURI(): string | undefined {
31
- const destination = this.data["ev:Payload"].find(v => v["dd:ResourceType"]["0"].includes("Destination"));
32
-
33
- return destination ? destination["dd:ResourceURI"]["0"] : undefined;
31
+ if (this.data.hasOwnProperty("ev:Payload")) {
32
+ const destination = this.data["ev:Payload"].find((v) =>
33
+ v["dd:ResourceType"]["0"].includes("Destination")
34
+ );
35
+
36
+ return destination ? destination["dd:ResourceURI"]["0"] : undefined;
37
+ }
38
+ return undefined;
34
39
  }
35
40
 
36
41
  get compEventURI(): string | undefined {
37
- const compEvent = this.data["ev:Payload"].find(v => v["dd:ResourceType"]["0"].includes("CompEvent"));
38
-
39
- return compEvent ? compEvent["dd:ResourceURI"]["0"] : undefined;
42
+ if (this.data.hasOwnProperty("ev:Payload")) {
43
+ const compEvent = this.data["ev:Payload"].find((v) =>
44
+ v["dd:ResourceType"]["0"].includes("CompEvent")
45
+ );
46
+
47
+ return compEvent ? compEvent["dd:ResourceURI"]["0"] : undefined;
48
+ }
49
+ return undefined;
40
50
  }
41
51
 
42
52
  get isScanEvent(): boolean {
package/src/EventTable.ts CHANGED
@@ -1,6 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  import Event, { EventData } from "./Event";
4
+ import { Parser } from "xml2js";
5
+ const parser = new Parser();
6
+ import { promisify } from "util";
7
+ const parseString = promisify<string, EventTableData>(parser.parseString);
8
+
9
+ export interface EtagEventTable {
10
+ etag: string;
11
+ eventTable: EventTable;
12
+ }
4
13
 
5
14
  export interface EventTableData {
6
15
  "ev:EventTable"?: {
@@ -14,6 +23,17 @@ export default class EventTable {
14
23
  this.data = data;
15
24
  }
16
25
 
26
+ static async createEtagEventTable(
27
+ content: string,
28
+ etagReceived: string
29
+ ): Promise<EtagEventTable> {
30
+ const parsed = await parseString(content);
31
+ return {
32
+ etag: etagReceived,
33
+ eventTable: new EventTable(parsed),
34
+ };
35
+ }
36
+
17
37
  get events() {
18
38
  let eventTable = this.data["ev:EventTable"];
19
39
  if (eventTable != null && eventTable["ev:Event"] != null) {