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
@@ -1 +1 @@
1
- {"version":3,"file":"ScanJobSettings.js","sourceRoot":"","sources":["../src/ScanJobSettings.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,IAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;AACnC,IAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE7B;IAIE,yBAAY,WAAmB,EAAE,WAAmB;QAClD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAEK,+BAAK,GAAX;;;;;;wBACM,MAAM,GACR,0CAA0C;4BAC1C,gPAAgP;4BAChP,oCAAoC;4BACpC,oCAAoC;4BACpC,yBAAyB;4BACzB,wBAAwB;4BACxB,yBAAyB;4BACzB,2BAA2B;4BAC3B,2BAA2B;4BAC3B,gDAAgD;4BAChD,oCAAoC;4BACpC,4BAA4B;4BAC5B,oCAAoC;4BACpC,yCAAyC;4BACzC,eAAe;4BACf,2BAA2B;4BAC3B,qCAAqC;4BACrC,iCAAiC;4BACjC,gCAAgC;4BAChC,2BAA2B;4BAC3B,gCAAgC;4BAChC,gBAAgB;4BAChB,4CAA4C;4BAC5C,oCAAoC;4BACpC,yCAAyC;4BACzC,iBAAiB,CAAC;wBAEL,qBAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAA;;wBAAzD,MAAM,GAAG,SAAgD;wBAE/D,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;wBACtD,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;wBAElD,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC;4BAC/B,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE;4BAChE,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;yBAC1D,CAAC,CAAC;wBAEH,sBAAO,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAC;;;;KACpC;IACH,sBAAC;AAAD,CAAC,AAlDD,IAkDC","sourcesContent":["const xml2js = require(\"xml2js\");\nconst parser = new xml2js.Parser();\nconst util = require(\"util\");\n\nexport default class ScanJobSettings {\n private readonly inputSource: string;\n private readonly contentType: string;\n\n constructor(inputSource: string, contentType: string) {\n this.inputSource = inputSource;\n this.contentType = contentType;\n }\n\n async toXML(): Promise<string> {\n let rawJob =\n '<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n' +\n '<ScanSettings xmlns=\"http://www.hp.com/schemas/imaging/con/cnx/scan/2008/08/19\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.hp.com/schemas/imaging/con/cnx/scan/2008/08/19 Scan Schema - 0.26.xsd\">\\n' +\n \"\\t<XResolution>200</XResolution>\\n\" +\n \"\\t<YResolution>200</YResolution>\\n\" +\n \"\\t<XStart>33</XStart>\\n\" +\n \"\\t<YStart>0</YStart>\\n\" +\n \"\\t<Width>2481</Width>\\n\" +\n \"\\t<Height>3507</Height>\\n\" +\n \"\\t<Format>Jpeg</Format>\\n\" +\n \"\\t<CompressionQFactor>0</CompressionQFactor>\\n\" +\n \"\\t<ColorSpace>Color</ColorSpace>\\n\" +\n \"\\t<BitDepth>8</BitDepth>\\n\" +\n \"\\t<InputSource>Adf</InputSource>\\n\" +\n \"\\t<GrayRendering>NTSC</GrayRendering>\\n\" +\n \"\\t<ToneMap>\\n\" +\n \"\\t\\t<Gamma>1000</Gamma>\\n\" +\n \"\\t\\t<Brightness>1000</Brightness>\\n\" +\n \"\\t\\t<Contrast>1000</Contrast>\\n\" +\n \"\\t\\t<Highlite>179</Highlite>\\n\" +\n \"\\t\\t<Shadow>25</Shadow>\\n\" +\n \"\\t\\t<Threshold>0</Threshold>\\n\" +\n \"\\t</ToneMap>\\n\" +\n \"\\t<SharpeningLevel>128</SharpeningLevel>\\n\" +\n \"\\t<NoiseRemoval>0</NoiseRemoval>\\n\" +\n \"\\t<ContentType>Document</ContentType>\\n\" +\n \"</ScanSettings>\";\n\n const parsed = await util.promisify(parser.parseString)(rawJob);\n\n parsed.ScanSettings.InputSource[0] = this.inputSource;\n parsed.ScanSettings.ContentType[0] = this.contentType;\n\n let builder = new xml2js.Builder({\n xmldec: { version: \"1.0\", encoding: \"UTF-8\", standalone: false },\n renderOpts: { pretty: true, indent: \"\\t\", newline: \"\\n\" },\n });\n\n return builder.buildObject(parsed);\n }\n}\n"]}
1
+ {"version":3,"file":"ScanJobSettings.js","sourceRoot":"","sources":["../src/ScanJobSettings.ts"],"names":[],"mappings":";;AAAA,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;AACnC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE7B,MAAqB,eAAe;IAMlC,YACE,WAA6B,EAC7B,WAAiC,EACjC,UAAkB,EAClB,QAAiB;QAEjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,MAAM,GACR,0CAA0C;YAC1C,gPAAgP;YAChP,oCAAoC;YACpC,oCAAoC;YACpC,yBAAyB;YACzB,wBAAwB;YACxB,yBAAyB;YACzB,2BAA2B;YAC3B,2BAA2B;YAC3B,gDAAgD;YAChD,oCAAoC;YACpC,4BAA4B;YAC5B,oCAAoC;YACpC,yCAAyC;YACzC,eAAe;YACf,2BAA2B;YAC3B,qCAAqC;YACrC,iCAAiC;YACjC,gCAAgC;YAChC,2BAA2B;YAC3B,gCAAgC;YAChC,gBAAgB;YAChB,4CAA4C;YAC5C,oCAAoC;YACpC,yCAAyC;YACzC,iBAAiB,CAAC;QAEpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;QAEhE,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrD,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAErD,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACtD,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/C,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SACjE;QACD,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QAEtD,IAAI,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC;YAC/B,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE;YAChE,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;SAC1D,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;CACF;AAjED,kCAiEC","sourcesContent":["const xml2js = require(\"xml2js\");\nconst parser = new xml2js.Parser();\nconst util = require(\"util\");\n\nexport default class ScanJobSettings {\n private readonly inputSource: \"Adf\" | \"Platen\";\n private readonly contentType: \"Document\" | \"Photo\";\n private readonly resolution: number;\n private readonly isDuplex: boolean;\n\n constructor(\n inputSource: \"Adf\" | \"Platen\",\n contentType: \"Document\" | \"Photo\",\n resolution: number,\n isDuplex: boolean\n ) {\n this.inputSource = inputSource;\n this.contentType = contentType;\n this.resolution = resolution;\n this.isDuplex = isDuplex;\n }\n\n async toXML(): Promise<string> {\n let rawJob =\n '<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n' +\n '<ScanSettings xmlns=\"http://www.hp.com/schemas/imaging/con/cnx/scan/2008/08/19\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.hp.com/schemas/imaging/con/cnx/scan/2008/08/19 Scan Schema - 0.26.xsd\">\\n' +\n \"\\t<XResolution>200</XResolution>\\n\" +\n \"\\t<YResolution>200</YResolution>\\n\" +\n \"\\t<XStart>33</XStart>\\n\" +\n \"\\t<YStart>0</YStart>\\n\" +\n \"\\t<Width>2481</Width>\\n\" +\n \"\\t<Height>3507</Height>\\n\" +\n \"\\t<Format>Jpeg</Format>\\n\" +\n \"\\t<CompressionQFactor>0</CompressionQFactor>\\n\" +\n \"\\t<ColorSpace>Color</ColorSpace>\\n\" +\n \"\\t<BitDepth>8</BitDepth>\\n\" +\n \"\\t<InputSource>Adf</InputSource>\\n\" +\n \"\\t<GrayRendering>NTSC</GrayRendering>\\n\" +\n \"\\t<ToneMap>\\n\" +\n \"\\t\\t<Gamma>1000</Gamma>\\n\" +\n \"\\t\\t<Brightness>1000</Brightness>\\n\" +\n \"\\t\\t<Contrast>1000</Contrast>\\n\" +\n \"\\t\\t<Highlite>179</Highlite>\\n\" +\n \"\\t\\t<Shadow>25</Shadow>\\n\" +\n \"\\t\\t<Threshold>0</Threshold>\\n\" +\n \"\\t</ToneMap>\\n\" +\n \"\\t<SharpeningLevel>128</SharpeningLevel>\\n\" +\n \"\\t<NoiseRemoval>0</NoiseRemoval>\\n\" +\n \"\\t<ContentType>Document</ContentType>\\n\" +\n \"</ScanSettings>\";\n\n const parsed = await util.promisify(parser.parseString)(rawJob);\n\n parsed.ScanSettings.XResolution[0] = this.resolution;\n parsed.ScanSettings.YResolution[0] = this.resolution;\n\n parsed.ScanSettings.InputSource[0] = this.inputSource;\n if (this.inputSource === \"Adf\" && this.isDuplex) {\n parsed.ScanSettings[\"AdfOptions\"] = [{ AdfOption: [\"Duplex\"] }];\n }\n parsed.ScanSettings.ContentType[0] = this.contentType;\n\n let builder = new xml2js.Builder({\n xmldec: { version: \"1.0\", encoding: \"UTF-8\", standalone: false },\n renderOpts: { pretty: true, indent: \"\\t\", newline: \"\\n\" },\n });\n\n return builder.buildObject(parsed);\n }\n}\n"]}
@@ -11,6 +11,7 @@ export interface ScanStatusData {
11
11
  export default class ScanStatus {
12
12
  private readonly data;
13
13
  constructor(data: ScanStatusData);
14
+ static createScanStatus(content: string): Promise<ScanStatus>;
14
15
  get scannerState(): string;
15
16
  get adfState(): string;
16
17
  isLoaded(): boolean;
@@ -1,36 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var ScanStatus = /** @class */ (function () {
4
- function ScanStatus(data) {
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);
7
+ class ScanStatus {
8
+ constructor(data) {
5
9
  this.data = data;
6
10
  }
7
- Object.defineProperty(ScanStatus.prototype, "scannerState", {
8
- get: function () {
9
- return this.data["ScanStatus"].ScannerState["0"];
10
- },
11
- enumerable: false,
12
- configurable: true
13
- });
14
- Object.defineProperty(ScanStatus.prototype, "adfState", {
15
- get: function () {
16
- if (this.data["ScanStatus"].hasOwnProperty("AdfState")) {
17
- //not all printers have an automatic document feeder
18
- return this.data["ScanStatus"].AdfState["0"];
19
- }
20
- else {
21
- return "";
22
- }
23
- },
24
- enumerable: false,
25
- configurable: true
26
- });
27
- ScanStatus.prototype.isLoaded = function () {
11
+ static async createScanStatus(content) {
12
+ const parsed = await parseString(content);
13
+ return new ScanStatus(parsed);
14
+ }
15
+ get scannerState() {
16
+ return this.data["ScanStatus"].ScannerState["0"];
17
+ }
18
+ get adfState() {
19
+ if (this.data["ScanStatus"].hasOwnProperty("AdfState")) {
20
+ //not all printers have an automatic document feeder
21
+ return this.data["ScanStatus"].AdfState["0"];
22
+ }
23
+ else {
24
+ return "";
25
+ }
26
+ }
27
+ isLoaded() {
28
28
  return this.adfState === "Loaded";
29
- };
30
- ScanStatus.prototype.getInputSource = function () {
29
+ }
30
+ getInputSource() {
31
31
  return this.isLoaded() ? "Adf" : "Platen";
32
- };
33
- return ScanStatus;
34
- }());
32
+ }
33
+ }
35
34
  exports.default = ScanStatus;
36
35
  //# sourceMappingURL=ScanStatus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScanStatus.js","sourceRoot":"","sources":["../src/ScanStatus.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AASb;IAEE,oBAAY,IAAoB;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,sBAAI,oCAAY;aAAhB;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC;;;OAAA;IAED,sBAAI,gCAAQ;aAAZ;YACE,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;gBACtD,oDAAoD;gBACpD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,EAAE,CAAC;aACX;QACH,CAAC;;;OAAA;IAED,6BAAQ,GAAR;QACE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;IACpC,CAAC;IAED,mCAAc,GAAd;QACE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5C,CAAC;IACH,iBAAC;AAAD,CAAC,AA1BD,IA0BC","sourcesContent":["\"use strict\";\n\nexport interface ScanStatusData {\n ScanStatus: {\n ScannerState: { \"0\": string };\n AdfState: { \"0\": string };\n };\n}\n\nexport default class ScanStatus {\n private readonly data: ScanStatusData;\n constructor(data: ScanStatusData) {\n this.data = data;\n }\n\n get scannerState(): string {\n return this.data[\"ScanStatus\"].ScannerState[\"0\"];\n }\n\n get adfState(): string {\n if (this.data[\"ScanStatus\"].hasOwnProperty(\"AdfState\")) {\n //not all printers have an automatic document feeder\n return this.data[\"ScanStatus\"].AdfState[\"0\"];\n } else {\n return \"\";\n }\n }\n\n isLoaded(): boolean {\n return this.adfState === \"Loaded\";\n }\n\n getInputSource(): \"Adf\" | \"Platen\" {\n return this.isLoaded() ? \"Adf\" : \"Platen\";\n }\n}\n"]}
1
+ {"version":3,"file":"ScanStatus.js","sourceRoot":"","sources":["../src/ScanStatus.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,mCAAgC;AAChC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;AAC5B,+BAAiC;AACjC,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAyB,MAAM,CAAC,WAAW,CAAC,CAAC;AAS1E,MAAqB,UAAU;IAE7B,YAAY,IAAoB;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAC3C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;YACtD,oDAAoD;YACpD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SAC9C;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;IACpC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5C,CAAC;CACF;AA/BD,6BA+BC","sourcesContent":["\"use strict\";\nimport { Parser } from \"xml2js\";\nconst parser = new Parser();\nimport { promisify } from \"util\";\nconst parseString = promisify<string, ScanStatusData>(parser.parseString);\n\nexport interface ScanStatusData {\n ScanStatus: {\n ScannerState: { \"0\": string };\n AdfState: { \"0\": string };\n };\n}\n\nexport default class ScanStatus {\n private readonly data: ScanStatusData;\n constructor(data: ScanStatusData) {\n this.data = data;\n }\n\n static async createScanStatus(content: string): Promise<ScanStatus> {\n const parsed = await parseString(content);\n return new ScanStatus(parsed);\n }\n\n get scannerState(): string {\n return this.data[\"ScanStatus\"].ScannerState[\"0\"];\n }\n\n get adfState(): string {\n if (this.data[\"ScanStatus\"].hasOwnProperty(\"AdfState\")) {\n //not all printers have an automatic document feeder\n return this.data[\"ScanStatus\"].AdfState[\"0\"];\n } else {\n return \"\";\n }\n }\n\n isLoaded(): boolean {\n return this.adfState === \"Loaded\";\n }\n\n getInputSource(): \"Adf\" | \"Platen\" {\n return this.isLoaded() ? \"Adf\" : \"Platen\";\n }\n}\n"]}
@@ -1,24 +1,22 @@
1
+ import { KnownShortcut } from "./KnownShortcut";
1
2
  export interface WalkupScanDestinationData {
2
3
  "dd:Name": string[];
4
+ "dd3:Hostname": string[];
3
5
  "dd:ResourceURI": string[];
4
- "wus:WalkupScanDestinations": {
5
- "wus:WalkupScanDestination": {
6
- "0": {
7
- "wus:WalkupScanSettings": {
8
- "0": {
9
- "wus:Shortcut": string[];
10
- };
11
- };
12
- };
13
- };
14
- };
6
+ "wus:WalkupScanSettings": {
7
+ "scantype:ScanSettings": {
8
+ "dd:ScanPlexMode": string[];
9
+ }[];
10
+ "wus:Shortcut": KnownShortcut[];
11
+ }[];
15
12
  }
16
13
  export default class WalkupScanDestination {
17
14
  private readonly data;
18
15
  constructor(data: WalkupScanDestinationData);
16
+ static createWalkupScanDestination(content: string): Promise<WalkupScanDestination>;
19
17
  get name(): string;
20
18
  get hostname(): string;
21
19
  get resourceURI(): string;
22
- get shortcut(): string;
23
- getContentType(): string;
20
+ get shortcut(): null | KnownShortcut;
21
+ get scanPlexMode(): string | null;
24
22
  }
@@ -1,41 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var WalkupScanDestination = /** @class */ (function () {
4
- function WalkupScanDestination(data) {
3
+ const xml2js_1 = require("xml2js");
4
+ const util_1 = require("util");
5
+ const parser = new xml2js_1.Parser();
6
+ const parseString = (0, util_1.promisify)(parser.parseString);
7
+ class WalkupScanDestination {
8
+ constructor(data) {
5
9
  this.data = data;
6
10
  }
7
- Object.defineProperty(WalkupScanDestination.prototype, "name", {
8
- get: function () {
9
- return this.data["dd:Name"][0];
10
- },
11
- enumerable: false,
12
- configurable: true
13
- });
14
- Object.defineProperty(WalkupScanDestination.prototype, "hostname", {
15
- get: function () {
16
- return this.data["dd:ResourceURI"][0];
17
- },
18
- enumerable: false,
19
- configurable: true
20
- });
21
- Object.defineProperty(WalkupScanDestination.prototype, "resourceURI", {
22
- get: function () {
23
- return this.data["dd:ResourceURI"][0];
24
- },
25
- enumerable: false,
26
- configurable: true
27
- });
28
- Object.defineProperty(WalkupScanDestination.prototype, "shortcut", {
29
- get: function () {
30
- return this.data["wus:WalkupScanDestinations"]["wus:WalkupScanDestination"]["0"]["wus:WalkupScanSettings"]["0"]["wus:Shortcut"][0];
31
- },
32
- enumerable: false,
33
- configurable: true
34
- });
35
- WalkupScanDestination.prototype.getContentType = function () {
36
- return this.shortcut === "SavePDF" ? "Document" : "Photo";
37
- };
38
- return WalkupScanDestination;
39
- }());
11
+ static async createWalkupScanDestination(content) {
12
+ const parsed = await parseString(content);
13
+ return new WalkupScanDestination(parsed["wus:WalkupScanDestinations"]["wus:WalkupScanDestination"][0]);
14
+ }
15
+ get name() {
16
+ return this.data["dd:Name"][0];
17
+ }
18
+ get hostname() {
19
+ return this.data["dd3:Hostname"][0];
20
+ }
21
+ get resourceURI() {
22
+ return this.data["dd:ResourceURI"][0];
23
+ }
24
+ get shortcut() {
25
+ if (this.data.hasOwnProperty("wus:WalkupScanSettings")) {
26
+ return this.data["wus:WalkupScanSettings"]["0"]["wus:Shortcut"][0];
27
+ }
28
+ return null;
29
+ }
30
+ get scanPlexMode() {
31
+ if (this.data.hasOwnProperty("wus:WalkupScanSettings")) {
32
+ return this.data["wus:WalkupScanSettings"]["0"]["scantype:ScanSettings"][0]["dd:ScanPlexMode"][0];
33
+ }
34
+ return null;
35
+ }
36
+ }
40
37
  exports.default = WalkupScanDestination;
41
38
  //# sourceMappingURL=WalkupScanDestination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WalkupScanDestination.js","sourceRoot":"","sources":["../src/WalkupScanDestination.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAkBb;IAEE,+BAAY,IAA+B;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,sBAAI,uCAAI;aAAR;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;;;OAAA;IAED,sBAAI,2CAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;;;OAAA;IAED,sBAAI,8CAAW;aAAf;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;;;OAAA;IAED,sBAAI,2CAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,2BAA2B,CAAC,CACzE,GAAG,CACJ,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;;;OAAA;IAED,8CAAc,GAAd;QACE,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5D,CAAC;IACH,4BAAC;AAAD,CAAC,AA3BD,IA2BC","sourcesContent":["\"use strict\";\n\nexport interface WalkupScanDestinationData {\n \"dd:Name\": string[];\n \"dd:ResourceURI\": string[];\n \"wus:WalkupScanDestinations\": {\n \"wus:WalkupScanDestination\": {\n \"0\": {\n \"wus:WalkupScanSettings\": {\n \"0\": {\n \"wus:Shortcut\": string[];\n };\n };\n };\n };\n };\n}\n\nexport default class WalkupScanDestination {\n private readonly data: WalkupScanDestinationData;\n constructor(data: WalkupScanDestinationData) {\n this.data = data;\n }\n\n get name(): string {\n return this.data[\"dd:Name\"][0];\n }\n\n get hostname(): string {\n return this.data[\"dd:ResourceURI\"][0];\n }\n\n get resourceURI(): string {\n return this.data[\"dd:ResourceURI\"][0];\n }\n\n get shortcut(): string {\n return this.data[\"wus:WalkupScanDestinations\"][\"wus:WalkupScanDestination\"][\n \"0\"\n ][\"wus:WalkupScanSettings\"][\"0\"][\"wus:Shortcut\"][0];\n }\n\n getContentType(): string {\n return this.shortcut === \"SavePDF\" ? \"Document\" : \"Photo\";\n }\n}\n"]}
1
+ {"version":3,"file":"WalkupScanDestination.js","sourceRoot":"","sources":["../src/WalkupScanDestination.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,mCAAgC;AAChC,+BAAiC;AAGjC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;AAC5B,MAAM,WAAW,GAAG,IAAA,gBAAS,EAC3B,MAAM,CAAC,WAAW,CACnB,CAAC;AAoBF,MAAqB,qBAAqB;IAExC,YAAY,IAA+B;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,2BAA2B,CACtC,OAAe;QAEf,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,IAAI,qBAAqB,CAC9B,MAAM,CAAC,4BAA4B,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CACrE,CAAC;IACJ,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE;YACtD,OAAO,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;SACpE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY;QACd,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE;YACtD,OAAO,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAC7C,uBAAuB,CACxB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAzCD,wCAyCC","sourcesContent":["\"use strict\";\nimport { Parser } from \"xml2js\";\nimport { promisify } from \"util\";\nimport { KnownShortcut } from \"./KnownShortcut\";\n\nconst parser = new Parser();\nconst parseString = promisify<string, WalkupScanDestinationsData>(\n parser.parseString\n);\n\ninterface WalkupScanDestinationsData {\n \"wus:WalkupScanDestinations\": {\n \"wus:WalkupScanDestination\": WalkupScanDestinationData[];\n };\n}\n\nexport interface WalkupScanDestinationData {\n \"dd:Name\": string[];\n \"dd3:Hostname\": string[];\n \"dd:ResourceURI\": string[];\n \"wus:WalkupScanSettings\": {\n \"scantype:ScanSettings\": {\n \"dd:ScanPlexMode\": string[];\n }[];\n \"wus:Shortcut\": KnownShortcut[];\n }[];\n}\n\nexport default class WalkupScanDestination {\n private readonly data: WalkupScanDestinationData;\n constructor(data: WalkupScanDestinationData) {\n this.data = data;\n }\n static async createWalkupScanDestination(\n content: string\n ): Promise<WalkupScanDestination> {\n const parsed = await parseString(content);\n return new WalkupScanDestination(\n parsed[\"wus:WalkupScanDestinations\"][\"wus:WalkupScanDestination\"][0]\n );\n }\n\n get name(): string {\n return this.data[\"dd:Name\"][0];\n }\n\n get hostname(): string {\n return this.data[\"dd3:Hostname\"][0];\n }\n\n get resourceURI(): string {\n return this.data[\"dd:ResourceURI\"][0];\n }\n\n get shortcut(): null | KnownShortcut {\n if (this.data.hasOwnProperty(\"wus:WalkupScanSettings\")) {\n return this.data[\"wus:WalkupScanSettings\"][\"0\"][\"wus:Shortcut\"][0];\n }\n return null;\n }\n\n get scanPlexMode(): string | null {\n if (this.data.hasOwnProperty(\"wus:WalkupScanSettings\")) {\n return this.data[\"wus:WalkupScanSettings\"][\"0\"][\n \"scantype:ScanSettings\"\n ][0][\"dd:ScanPlexMode\"][0];\n }\n return null;\n }\n}\n"]}
@@ -7,5 +7,6 @@ export interface WalkupScanDestinationsData {
7
7
  export default class WalkupScanDestinations {
8
8
  private readonly data;
9
9
  constructor(data: WalkupScanDestinationsData);
10
+ static createWalkupScanDestinations(content: string): Promise<WalkupScanDestinations>;
10
11
  get destinations(): WalkupScanDestination[];
11
12
  }
@@ -3,25 +3,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- var WalkupScanDestination_1 = __importDefault(require("./WalkupScanDestination"));
7
- var WalkupScanDestinations = /** @class */ (function () {
8
- function WalkupScanDestinations(data) {
6
+ const xml2js_1 = require("xml2js");
7
+ const parser = new xml2js_1.Parser();
8
+ const util_1 = require("util");
9
+ const parseString = (0, util_1.promisify)(parser.parseString);
10
+ const WalkupScanDestination_1 = __importDefault(require("./WalkupScanDestination"));
11
+ class WalkupScanDestinations {
12
+ constructor(data) {
9
13
  this.data = data;
10
14
  }
11
- Object.defineProperty(WalkupScanDestinations.prototype, "destinations", {
12
- get: function () {
13
- var walkupScanDestinations = this.data["wus:WalkupScanDestinations"];
14
- if (walkupScanDestinations.hasOwnProperty("wus:WalkupScanDestination")) {
15
- return walkupScanDestinations["wus:WalkupScanDestination"].map(function (x) { return new WalkupScanDestination_1.default(x); });
16
- }
17
- else {
18
- return [];
19
- }
20
- },
21
- enumerable: false,
22
- configurable: true
23
- });
24
- return WalkupScanDestinations;
25
- }());
15
+ static async createWalkupScanDestinations(content) {
16
+ const parsed = await parseString(content);
17
+ return new WalkupScanDestinations(parsed);
18
+ }
19
+ get destinations() {
20
+ let walkupScanDestinations = this.data["wus:WalkupScanDestinations"];
21
+ if (walkupScanDestinations.hasOwnProperty("wus:WalkupScanDestination")) {
22
+ return walkupScanDestinations["wus:WalkupScanDestination"].map((x) => new WalkupScanDestination_1.default(x));
23
+ }
24
+ else {
25
+ return [];
26
+ }
27
+ }
28
+ }
26
29
  exports.default = WalkupScanDestinations;
27
30
  //# sourceMappingURL=WalkupScanDestinations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WalkupScanDestinations.js","sourceRoot":"","sources":["../src/WalkupScanDestinations.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;AAEb,kFAEiC;AAQjC;IAEE,gCAAY,IAAgC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,sBAAI,gDAAY;aAAhB;YACE,IAAI,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACrE,IAAI,sBAAsB,CAAC,cAAc,CAAC,2BAA2B,CAAC,EAAE;gBACtE,OAAO,sBAAsB,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAC5D,UAAC,CAAC,IAAK,OAAA,IAAI,+BAAqB,CAAC,CAAC,CAAC,EAA5B,CAA4B,CACpC,CAAC;aACH;iBAAM;gBACL,OAAO,EAAE,CAAC;aACX;QACH,CAAC;;;OAAA;IACH,6BAAC;AAAD,CAAC,AAhBD,IAgBC","sourcesContent":["\"use strict\";\n\nimport WalkupScanDestination, {\n WalkupScanDestinationData,\n} from \"./WalkupScanDestination\";\n\nexport interface WalkupScanDestinationsData {\n \"wus:WalkupScanDestinations\": {\n \"wus:WalkupScanDestination\": WalkupScanDestinationData[];\n };\n}\n\nexport default class WalkupScanDestinations {\n private readonly data: WalkupScanDestinationsData;\n constructor(data: WalkupScanDestinationsData) {\n this.data = data;\n }\n\n get destinations(): WalkupScanDestination[] {\n let walkupScanDestinations = this.data[\"wus:WalkupScanDestinations\"];\n if (walkupScanDestinations.hasOwnProperty(\"wus:WalkupScanDestination\")) {\n return walkupScanDestinations[\"wus:WalkupScanDestination\"].map(\n (x) => new WalkupScanDestination(x)\n );\n } else {\n return [];\n }\n }\n}\n"]}
1
+ {"version":3,"file":"WalkupScanDestinations.js","sourceRoot":"","sources":["../src/WalkupScanDestinations.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;AACb,mCAAgC;AAChC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;AAC5B,+BAAiC;AACjC,MAAM,WAAW,GAAG,IAAA,gBAAS,EAC3B,MAAM,CAAC,WAAW,CACnB,CAAC;AAEF,oFAEiC;AAQjC,MAAqB,sBAAsB;IAEzC,YAAY,IAAgC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,4BAA4B,CACvC,OAAe;QAEf,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,YAAY;QACd,IAAI,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACrE,IAAI,sBAAsB,CAAC,cAAc,CAAC,2BAA2B,CAAC,EAAE;YACtE,OAAO,sBAAsB,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAC5D,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,+BAAqB,CAAC,CAAC,CAAC,CACpC,CAAC;SACH;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;CACF;AAtBD,yCAsBC","sourcesContent":["\"use strict\";\nimport { Parser } from \"xml2js\";\nconst parser = new Parser();\nimport { promisify } from \"util\";\nconst parseString = promisify<string, WalkupScanDestinationsData>(\n parser.parseString\n);\n\nimport WalkupScanDestination, {\n WalkupScanDestinationData,\n} from \"./WalkupScanDestination\";\n\nexport interface WalkupScanDestinationsData {\n \"wus:WalkupScanDestinations\": {\n \"wus:WalkupScanDestination\": WalkupScanDestinationData[];\n };\n}\n\nexport default class WalkupScanDestinations {\n private readonly data: WalkupScanDestinationsData;\n constructor(data: WalkupScanDestinationsData) {\n this.data = data;\n }\n static async createWalkupScanDestinations(\n content: string\n ): Promise<WalkupScanDestinations> {\n const parsed = await parseString(content);\n return new WalkupScanDestinations(parsed);\n }\n\n get destinations(): WalkupScanDestination[] {\n let walkupScanDestinations = this.data[\"wus:WalkupScanDestinations\"];\n if (walkupScanDestinations.hasOwnProperty(\"wus:WalkupScanDestination\")) {\n return walkupScanDestinations[\"wus:WalkupScanDestination\"].map(\n (x) => new WalkupScanDestination(x)\n );\n } else {\n return [];\n }\n }\n}\n"]}
@@ -0,0 +1,23 @@
1
+ export interface WalkupScanManifestData {
2
+ "man:Manifest": {
3
+ "map:ResourceMap": {
4
+ "map:ResourceLink": {
5
+ "dd:ResourceURI": string[];
6
+ }[];
7
+ "map:ResourceNode": {
8
+ "map:ResourceLink": {
9
+ "dd:ResourceURI": string[];
10
+ }[];
11
+ "map:ResourceType": {
12
+ "wus:WalkupScanResourceType": string[];
13
+ }[];
14
+ }[];
15
+ }[];
16
+ };
17
+ }
18
+ export default class WalkupScanManifest {
19
+ private readonly data;
20
+ constructor(data: WalkupScanManifestData);
21
+ static createWalkupScanManifest(content: string): Promise<WalkupScanManifest>;
22
+ get walkupScanDestinationsURI(): string | null;
23
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
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);
7
+ class WalkupScanManifest {
8
+ constructor(data) {
9
+ this.data = data;
10
+ }
11
+ static async createWalkupScanManifest(content) {
12
+ const parsed = await parseString(content);
13
+ return new WalkupScanManifest(parsed);
14
+ }
15
+ get walkupScanDestinationsURI() {
16
+ const walkupScanToCompCaps = this.data["man:Manifest"]["map:ResourceMap"]["0"]["map:ResourceNode"].find((x) => x["map:ResourceType"][0]["wus:WalkupScanResourceType"][0] ===
17
+ "WalkupScanDestinations");
18
+ if (walkupScanToCompCaps === undefined) {
19
+ return null;
20
+ }
21
+ return (this.data["man:Manifest"]["map:ResourceMap"]["0"]["map:ResourceLink"][0]["dd:ResourceURI"][0] + walkupScanToCompCaps["map:ResourceLink"][0]["dd:ResourceURI"][0]);
22
+ }
23
+ }
24
+ exports.default = WalkupScanManifest;
25
+ //# sourceMappingURL=WalkupScanManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalkupScanManifest.js","sourceRoot":"","sources":["../src/WalkupScanManifest.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,mCAAgC;AAChC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;AAC5B,+BAAiC;AACjC,MAAM,WAAW,GAAG,IAAA,gBAAS,EAC3B,MAAM,CAAC,WAAW,CACnB,CAAC;AAoBF,MAAqB,kBAAkB;IAGrC,YAAY,IAA4B;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,wBAAwB,CACnC,OAAe;QAEf,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,yBAAyB;QAC3B,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,iBAAiB,CAAC,CACvE,GAAG,CACJ,CAAC,kBAAkB,CAAC,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;YACzD,wBAAwB,CAC3B,CAAC;QAEF,IAAI,oBAAoB,KAAK,SAAS,EAAE;YACtC,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CACtE,gBAAgB,CACjB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CACxE,CAAC;IACJ,CAAC;CACF;AAhCD,qCAgCC","sourcesContent":["\"use strict\";\nimport { Parser } from \"xml2js\";\nconst parser = new Parser();\nimport { promisify } from \"util\";\nconst parseString = promisify<string, WalkupScanManifestData>(\n parser.parseString\n);\n\nexport interface WalkupScanManifestData {\n \"man:Manifest\": {\n \"map:ResourceMap\": {\n \"map:ResourceLink\": {\n \"dd:ResourceURI\": string[];\n }[];\n \"map:ResourceNode\": {\n \"map:ResourceLink\": {\n \"dd:ResourceURI\": string[];\n }[];\n \"map:ResourceType\": {\n \"wus:WalkupScanResourceType\": string[];\n }[];\n }[];\n }[];\n };\n}\n\nexport default class WalkupScanManifest {\n private readonly data: WalkupScanManifestData;\n\n constructor(data: WalkupScanManifestData) {\n this.data = data;\n }\n static async createWalkupScanManifest(\n content: string\n ): Promise<WalkupScanManifest> {\n const parsed = await parseString(content);\n return new WalkupScanManifest(parsed);\n }\n\n get walkupScanDestinationsURI(): string | null {\n const walkupScanToCompCaps = this.data[\"man:Manifest\"][\"map:ResourceMap\"][\n \"0\"\n ][\"map:ResourceNode\"].find(\n (x) =>\n x[\"map:ResourceType\"][0][\"wus:WalkupScanResourceType\"][0] ===\n \"WalkupScanDestinations\"\n );\n\n if (walkupScanToCompCaps === undefined) {\n return null;\n }\n\n return (\n this.data[\"man:Manifest\"][\"map:ResourceMap\"][\"0\"][\"map:ResourceLink\"][0][\n \"dd:ResourceURI\"\n ][0] + walkupScanToCompCaps[\"map:ResourceLink\"][0][\"dd:ResourceURI\"][0]\n );\n }\n}\n"]}
@@ -0,0 +1,12 @@
1
+ export interface WalkupScanToCompCapsData {
2
+ "wus:WalkupScanToCompCaps": {
3
+ "wus:MaxNetworkDestinations": string[];
4
+ "wus:SupportsMultiItemScanFromPlaten": string[];
5
+ };
6
+ }
7
+ export default class WalkupScanToCompCaps {
8
+ private readonly data;
9
+ constructor(data: WalkupScanToCompCapsData);
10
+ static createWalkupScanToCompCaps(content: string): Promise<WalkupScanToCompCaps>;
11
+ get supportsMultiItemScanFromPlaten(): boolean;
12
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
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);
7
+ class WalkupScanToCompCaps {
8
+ constructor(data) {
9
+ this.data = data;
10
+ }
11
+ static async createWalkupScanToCompCaps(content) {
12
+ const parsed = await parseString(content);
13
+ return new WalkupScanToCompCaps(parsed);
14
+ }
15
+ get supportsMultiItemScanFromPlaten() {
16
+ return (this.data["wus:WalkupScanToCompCaps"]["wus:SupportsMultiItemScanFromPlaten"]["0"] === "true");
17
+ }
18
+ }
19
+ exports.default = WalkupScanToCompCaps;
20
+ //# sourceMappingURL=WalkupScanToCompCaps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalkupScanToCompCaps.js","sourceRoot":"","sources":["../src/WalkupScanToCompCaps.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,mCAAgC;AAChC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;AAC5B,+BAAiC;AACjC,MAAM,WAAW,GAAG,IAAA,gBAAS,EAC3B,MAAM,CAAC,WAAW,CACnB,CAAC;AAQF,MAAqB,oBAAoB;IAGvC,YAAY,IAA8B;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,0BAA0B,CACrC,OAAe;QAEf,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,+BAA+B;QACjC,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CACnC,qCAAqC,CACtC,CAAC,GAAG,CAAC,KAAK,MAAM,CAClB,CAAC;IACJ,CAAC;CACF;AArBD,uCAqBC","sourcesContent":["\"use strict\";\nimport { Parser } from \"xml2js\";\nconst parser = new Parser();\nimport { promisify } from \"util\";\nconst parseString = promisify<string, WalkupScanToCompCapsData>(\n parser.parseString\n);\nexport interface WalkupScanToCompCapsData {\n \"wus:WalkupScanToCompCaps\": {\n \"wus:MaxNetworkDestinations\": string[];\n \"wus:SupportsMultiItemScanFromPlaten\": string[];\n };\n}\n\nexport default class WalkupScanToCompCaps {\n private readonly data: WalkupScanToCompCapsData;\n\n constructor(data: WalkupScanToCompCapsData) {\n this.data = data;\n }\n\n static async createWalkupScanToCompCaps(\n content: string\n ): Promise<WalkupScanToCompCaps> {\n const parsed = await parseString(content);\n return new WalkupScanToCompCaps(parsed);\n }\n\n get supportsMultiItemScanFromPlaten(): boolean {\n return (\n this.data[\"wus:WalkupScanToCompCaps\"][\n \"wus:SupportsMultiItemScanFromPlaten\"\n ][\"0\"] === \"true\"\n );\n }\n}\n"]}
@@ -1,26 +1,22 @@
1
+ import { KnownShortcut } from "./KnownShortcut";
1
2
  export interface WalkupScanToCompDestinationData {
2
3
  "dd:Name": string[];
3
4
  "dd:ResourceURI": string[];
4
5
  "dd3:Hostname": string[];
5
- "wus:WalkupScanToCompDestination": {
6
- "wus:WalkupScanToCompSettings": {
7
- "0": {
8
- "scantype:Scansettings": {
9
- "0": {
10
- "dd:ScanPlexMode": string[];
11
- };
12
- };
13
- "wus:Shortcut": string[];
14
- };
15
- };
16
- };
6
+ "wus:WalkupScanToCompSettings": {
7
+ "scantype:ScanSettings": {
8
+ "dd:ScanPlexMode": string[];
9
+ }[];
10
+ "wus:Shortcut": KnownShortcut[];
11
+ }[];
17
12
  }
18
13
  export default class WalkupScanToCompDestination {
19
14
  private readonly data;
20
15
  constructor(data: WalkupScanToCompDestinationData);
16
+ static createWalkupScanToCompDestination(content: string): Promise<WalkupScanToCompDestination>;
21
17
  get name(): string;
22
18
  get hostname(): string;
23
19
  get resourceURI(): string;
24
- get shortcut(): string;
25
- getContentType(): string;
20
+ get shortcut(): null | KnownShortcut;
21
+ get scanPlexMode(): string | null;
26
22
  }
@@ -1,44 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var WalkupScanToCompDestination = /** @class */ (function () {
4
- function WalkupScanToCompDestination(data) {
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);
7
+ class WalkupScanToCompDestination {
8
+ constructor(data) {
5
9
  this.data = data;
6
10
  }
7
- Object.defineProperty(WalkupScanToCompDestination.prototype, "name", {
8
- get: function () {
9
- return this.data["dd:Name"][0];
10
- },
11
- enumerable: false,
12
- configurable: true
13
- });
14
- Object.defineProperty(WalkupScanToCompDestination.prototype, "hostname", {
15
- get: function () {
16
- return this.data["dd3:Hostname"][0];
17
- },
18
- enumerable: false,
19
- configurable: true
20
- });
21
- Object.defineProperty(WalkupScanToCompDestination.prototype, "resourceURI", {
22
- get: function () {
23
- return this.data["dd:ResourceURI"][0];
24
- },
25
- enumerable: false,
26
- configurable: true
27
- });
28
- Object.defineProperty(WalkupScanToCompDestination.prototype, "shortcut", {
29
- get: function () {
30
- if (this.data["wus:WalkupScanToCompDestination"].hasOwnProperty("wus:WalkupScanToCompSettings")) {
31
- return this.data["wus:WalkupScanToCompDestination"]["wus:WalkupScanToCompSettings"]["0"]["wus:Shortcut"][0];
32
- }
33
- return "";
34
- },
35
- enumerable: false,
36
- configurable: true
37
- });
38
- WalkupScanToCompDestination.prototype.getContentType = function () {
39
- return this.shortcut === "SaveDocument1" ? "Document" : "Photo";
40
- };
41
- return WalkupScanToCompDestination;
42
- }());
11
+ static async createWalkupScanToCompDestination(content) {
12
+ const parsed = await parseString(content);
13
+ return new WalkupScanToCompDestination(parsed["wus:WalkupScanToCompDestination"]);
14
+ }
15
+ get name() {
16
+ return this.data["dd:Name"][0];
17
+ }
18
+ get hostname() {
19
+ return this.data["dd3:Hostname"][0];
20
+ }
21
+ get resourceURI() {
22
+ return this.data["dd:ResourceURI"][0];
23
+ }
24
+ get shortcut() {
25
+ if (this.data.hasOwnProperty("wus:WalkupScanToCompSettings")) {
26
+ return this.data["wus:WalkupScanToCompSettings"]["0"]["wus:Shortcut"][0];
27
+ }
28
+ return null;
29
+ }
30
+ get scanPlexMode() {
31
+ if (this.data.hasOwnProperty("wus:WalkupScanToCompSettings")) {
32
+ return (this.data["wus:WalkupScanToCompSettings"]["0"]["scantype:ScanSettings"]["0"]["dd:ScanPlexMode"][0] || null);
33
+ }
34
+ return null;
35
+ }
36
+ }
43
37
  exports.default = WalkupScanToCompDestination;
44
38
  //# sourceMappingURL=WalkupScanToCompDestination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WalkupScanToCompDestination.js","sourceRoot":"","sources":["../src/WalkupScanToCompDestination.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAoBb;IAEE,qCAAY,IAAqC;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,sBAAI,6CAAI;aAAR;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;;;OAAA;IAED,sBAAI,iDAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;;;OAAA;IAED,sBAAI,oDAAW;aAAf;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;;;OAAA;IAED,sBAAI,iDAAQ;aAAZ;YACE,IACE,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,cAAc,CACzD,8BAA8B,CAC/B,EACD;gBACA,OAAO,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CACjD,8BAA8B,CAC/B,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;;;OAAA;IAED,oDAAc,GAAd;QACE,OAAO,IAAI,CAAC,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IAClE,CAAC;IACH,kCAAC;AAAD,CAAC,AAlCD,IAkCC","sourcesContent":["\"use strict\";\n\nexport interface WalkupScanToCompDestinationData {\n \"dd:Name\": string[];\n \"dd:ResourceURI\": string[];\n \"dd3:Hostname\": string[];\n \"wus:WalkupScanToCompDestination\": {\n \"wus:WalkupScanToCompSettings\": {\n \"0\": {\n \"scantype:Scansettings\": {\n \"0\": {\n \"dd:ScanPlexMode\": string[];\n };\n };\n \"wus:Shortcut\": string[]; //can be 'SaveDocument1' or 'SavePhoto1'\n };\n };\n };\n}\n\nexport default class WalkupScanToCompDestination {\n private readonly data: WalkupScanToCompDestinationData;\n constructor(data: WalkupScanToCompDestinationData) {\n this.data = data;\n }\n\n get name(): string {\n return this.data[\"dd:Name\"][0];\n }\n\n get hostname(): string {\n return this.data[\"dd3:Hostname\"][0];\n }\n\n get resourceURI(): string {\n return this.data[\"dd:ResourceURI\"][0];\n }\n\n get shortcut(): string {\n if (\n this.data[\"wus:WalkupScanToCompDestination\"].hasOwnProperty(\n \"wus:WalkupScanToCompSettings\"\n )\n ) {\n return this.data[\"wus:WalkupScanToCompDestination\"][\n \"wus:WalkupScanToCompSettings\"\n ][\"0\"][\"wus:Shortcut\"][0];\n }\n return \"\";\n }\n\n getContentType(): string {\n return this.shortcut === \"SaveDocument1\" ? \"Document\" : \"Photo\";\n }\n}\n"]}
1
+ {"version":3,"file":"WalkupScanToCompDestination.js","sourceRoot":"","sources":["../src/WalkupScanToCompDestination.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,mCAAgC;AAChC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;AAC5B,+BAAiC;AAEjC,MAAM,WAAW,GAAG,IAAA,gBAAS,EAC3B,MAAM,CAAC,WAAW,CACnB,CAAC;AAkBF,MAAqB,2BAA2B;IAE9C,YAAY,IAAqC;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAC5C,OAAe;QAEf,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,IAAI,2BAA2B,CACpC,MAAM,CAAC,iCAAiC,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,8BAA8B,CAAC,EAAE;YAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1E;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY;QACd,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,8BAA8B,CAAC,EAAE;YAC5D,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,GAAG,CAAC,CAAC,uBAAuB,CAAC,CACrE,GAAG,CACJ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAChC,CAAC;SACH;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA3CD,8CA2CC","sourcesContent":["\"use strict\";\nimport { Parser } from \"xml2js\";\nconst parser = new Parser();\nimport { promisify } from \"util\";\nimport { KnownShortcut } from \"./KnownShortcut\";\nconst parseString = promisify<string, WalkupScanToCompDestinationRoot>(\n parser.parseString\n);\n\ninterface WalkupScanToCompDestinationRoot {\n \"wus:WalkupScanToCompDestination\": WalkupScanToCompDestinationData;\n}\n\nexport interface WalkupScanToCompDestinationData {\n \"dd:Name\": string[];\n \"dd:ResourceURI\": string[];\n \"dd3:Hostname\": string[];\n \"wus:WalkupScanToCompSettings\": {\n \"scantype:ScanSettings\": {\n \"dd:ScanPlexMode\": string[];\n }[];\n \"wus:Shortcut\": KnownShortcut[];\n }[];\n}\n\nexport default class WalkupScanToCompDestination {\n private readonly data: WalkupScanToCompDestinationData;\n constructor(data: WalkupScanToCompDestinationData) {\n this.data = data;\n }\n static async createWalkupScanToCompDestination(\n content: string\n ): Promise<WalkupScanToCompDestination> {\n const parsed = await parseString(content);\n return new WalkupScanToCompDestination(\n parsed[\"wus:WalkupScanToCompDestination\"]\n );\n }\n\n get name(): string {\n return this.data[\"dd:Name\"][0];\n }\n\n get hostname(): string {\n return this.data[\"dd3:Hostname\"][0];\n }\n\n get resourceURI(): string {\n return this.data[\"dd:ResourceURI\"][0];\n }\n\n get shortcut(): null | KnownShortcut {\n if (this.data.hasOwnProperty(\"wus:WalkupScanToCompSettings\")) {\n return this.data[\"wus:WalkupScanToCompSettings\"][\"0\"][\"wus:Shortcut\"][0];\n }\n return null;\n }\n\n get scanPlexMode(): string | null {\n if (this.data.hasOwnProperty(\"wus:WalkupScanToCompSettings\")) {\n return (\n this.data[\"wus:WalkupScanToCompSettings\"][\"0\"][\"scantype:ScanSettings\"][\n \"0\"\n ][\"dd:ScanPlexMode\"][0] || null\n );\n }\n return null;\n }\n}\n"]}
@@ -7,5 +7,6 @@ export interface WalkupScanToCompDestinationsData {
7
7
  export default class WalkupScanToCompDestinations {
8
8
  private readonly data;
9
9
  constructor(data: WalkupScanToCompDestinationsData);
10
+ static createWalkupScanToCompDestinations(content: string): Promise<WalkupScanToCompDestinations>;
10
11
  get destinations(): WalkupScanToCompDestination[];
11
12
  }
@@ -3,25 +3,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- var WalkupScanToCompDestination_1 = __importDefault(require("./WalkupScanToCompDestination"));
7
- var WalkupScanToCompDestinations = /** @class */ (function () {
8
- function WalkupScanToCompDestinations(data) {
6
+ const xml2js_1 = require("xml2js");
7
+ const parser = new xml2js_1.Parser();
8
+ const util_1 = require("util");
9
+ const parseString = (0, util_1.promisify)(parser.parseString);
10
+ const WalkupScanToCompDestination_1 = __importDefault(require("./WalkupScanToCompDestination"));
11
+ class WalkupScanToCompDestinations {
12
+ constructor(data) {
9
13
  this.data = data;
10
14
  }
11
- Object.defineProperty(WalkupScanToCompDestinations.prototype, "destinations", {
12
- get: function () {
13
- var walkupScanToCompDestinations = this.data["wus:WalkupScanToCompDestinations"];
14
- if (walkupScanToCompDestinations.hasOwnProperty("wus:WalkupScanToCompDestination")) {
15
- return walkupScanToCompDestinations["wus:WalkupScanToCompDestination"].map(function (x) { return new WalkupScanToCompDestination_1.default(x); });
16
- }
17
- else {
18
- return [];
19
- }
20
- },
21
- enumerable: false,
22
- configurable: true
23
- });
24
- return WalkupScanToCompDestinations;
25
- }());
15
+ static async createWalkupScanToCompDestinations(content) {
16
+ const parsed = await parseString(content);
17
+ return new WalkupScanToCompDestinations(parsed);
18
+ }
19
+ get destinations() {
20
+ let walkupScanToCompDestinations = this.data["wus:WalkupScanToCompDestinations"];
21
+ if (walkupScanToCompDestinations.hasOwnProperty("wus:WalkupScanToCompDestination")) {
22
+ return walkupScanToCompDestinations["wus:WalkupScanToCompDestination"].map((x) => new WalkupScanToCompDestination_1.default(x));
23
+ }
24
+ else {
25
+ return [];
26
+ }
27
+ }
28
+ }
26
29
  exports.default = WalkupScanToCompDestinations;
27
30
  //# sourceMappingURL=WalkupScanToCompDestinations.js.map