node-hp-scan-to 1.6.1 → 1.7.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 (170) hide show
  1. package/README.md +247 -143
  2. package/dist/Destination.js +17 -7
  3. package/dist/Destination.js.map +1 -1
  4. package/dist/DeviceCapabilities.d.ts +2 -0
  5. package/dist/DeviceCapabilities.js.map +1 -1
  6. package/dist/DiscoveryTree.js.map +1 -1
  7. package/dist/Event.js.map +1 -1
  8. package/dist/EventTable.js.map +1 -1
  9. package/dist/HPApi.js +23 -15
  10. package/dist/HPApi.js.map +1 -1
  11. package/dist/InputSource.js +1 -1
  12. package/dist/InputSource.js.map +1 -1
  13. package/dist/Job.js +6 -6
  14. package/dist/Job.js.map +1 -1
  15. package/dist/JpegUtil.d.ts +0 -2
  16. package/dist/JpegUtil.js.map +1 -1
  17. package/dist/KnownShortcut.js.map +1 -1
  18. package/dist/PathHelper.js +2 -0
  19. package/dist/PathHelper.js.map +1 -1
  20. package/dist/ScanCaps.d.ts +6 -0
  21. package/dist/ScanCaps.js +18 -0
  22. package/dist/ScanCaps.js.map +1 -1
  23. package/dist/ScanContent.js.map +1 -1
  24. package/dist/ScanJobManifest.js.map +1 -1
  25. package/dist/ScanJobSettings.js.map +1 -1
  26. package/dist/ScanStatus.js.map +1 -1
  27. package/dist/WalkupScanDestination.js.map +1 -1
  28. package/dist/WalkupScanDestinations.js.map +1 -1
  29. package/dist/WalkupScanManifest.js.map +1 -1
  30. package/dist/WalkupScanToCompCaps.js.map +1 -1
  31. package/dist/WalkupScanToCompDestination.js.map +1 -1
  32. package/dist/WalkupScanToCompDestinations.js.map +1 -1
  33. package/dist/WalkupScanToCompEvent.js.map +1 -1
  34. package/dist/WalkupScanToCompManifest.js.map +1 -1
  35. package/dist/commitInfo.json +1 -1
  36. package/dist/delay.js +1 -2
  37. package/dist/delay.js.map +1 -1
  38. package/dist/healthcheck.js +1 -2
  39. package/dist/healthcheck.js.map +1 -1
  40. package/dist/index.js +22 -12
  41. package/dist/index.js.map +1 -1
  42. package/dist/listening.js +5 -6
  43. package/dist/listening.js.map +1 -1
  44. package/dist/nextcloud/NextcloudConfig.js.map +1 -1
  45. package/dist/nextcloud/nextcloud.js +4 -6
  46. package/dist/nextcloud/nextcloud.js.map +1 -1
  47. package/dist/paperless/PaperlessConfig.js.map +1 -1
  48. package/dist/paperless/paperless.js +4 -5
  49. package/dist/paperless/paperless.js.map +1 -1
  50. package/dist/pdfProcessing.js +4 -5
  51. package/dist/pdfProcessing.js.map +1 -1
  52. package/dist/postProcessing.js +2 -4
  53. package/dist/postProcessing.js.map +1 -1
  54. package/dist/readDeviceCapabilities.js +24 -20
  55. package/dist/readDeviceCapabilities.js.map +1 -1
  56. package/dist/scanProcessing.d.ts +2 -2
  57. package/dist/scanProcessing.js +28 -30
  58. package/dist/scanProcessing.js.map +1 -1
  59. package/package.json +19 -17
  60. package/dist/PaperlessCOnfig.d.ts +0 -7
  61. package/dist/PaperlessCOnfig.js +0 -3
  62. package/dist/PaperlessCOnfig.js.map +0 -1
  63. package/dist/PaperlessConfig.d.ts +0 -7
  64. package/dist/PaperlessConfig.js +0 -3
  65. package/dist/PaperlessConfig.js.map +0 -1
  66. package/dist/paperless.d.ts +0 -7
  67. package/dist/paperless.js +0 -83
  68. package/dist/paperless.js.map +0 -1
  69. package/dist/test/DiscoveryTree.test.d.ts +0 -1
  70. package/dist/test/DiscoveryTree.test.js +0 -68
  71. package/dist/test/DiscoveryTree.test.js.map +0 -1
  72. package/dist/test/EtagEventTable.test.d.ts +0 -1
  73. package/dist/test/EtagEventTable.test.js +0 -93
  74. package/dist/test/EtagEventTable.test.js.map +0 -1
  75. package/dist/test/Job.test.d.ts +0 -1
  76. package/dist/test/Job.test.js +0 -104
  77. package/dist/test/Job.test.js.map +0 -1
  78. package/dist/test/JpegUtil.test.d.ts +0 -1
  79. package/dist/test/JpegUtil.test.js +0 -53
  80. package/dist/test/JpegUtil.test.js.map +0 -1
  81. package/dist/test/PathHelper.test.d.ts +0 -1
  82. package/dist/test/PathHelper.test.js +0 -98
  83. package/dist/test/PathHelper.test.js.map +0 -1
  84. package/dist/test/ScanCaps.test.d.ts +0 -1
  85. package/dist/test/ScanCaps.test.js +0 -96
  86. package/dist/test/ScanCaps.test.js.map +0 -1
  87. package/dist/test/ScanJobManifest.test.d.ts +0 -1
  88. package/dist/test/ScanJobManifest.test.js +0 -56
  89. package/dist/test/ScanJobManifest.test.js.map +0 -1
  90. package/dist/test/ScanJobSettings.test.d.ts +0 -1
  91. package/dist/test/ScanJobSettings.test.js +0 -59
  92. package/dist/test/ScanJobSettings.test.js.map +0 -1
  93. package/dist/test/ScanStatus.test.d.ts +0 -1
  94. package/dist/test/ScanStatus.test.js +0 -75
  95. package/dist/test/ScanStatus.test.js.map +0 -1
  96. package/dist/test/WalkupScanDestination.test.d.ts +0 -1
  97. package/dist/test/WalkupScanDestination.test.js +0 -80
  98. package/dist/test/WalkupScanDestination.test.js.map +0 -1
  99. package/dist/test/WalkupScanDestinations.test.d.ts +0 -1
  100. package/dist/test/WalkupScanDestinations.test.js +0 -68
  101. package/dist/test/WalkupScanDestinations.test.js.map +0 -1
  102. package/dist/test/WalkupScanManifest.test.d.ts +0 -1
  103. package/dist/test/WalkupScanManifest.test.js +0 -46
  104. package/dist/test/WalkupScanManifest.test.js.map +0 -1
  105. package/dist/test/WalkupScanToCompCaps.test.d.ts +0 -1
  106. package/dist/test/WalkupScanToCompCaps.test.js +0 -56
  107. package/dist/test/WalkupScanToCompCaps.test.js.map +0 -1
  108. package/dist/test/WalkupScanToCompDestination.test.d.ts +0 -1
  109. package/dist/test/WalkupScanToCompDestination.test.js +0 -58
  110. package/dist/test/WalkupScanToCompDestination.test.js.map +0 -1
  111. package/dist/test/WalkupScanToCompDestinations.test.d.ts +0 -1
  112. package/dist/test/WalkupScanToCompDestinations.test.js +0 -58
  113. package/dist/test/WalkupScanToCompDestinations.test.js.map +0 -1
  114. package/dist/test/WalkupScanToCompEvent.test.d.ts +0 -1
  115. package/dist/test/WalkupScanToCompEvent.test.js +0 -46
  116. package/dist/test/WalkupScanToCompEvent.test.js.map +0 -1
  117. package/dist/test/WalkupScanToCompManifest.test.d.ts +0 -1
  118. package/dist/test/WalkupScanToCompManifest.test.js +0 -46
  119. package/dist/test/WalkupScanToCompManifest.test.js.map +0 -1
  120. package/dist/test/clean.d.ts +0 -1
  121. package/dist/test/clean.js +0 -21
  122. package/dist/test/clean.js.map +0 -1
  123. package/dist/test/nextcloud.test.d.ts +0 -1
  124. package/dist/test/nextcloud.test.js +0 -165
  125. package/dist/test/nextcloud.test.js.map +0 -1
  126. package/dist/test/scanProcessing.test.d.ts +0 -1
  127. package/dist/test/scanProcessing.test.js +0 -105
  128. package/dist/test/scanProcessing.test.js.map +0 -1
  129. package/dist/test-bonjour.d.ts +0 -1
  130. package/dist/test-bonjour.js +0 -20
  131. package/dist/test-bonjour.js.map +0 -1
  132. package/nodemon.json +0 -6
  133. package/src/Destination.ts +0 -63
  134. package/src/DeviceCapabilities.ts +0 -8
  135. package/src/DiscoveryTree.ts +0 -56
  136. package/src/Event.ts +0 -55
  137. package/src/EventTable.ts +0 -45
  138. package/src/HPApi.ts +0 -510
  139. package/src/InputSource.ts +0 -4
  140. package/src/Job.ts +0 -134
  141. package/src/JpegUtil.ts +0 -327
  142. package/src/KnownShortcut.ts +0 -6
  143. package/src/PathHelper.ts +0 -106
  144. package/src/ScanCaps.ts +0 -81
  145. package/src/ScanContent.ts +0 -15
  146. package/src/ScanJobManifest.ts +0 -56
  147. package/src/ScanJobSettings.ts +0 -84
  148. package/src/ScanStatus.ts +0 -48
  149. package/src/WalkupScanDestination.ts +0 -74
  150. package/src/WalkupScanDestinations.ts +0 -46
  151. package/src/WalkupScanManifest.ts +0 -59
  152. package/src/WalkupScanToCompCaps.ts +0 -36
  153. package/src/WalkupScanToCompDestination.ts +0 -79
  154. package/src/WalkupScanToCompDestinations.ts +0 -47
  155. package/src/WalkupScanToCompEvent.ts +0 -30
  156. package/src/WalkupScanToCompManifest.ts +0 -59
  157. package/src/commitInfo.json +0 -3
  158. package/src/delay.ts +0 -5
  159. package/src/healthcheck.ts +0 -17
  160. package/src/index.ts +0 -588
  161. package/src/listening.ts +0 -144
  162. package/src/nextcloud/NextcloudConfig.ts +0 -7
  163. package/src/nextcloud/nextcloud.ts +0 -146
  164. package/src/paperless/PaperlessConfig.ts +0 -7
  165. package/src/paperless/paperless.ts +0 -110
  166. package/src/pdfProcessing.ts +0 -67
  167. package/src/postProcessing.ts +0 -165
  168. package/src/readDeviceCapabilities.ts +0 -52
  169. package/src/scanProcessing.ts +0 -570
  170. package/tsconfig.json +0 -34
@@ -1,56 +0,0 @@
1
- "use strict";
2
- import { Parser } from "xml2js";
3
- const parser = new Parser();
4
- import { promisify } from "util";
5
- const parseString = promisify<string, ScanJobManifestData>(parser.parseString);
6
-
7
- export interface ScanJobManifestData {
8
- "man:Manifest": {
9
- "map:ResourceMap": {
10
- "map:ResourceLink": {
11
- "dd:ResourceURI": string[];
12
- }[];
13
- "map:ResourceNode": {
14
- "map:ResourceLink": {
15
- "dd:ResourceURI": string[];
16
- }[];
17
- "map:ResourceType": {
18
- "scan:ScanResourceType": string[];
19
- }[];
20
- }[];
21
- }[];
22
- };
23
- }
24
-
25
- export default class ScanJobManifest {
26
- private readonly data: ScanJobManifestData;
27
-
28
- constructor(data: ScanJobManifestData) {
29
- this.data = data;
30
- }
31
- static async createScanJobManifest(
32
- content: string,
33
- ): Promise<ScanJobManifest> {
34
- const parsed = await parseString(content);
35
- return new ScanJobManifest(parsed);
36
- }
37
-
38
- get ScanCapsURI(): string | null {
39
- const scanCaps = this.data["man:Manifest"]["map:ResourceMap"]["0"][
40
- "map:ResourceNode"
41
- ].find(
42
- (x) =>
43
- x["map:ResourceType"][0]["scan:ScanResourceType"][0] === "ScanCaps",
44
- );
45
-
46
- if (scanCaps === undefined) {
47
- return null;
48
- }
49
-
50
- return (
51
- this.data["man:Manifest"]["map:ResourceMap"]["0"]["map:ResourceLink"][0][
52
- "dd:ResourceURI"
53
- ][0] + scanCaps["map:ResourceLink"][0]["dd:ResourceURI"][0]
54
- );
55
- }
56
- }
@@ -1,84 +0,0 @@
1
- import xml2js from "xml2js";
2
- import { InputSource } from "./InputSource";
3
-
4
- const parser = new xml2js.Parser();
5
- export default class ScanJobSettings {
6
- private readonly inputSource: InputSource;
7
- private readonly contentType: "Document" | "Photo";
8
- private readonly resolution: number;
9
- private readonly width: number | null;
10
- private readonly height: number | null;
11
- private readonly isDuplex: boolean;
12
-
13
- constructor(
14
- inputSource: InputSource,
15
- contentType: "Document" | "Photo",
16
- resolution: number,
17
- width: number | null,
18
- height: number | null,
19
- isDuplex: boolean,
20
- ) {
21
- this.inputSource = inputSource;
22
- this.contentType = contentType;
23
- this.resolution = resolution;
24
- this.width = width;
25
- this.height = height;
26
- this.isDuplex = isDuplex;
27
- }
28
-
29
- async toXML(): Promise<string> {
30
- const rawJob =
31
- '<?xml version="1.0" encoding="UTF-8"?>\n' +
32
- '<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' +
33
- "\t<XResolution>200</XResolution>\n" +
34
- "\t<YResolution>200</YResolution>\n" +
35
- "\t<XStart>0</XStart>\n" +
36
- "\t<YStart>0</YStart>\n" +
37
- "\t<Width>2481</Width>\n" +
38
- "\t<Height>3507</Height>\n" +
39
- "\t<Format>Jpeg</Format>\n" +
40
- "\t<CompressionQFactor>0</CompressionQFactor>\n" +
41
- "\t<ColorSpace>Color</ColorSpace>\n" +
42
- "\t<BitDepth>8</BitDepth>\n" +
43
- "\t<InputSource>Adf</InputSource>\n" +
44
- "\t<GrayRendering>NTSC</GrayRendering>\n" +
45
- "\t<ToneMap>\n" +
46
- "\t\t<Gamma>1000</Gamma>\n" +
47
- "\t\t<Brightness>1000</Brightness>\n" +
48
- "\t\t<Contrast>1000</Contrast>\n" +
49
- "\t\t<Highlite>179</Highlite>\n" +
50
- "\t\t<Shadow>25</Shadow>\n" +
51
- "\t\t<Threshold>0</Threshold>\n" +
52
- "\t</ToneMap>\n" +
53
- "\t<SharpeningLevel>128</SharpeningLevel>\n" +
54
- "\t<NoiseRemoval>0</NoiseRemoval>\n" +
55
- "\t<ContentType>Document</ContentType>\n" +
56
- "</ScanSettings>";
57
-
58
- const parsed = await parser.parseStringPromise(rawJob);
59
-
60
- parsed.ScanSettings.XResolution[0] = this.resolution;
61
- parsed.ScanSettings.YResolution[0] = this.resolution;
62
-
63
- if (this.width !== null) {
64
- parsed.ScanSettings.Width = this.width;
65
- }
66
-
67
- if (this.height !== null) {
68
- parsed.ScanSettings.Height = this.height;
69
- }
70
-
71
- parsed.ScanSettings.InputSource[0] = this.inputSource;
72
- if (this.inputSource === InputSource.Adf && this.isDuplex) {
73
- parsed.ScanSettings["AdfOptions"] = [{ AdfOption: ["Duplex"] }];
74
- }
75
- parsed.ScanSettings.ContentType[0] = this.contentType;
76
-
77
- const builder = new xml2js.Builder({
78
- xmldec: { version: "1.0", encoding: "UTF-8", standalone: false },
79
- renderOpts: { pretty: true, indent: "\t", newline: "\n" },
80
- });
81
-
82
- return builder.buildObject(parsed);
83
- }
84
- }
package/src/ScanStatus.ts DELETED
@@ -1,48 +0,0 @@
1
- "use strict";
2
- import { Parser } from "xml2js";
3
- const parser = new Parser();
4
- import { promisify } from "util";
5
- import { InputSource } from "./InputSource";
6
- const parseString = promisify<string, ScanStatusData>(parser.parseString);
7
-
8
- export interface ScanStatusData {
9
- ScanStatus: {
10
- ScannerState: { "0": string };
11
- AdfState: { "0": string };
12
- };
13
- }
14
-
15
- export default class ScanStatus {
16
- private readonly data: ScanStatusData;
17
- constructor(data: ScanStatusData) {
18
- this.data = data;
19
- }
20
-
21
- static async createScanStatus(content: string): Promise<ScanStatus> {
22
- const parsed = await parseString(content);
23
- return new ScanStatus(parsed);
24
- }
25
-
26
- get scannerState(): string | "Idle" {
27
- return this.data["ScanStatus"].ScannerState["0"];
28
- }
29
-
30
- get adfState(): string {
31
- if (
32
- Object.prototype.hasOwnProperty.call(this.data["ScanStatus"], "AdfState")
33
- ) {
34
- //not all printers have an automatic document feeder
35
- return this.data["ScanStatus"].AdfState["0"];
36
- } else {
37
- return "";
38
- }
39
- }
40
-
41
- isLoaded(): boolean {
42
- return this.adfState === "Loaded";
43
- }
44
-
45
- getInputSource(): InputSource {
46
- return this.isLoaded() ? InputSource.Adf : InputSource.Platen;
47
- }
48
- }
@@ -1,74 +0,0 @@
1
- "use strict";
2
- import { Parser } from "xml2js";
3
- import { promisify } from "util";
4
- import { KnownShortcut } from "./KnownShortcut";
5
-
6
- const parser = new Parser();
7
- const parseString = promisify<string, WalkupScanDestinationsData>(
8
- parser.parseString,
9
- );
10
-
11
- interface WalkupScanDestinationsData {
12
- "wus:WalkupScanDestinations": {
13
- "wus:WalkupScanDestination": WalkupScanDestinationData[];
14
- };
15
- }
16
-
17
- export interface WalkupScanDestinationData {
18
- "dd:Name": string[];
19
- "dd3:Hostname": string[];
20
- "dd:ResourceURI": string[];
21
- "wus:WalkupScanSettings": {
22
- "scantype:ScanSettings": {
23
- "dd:ScanPlexMode": string[];
24
- }[];
25
- "wus:Shortcut": KnownShortcut[];
26
- }[];
27
- }
28
-
29
- export default class WalkupScanDestination {
30
- private readonly data: WalkupScanDestinationData;
31
- constructor(data: WalkupScanDestinationData) {
32
- this.data = data;
33
- }
34
- static async createWalkupScanDestination(
35
- content: string,
36
- ): Promise<WalkupScanDestination> {
37
- const parsed = await parseString(content);
38
- return new WalkupScanDestination(
39
- parsed["wus:WalkupScanDestinations"]["wus:WalkupScanDestination"][0],
40
- );
41
- }
42
-
43
- get name(): string {
44
- return this.data["dd:Name"][0];
45
- }
46
-
47
- get hostname(): string {
48
- return this.data["dd3:Hostname"][0];
49
- }
50
-
51
- get resourceURI(): string {
52
- return this.data["dd:ResourceURI"][0];
53
- }
54
-
55
- get shortcut(): null | KnownShortcut {
56
- if (
57
- Object.prototype.hasOwnProperty.call(this.data, "wus:WalkupScanSettings")
58
- ) {
59
- return this.data["wus:WalkupScanSettings"]["0"]["wus:Shortcut"][0];
60
- }
61
- return null;
62
- }
63
-
64
- get scanPlexMode(): string | null {
65
- if (
66
- Object.prototype.hasOwnProperty.call(this.data, "wus:WalkupScanSettings")
67
- ) {
68
- return this.data["wus:WalkupScanSettings"]["0"][
69
- "scantype:ScanSettings"
70
- ][0]["dd:ScanPlexMode"][0];
71
- }
72
- return null;
73
- }
74
- }
@@ -1,46 +0,0 @@
1
- "use strict";
2
- import { Parser } from "xml2js";
3
- const parser = new Parser();
4
- import { promisify } from "util";
5
- const parseString = promisify<string, WalkupScanDestinationsData>(
6
- parser.parseString,
7
- );
8
-
9
- import WalkupScanDestination, {
10
- WalkupScanDestinationData,
11
- } from "./WalkupScanDestination";
12
-
13
- export interface WalkupScanDestinationsData {
14
- "wus:WalkupScanDestinations": {
15
- "wus:WalkupScanDestination": WalkupScanDestinationData[];
16
- };
17
- }
18
-
19
- export default class WalkupScanDestinations {
20
- private readonly data: WalkupScanDestinationsData;
21
- constructor(data: WalkupScanDestinationsData) {
22
- this.data = data;
23
- }
24
- static async createWalkupScanDestinations(
25
- content: string,
26
- ): Promise<WalkupScanDestinations> {
27
- const parsed = await parseString(content);
28
- return new WalkupScanDestinations(parsed);
29
- }
30
-
31
- get destinations(): WalkupScanDestination[] {
32
- const walkupScanDestinations = this.data["wus:WalkupScanDestinations"];
33
- if (
34
- Object.prototype.hasOwnProperty.call(
35
- walkupScanDestinations,
36
- "wus:WalkupScanDestination",
37
- )
38
- ) {
39
- return walkupScanDestinations["wus:WalkupScanDestination"].map(
40
- (x) => new WalkupScanDestination(x),
41
- );
42
- } else {
43
- return [];
44
- }
45
- }
46
- }
@@ -1,59 +0,0 @@
1
- "use strict";
2
- import { Parser } from "xml2js";
3
- const parser = new Parser();
4
- import { promisify } from "util";
5
- const parseString = promisify<string, WalkupScanManifestData>(
6
- parser.parseString,
7
- );
8
-
9
- export interface WalkupScanManifestData {
10
- "man:Manifest": {
11
- "map:ResourceMap": {
12
- "map:ResourceLink": {
13
- "dd:ResourceURI": string[];
14
- }[];
15
- "map:ResourceNode": {
16
- "map:ResourceLink": {
17
- "dd:ResourceURI": string[];
18
- }[];
19
- "map:ResourceType": {
20
- "wus:WalkupScanResourceType": string[];
21
- }[];
22
- }[];
23
- }[];
24
- };
25
- }
26
-
27
- export default class WalkupScanManifest {
28
- private readonly data: WalkupScanManifestData;
29
-
30
- constructor(data: WalkupScanManifestData) {
31
- this.data = data;
32
- }
33
- static async createWalkupScanManifest(
34
- content: string,
35
- ): Promise<WalkupScanManifest> {
36
- const parsed = await parseString(content);
37
- return new WalkupScanManifest(parsed);
38
- }
39
-
40
- get walkupScanDestinationsURI(): string | null {
41
- const walkupScanToCompCaps = this.data["man:Manifest"]["map:ResourceMap"][
42
- "0"
43
- ]["map:ResourceNode"].find(
44
- (x) =>
45
- x["map:ResourceType"][0]["wus:WalkupScanResourceType"][0] ===
46
- "WalkupScanDestinations",
47
- );
48
-
49
- if (walkupScanToCompCaps === undefined) {
50
- return null;
51
- }
52
-
53
- return (
54
- this.data["man:Manifest"]["map:ResourceMap"]["0"]["map:ResourceLink"][0][
55
- "dd:ResourceURI"
56
- ][0] + walkupScanToCompCaps["map:ResourceLink"][0]["dd:ResourceURI"][0]
57
- );
58
- }
59
- }
@@ -1,36 +0,0 @@
1
- "use strict";
2
- import { Parser } from "xml2js";
3
- const parser = new Parser();
4
- import { promisify } from "util";
5
- const parseString = promisify<string, WalkupScanToCompCapsData>(
6
- parser.parseString,
7
- );
8
- export interface WalkupScanToCompCapsData {
9
- "wus:WalkupScanToCompCaps": {
10
- "wus:MaxNetworkDestinations": string[];
11
- "wus:SupportsMultiItemScanFromPlaten": string[];
12
- };
13
- }
14
-
15
- export default class WalkupScanToCompCaps {
16
- private readonly data: WalkupScanToCompCapsData;
17
-
18
- constructor(data: WalkupScanToCompCapsData) {
19
- this.data = data;
20
- }
21
-
22
- static async createWalkupScanToCompCaps(
23
- content: string,
24
- ): Promise<WalkupScanToCompCaps> {
25
- const parsed = await parseString(content);
26
- return new WalkupScanToCompCaps(parsed);
27
- }
28
-
29
- get supportsMultiItemScanFromPlaten(): boolean {
30
- return (
31
- this.data["wus:WalkupScanToCompCaps"][
32
- "wus:SupportsMultiItemScanFromPlaten"
33
- ]["0"] === "true"
34
- );
35
- }
36
- }
@@ -1,79 +0,0 @@
1
- "use strict";
2
- import { Parser } from "xml2js";
3
- const parser = new Parser();
4
- import { promisify } from "util";
5
- import { KnownShortcut } from "./KnownShortcut";
6
- const parseString = promisify<string, WalkupScanToCompDestinationRoot>(
7
- parser.parseString,
8
- );
9
-
10
- interface WalkupScanToCompDestinationRoot {
11
- "wus:WalkupScanToCompDestination": WalkupScanToCompDestinationData;
12
- }
13
-
14
- export interface WalkupScanToCompDestinationData {
15
- "dd:Name": string[];
16
- "dd:ResourceURI": string[];
17
- "dd3:Hostname": string[];
18
- "wus:WalkupScanToCompSettings": {
19
- "scantype:ScanSettings": {
20
- "dd:ScanPlexMode": string[];
21
- }[];
22
- "wus:Shortcut": KnownShortcut[];
23
- }[];
24
- }
25
-
26
- export default class WalkupScanToCompDestination {
27
- private readonly data: WalkupScanToCompDestinationData;
28
- constructor(data: WalkupScanToCompDestinationData) {
29
- this.data = data;
30
- }
31
- static async createWalkupScanToCompDestination(
32
- content: string,
33
- ): Promise<WalkupScanToCompDestination> {
34
- const parsed = await parseString(content);
35
- return new WalkupScanToCompDestination(
36
- parsed["wus:WalkupScanToCompDestination"],
37
- );
38
- }
39
-
40
- get name(): string {
41
- return this.data["dd:Name"][0];
42
- }
43
-
44
- get hostname(): string {
45
- return this.data["dd3:Hostname"][0];
46
- }
47
-
48
- get resourceURI(): string {
49
- return this.data["dd:ResourceURI"][0];
50
- }
51
-
52
- get shortcut(): null | KnownShortcut {
53
- if (
54
- Object.prototype.hasOwnProperty.call(
55
- this.data,
56
- "wus:WalkupScanToCompSettings",
57
- )
58
- ) {
59
- return this.data["wus:WalkupScanToCompSettings"]["0"]["wus:Shortcut"][0];
60
- }
61
- return null;
62
- }
63
-
64
- get scanPlexMode(): string | null {
65
- if (
66
- Object.prototype.hasOwnProperty.call(
67
- this.data,
68
- "wus:WalkupScanToCompSettings",
69
- )
70
- ) {
71
- return (
72
- this.data["wus:WalkupScanToCompSettings"]["0"]["scantype:ScanSettings"][
73
- "0"
74
- ]["dd:ScanPlexMode"][0] || null
75
- );
76
- }
77
- return null;
78
- }
79
- }
@@ -1,47 +0,0 @@
1
- "use strict";
2
- import { Parser } from "xml2js";
3
- const parser = new Parser();
4
- import { promisify } from "util";
5
- const parseString = promisify<string, WalkupScanToCompDestinationsData>(
6
- parser.parseString,
7
- );
8
-
9
- import WalkupScanToCompDestination, {
10
- WalkupScanToCompDestinationData,
11
- } from "./WalkupScanToCompDestination";
12
-
13
- export interface WalkupScanToCompDestinationsData {
14
- "wus:WalkupScanToCompDestinations": {
15
- "wus:WalkupScanToCompDestination": WalkupScanToCompDestinationData[];
16
- };
17
- }
18
-
19
- export default class WalkupScanToCompDestinations {
20
- private readonly data: WalkupScanToCompDestinationsData;
21
- constructor(data: WalkupScanToCompDestinationsData) {
22
- this.data = data;
23
- }
24
- static async createWalkupScanToCompDestinations(
25
- content: string,
26
- ): Promise<WalkupScanToCompDestinations> {
27
- const parsed = await parseString(content);
28
- return new WalkupScanToCompDestinations(parsed);
29
- }
30
-
31
- get destinations(): WalkupScanToCompDestination[] {
32
- const walkupScanToCompDestinations =
33
- this.data["wus:WalkupScanToCompDestinations"];
34
- if (
35
- Object.prototype.hasOwnProperty.call(
36
- walkupScanToCompDestinations,
37
- "wus:WalkupScanToCompDestination",
38
- )
39
- ) {
40
- return walkupScanToCompDestinations[
41
- "wus:WalkupScanToCompDestination"
42
- ].map((x) => new WalkupScanToCompDestination(x));
43
- } else {
44
- return [];
45
- }
46
- }
47
- }
@@ -1,30 +0,0 @@
1
- "use strict";
2
- import { Parser } from "xml2js";
3
- const parser = new Parser();
4
- import { promisify } from "util";
5
- const parseString = promisify<string, WalkupScanToCompEventData>(
6
- parser.parseString,
7
- );
8
-
9
- export interface WalkupScanToCompEventData {
10
- "wus:WalkupScanToCompEvent": {
11
- "wus:WalkupScanToCompEventType": string[];
12
- };
13
- }
14
-
15
- export default class WalkupScanToCompEvent {
16
- private readonly data: WalkupScanToCompEventData;
17
- constructor(data: WalkupScanToCompEventData) {
18
- this.data = data;
19
- }
20
- static async createWalkupScanToCompEvent(content: string) {
21
- const parsed = await parseString(content);
22
- return new WalkupScanToCompEvent(parsed);
23
- }
24
-
25
- get eventType(): string {
26
- return this.data["wus:WalkupScanToCompEvent"][
27
- "wus:WalkupScanToCompEventType"
28
- ][0];
29
- }
30
- }
@@ -1,59 +0,0 @@
1
- "use strict";
2
- import { Parser } from "xml2js";
3
- const parser = new Parser();
4
- import { promisify } from "util";
5
- const parseString = promisify<string, WalkupScanToCompManifestData>(
6
- parser.parseString,
7
- );
8
-
9
- export interface WalkupScanToCompManifestData {
10
- "man:Manifest": {
11
- "map:ResourceMap": {
12
- "map:ResourceLink": {
13
- "dd:ResourceURI": string[];
14
- }[];
15
- "map:ResourceNode": {
16
- "map:ResourceLink": {
17
- "dd:ResourceURI": string[];
18
- }[];
19
- "map:ResourceType": {
20
- "wus:WalkupScanToCompResourceType": string[];
21
- }[];
22
- }[];
23
- }[];
24
- };
25
- }
26
-
27
- export default class WalkupScanToCompManifest {
28
- private readonly data: WalkupScanToCompManifestData;
29
-
30
- constructor(data: WalkupScanToCompManifestData) {
31
- this.data = data;
32
- }
33
- static async createWalkupScanToCompManifest(
34
- content: string,
35
- ): Promise<WalkupScanToCompManifest> {
36
- const parsed = await parseString(content);
37
- return new WalkupScanToCompManifest(parsed);
38
- }
39
-
40
- get WalkupScanToCompCapsURI(): string | null {
41
- const walkupScanToCompCaps = this.data["man:Manifest"]["map:ResourceMap"][
42
- "0"
43
- ]["map:ResourceNode"].find(
44
- (x) =>
45
- x["map:ResourceType"][0]["wus:WalkupScanToCompResourceType"][0] ===
46
- "WalkupScanToCompCaps",
47
- );
48
-
49
- if (walkupScanToCompCaps === undefined) {
50
- return null;
51
- }
52
-
53
- return (
54
- this.data["man:Manifest"]["map:ResourceMap"]["0"]["map:ResourceLink"][0][
55
- "dd:ResourceURI"
56
- ][0] + walkupScanToCompCaps["map:ResourceLink"][0]["dd:ResourceURI"][0]
57
- );
58
- }
59
- }
@@ -1,3 +0,0 @@
1
- {
2
- "commitId": "691a0d2906379ed370b16a4d804bff34ca6ecf10"
3
- }
package/src/delay.ts DELETED
@@ -1,5 +0,0 @@
1
- export function delay(t: number): Promise<void> {
2
- return new Promise(function (resolve) {
3
- setTimeout(resolve, t);
4
- });
5
- }
@@ -1,17 +0,0 @@
1
- import http from "http";
2
-
3
- export function startHealthCheckServer(PORT: number) {
4
- const server = http.createServer((req, res) => {
5
- if (req.method === "GET" && req.url === "/health") {
6
- res.writeHead(200, { "Content-Type": "application/json" });
7
- res.end(JSON.stringify({ status: "healthy" }));
8
- } else {
9
- res.writeHead(404, { "Content-Type": "text/plain" });
10
- res.end("Not Found");
11
- }
12
- });
13
-
14
- server.listen(PORT, () => {
15
- console.log(`Health endpoint exposed on port ${PORT} on path: /health`);
16
- });
17
- }