node-hp-scan-to 1.4.3 → 1.5.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.
- package/README.md +76 -29
- package/dist/Destination.js +2 -2
- package/dist/Destination.js.map +1 -1
- package/dist/DiscoveryTree.js.map +1 -1
- package/dist/Event.js.map +1 -1
- package/dist/EventTable.js +1 -1
- package/dist/EventTable.js.map +1 -1
- package/dist/HPApi.js +4 -4
- package/dist/HPApi.js.map +1 -1
- package/dist/InputSource.js +1 -1
- package/dist/InputSource.js.map +1 -1
- package/dist/Job.js +2 -2
- package/dist/Job.js.map +1 -1
- package/dist/JpegUtil.d.ts +1 -0
- package/dist/JpegUtil.js.map +1 -1
- package/dist/PaperlessCOnfig.d.ts +7 -0
- package/dist/PaperlessCOnfig.js +3 -0
- package/dist/PaperlessCOnfig.js.map +1 -0
- package/dist/PaperlessConfig.d.ts +7 -0
- package/dist/PaperlessConfig.js +3 -0
- package/dist/PaperlessConfig.js.map +1 -0
- package/dist/PathHelper.js.map +1 -1
- package/dist/ScanCaps.js +12 -2
- package/dist/ScanCaps.js.map +1 -1
- package/dist/ScanContent.d.ts +0 -1
- package/dist/ScanContent.js +0 -24
- package/dist/ScanContent.js.map +1 -1
- package/dist/ScanJobManifest.js.map +1 -1
- package/dist/ScanJobSettings.js +2 -2
- package/dist/ScanJobSettings.js.map +1 -1
- package/dist/ScanStatus.js.map +1 -1
- package/dist/WalkupScanDestination.js.map +1 -1
- package/dist/WalkupScanDestinations.js +1 -1
- package/dist/WalkupScanDestinations.js.map +1 -1
- package/dist/WalkupScanManifest.js.map +1 -1
- package/dist/WalkupScanToCompDestination.js.map +1 -1
- package/dist/WalkupScanToCompDestinations.js +1 -1
- package/dist/WalkupScanToCompDestinations.js.map +1 -1
- package/dist/WalkupScanToCompManifest.js.map +1 -1
- package/dist/commitInfo.json +3 -0
- package/dist/healthcheck.d.ts +1 -0
- package/dist/healthcheck.js +24 -0
- package/dist/healthcheck.js.map +1 -0
- package/dist/index.js +106 -19
- package/dist/index.js.map +1 -1
- package/dist/listening.js +2 -2
- package/dist/listening.js.map +1 -1
- package/dist/paperless/PaperlessConfig.d.ts +7 -0
- package/dist/paperless/PaperlessConfig.js +3 -0
- package/dist/paperless/PaperlessConfig.js.map +1 -0
- package/dist/paperless/paperless.d.ts +7 -0
- package/dist/paperless/paperless.js +83 -0
- package/dist/paperless/paperless.js.map +1 -0
- package/dist/paperless.d.ts +7 -0
- package/dist/paperless.js +83 -0
- package/dist/paperless.js.map +1 -0
- package/dist/pdfProcessing.d.ts +4 -0
- package/dist/pdfProcessing.js +52 -0
- package/dist/pdfProcessing.js.map +1 -0
- package/dist/postProcessing.d.ts +3 -0
- package/dist/postProcessing.js +44 -0
- package/dist/postProcessing.js.map +1 -0
- package/dist/readDeviceCapabilities.js.map +1 -1
- package/dist/scanProcessing.d.ts +7 -1
- package/dist/scanProcessing.js +20 -49
- package/dist/scanProcessing.js.map +1 -1
- package/dist/test/PathHelper.test.js +2 -2
- package/dist/test/PathHelper.test.js.map +1 -1
- package/dist/test/ScanCaps.test.js +20 -0
- package/dist/test/ScanCaps.test.js.map +1 -1
- package/dist/test/clean.js.map +1 -1
- package/dist/test/scanProcessing.test.js +1 -0
- package/dist/test/scanProcessing.test.js.map +1 -1
- package/dist/test-bonjour.d.ts +1 -0
- package/dist/test-bonjour.js +20 -0
- package/dist/test-bonjour.js.map +1 -0
- package/package.json +12 -9
- package/src/Destination.ts +2 -2
- package/src/EventTable.ts +1 -1
- package/src/HPApi.ts +4 -4
- package/src/Job.ts +2 -2
- package/src/ScanCaps.ts +18 -8
- package/src/ScanContent.ts +0 -22
- package/src/ScanJobSettings.ts +2 -2
- package/src/WalkupScanDestinations.ts +1 -1
- package/src/WalkupScanToCompDestinations.ts +1 -1
- package/src/commitInfo.json +3 -0
- package/src/healthcheck.ts +17 -0
- package/src/index.ts +132 -24
- package/src/listening.ts +2 -2
- package/src/paperless/PaperlessConfig.ts +7 -0
- package/src/paperless/paperless.ts +122 -0
- package/src/pdfProcessing.ts +67 -0
- package/src/postProcessing.ts +91 -0
- package/src/scanProcessing.ts +46 -93
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScanCaps.test.js","sourceRoot":"","sources":["../../test/ScanCaps.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe } from \"mocha\";\nimport { expect } from \"chai\";\nimport path from \"path\";\nimport * as fs from \"fs/promises\";\nimport ScanCaps from \"../src/ScanCaps\";\n\ndescribe(\"ScanCaps\", () => {\n describe(\"Parsing ScanCaps_with_adf.xml\", async () => {\n let scanCaps: ScanCaps;\n\n before(async () => {\n const content: string = await fs.readFile(\n path.resolve(\n __dirname,\n \"./asset/ScanCaps_with_adf.xml\"\n ),\n { encoding: \"utf8\" } //\n );\n scanCaps = await ScanCaps.createScanCaps(content);\n });\n\n it(\"AdfMaxWidth\", async () => {\n expect(scanCaps.adfMaxWidth).to.be.eq(2550);\n });\n it(\"AdfMaxHeight\", async () => {\n expect(scanCaps.adfMaxHeight).to.be.eq(4200);\n });\n it(\"PlatenMaxWidth\", async () => {\n expect(scanCaps.platenMaxWidth).to.be.eq(2550);\n });\n it(\"PlatenMaxHeight\", async () => {\n expect(scanCaps.platenMaxHeight).to.be.eq(3508);\n });\n });\n describe(\"Parsing ScanCaps_no_adf.xml\", async () => {\n let scanCaps: ScanCaps;\n\n before(async () => {\n const content: string = await fs.readFile(\n path.resolve(\n __dirname,\n \"./asset/ScanCaps_no_adf.xml\"\n ),\n { encoding: \"utf8\" } //\n );\n scanCaps = await ScanCaps.createScanCaps(content);\n });\n\n it(\"AdfMaxWidth\", async () => {\n expect(scanCaps.adfMaxWidth).to.be.eq(null);\n });\n it(\"AdfMaxHeight\", async () => {\n expect(scanCaps.adfMaxHeight).to.be.eq(null);\n });\n it(\"PlatenMaxWidth\", async () => {\n expect(scanCaps.platenMaxWidth).to.be.eq(2550);\n });\n it(\"PlatenMaxHeight\", async () => {\n expect(scanCaps.platenMaxHeight).to.be.eq(3508);\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"ScanCaps.test.js","sourceRoot":"","sources":["../../test/ScanCaps.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAiC;AACjC,+BAA8B;AAC9B,gDAAwB;AACxB,gDAAkC;AAClC,+DAAuC;AAEvC,IAAA,gBAAQ,EAAC,UAAU,EAAE,GAAG,EAAE;IACxB,IAAA,gBAAQ,EAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QACnD,IAAI,QAAkB,CAAC;QAEvB,MAAM,CAAC,KAAK,IAAI,EAAE;YAChB,MAAM,OAAO,GAAW,MAAM,EAAE,CAAC,QAAQ,CACvC,cAAI,CAAC,OAAO,CACV,SAAS,EACT,+BAA+B,CAChC,EACD,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE;aACxB,CAAC;YACF,QAAQ,GAAG,MAAM,kBAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YAC3B,IAAA,aAAM,EAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YAC5B,IAAA,aAAM,EAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC9B,IAAA,aAAM,EAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;YAC/B,IAAA,aAAM,EAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,IAAA,gBAAQ,EAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QACjD,IAAI,QAAkB,CAAC;QAEvB,MAAM,CAAC,KAAK,IAAI,EAAE;YAChB,MAAM,OAAO,GAAW,MAAM,EAAE,CAAC,QAAQ,CACvC,cAAI,CAAC,OAAO,CACV,SAAS,EACT,6BAA6B,CAC9B,EACD,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE;aACxB,CAAC;YACF,QAAQ,GAAG,MAAM,kBAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YAC3B,IAAA,aAAM,EAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YAC5B,IAAA,aAAM,EAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC9B,IAAA,aAAM,EAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;YAC/B,IAAA,aAAM,EAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,IAAA,gBAAQ,EAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QACnD,IAAI,QAAkB,CAAC;QAEvB,MAAM,CAAC,KAAK,IAAI,EAAE;YAChB,MAAM,OAAO,GAAW,MAAM,EAAE,CAAC,QAAQ,CACvC,cAAI,CAAC,OAAO,CACV,SAAS,EACT,+BAA+B,CAChC,EACD,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE;aACxB,CAAC;YACF,QAAQ,GAAG,MAAM,kBAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YAC3B,IAAA,aAAM,EAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YAC5B,IAAA,aAAM,EAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC9B,IAAA,aAAM,EAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;YAC/B,IAAA,aAAM,EAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClD,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 ScanCaps from \"../src/ScanCaps\";\n\ndescribe(\"ScanCaps\", () => {\n describe(\"Parsing ScanCaps_with_adf.xml\", async () => {\n let scanCaps: ScanCaps;\n\n before(async () => {\n const content: string = await fs.readFile(\n path.resolve(\n __dirname,\n \"./asset/ScanCaps_with_adf.xml\"\n ),\n { encoding: \"utf8\" } //\n );\n scanCaps = await ScanCaps.createScanCaps(content);\n });\n\n it(\"AdfMaxWidth\", async () => {\n expect(scanCaps.adfMaxWidth).to.be.eq(2550);\n });\n it(\"AdfMaxHeight\", async () => {\n expect(scanCaps.adfMaxHeight).to.be.eq(4200);\n });\n it(\"PlatenMaxWidth\", async () => {\n expect(scanCaps.platenMaxWidth).to.be.eq(2550);\n });\n it(\"PlatenMaxHeight\", async () => {\n expect(scanCaps.platenMaxHeight).to.be.eq(3508);\n });\n });\n describe(\"Parsing ScanCaps_no_adf.xml\", async () => {\n let scanCaps: ScanCaps;\n\n before(async () => {\n const content: string = await fs.readFile(\n path.resolve(\n __dirname,\n \"./asset/ScanCaps_no_adf.xml\"\n ),\n { encoding: \"utf8\" } //\n );\n scanCaps = await ScanCaps.createScanCaps(content);\n });\n\n it(\"AdfMaxWidth\", async () => {\n expect(scanCaps.adfMaxWidth).to.be.eq(null);\n });\n it(\"AdfMaxHeight\", async () => {\n expect(scanCaps.adfMaxHeight).to.be.eq(null);\n });\n it(\"PlatenMaxWidth\", async () => {\n expect(scanCaps.platenMaxWidth).to.be.eq(2550);\n });\n it(\"PlatenMaxHeight\", async () => {\n expect(scanCaps.platenMaxHeight).to.be.eq(3508);\n });\n });\n describe(\"Parsing ScanCaps_only_adf.xml\", async () => {\n let scanCaps: ScanCaps;\n\n before(async () => {\n const content: string = await fs.readFile(\n path.resolve(\n __dirname,\n \"./asset/ScanCaps_only_adf.xml\"\n ),\n { encoding: \"utf8\" } //\n );\n scanCaps = await ScanCaps.createScanCaps(content);\n });\n\n it(\"AdfMaxWidth\", async () => {\n expect(scanCaps.adfMaxWidth).to.be.eq(2550);\n });\n it(\"AdfMaxHeight\", async () => {\n expect(scanCaps.adfMaxHeight).to.be.eq(5100);\n });\n it(\"PlatenMaxWidth\", async () => {\n expect(scanCaps.platenMaxWidth).to.be.eq(null);\n });\n it(\"PlatenMaxHeight\", async () => {\n expect(scanCaps.platenMaxHeight).to.be.eq(null);\n });\n });\n});\n"]}
|
package/dist/test/clean.js.map
CHANGED
|
@@ -1 +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
|
|
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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanProcessing.test.js","sourceRoot":"","sources":["../../test/scanProcessing.test.ts"],"names":[],"mappings":";;AAAA,iCAAiC;AACjC,+BAA8B;AAC9B,0DAI+B;AAE/B,oDAAiD;AAEjD,IAAA,gBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,UAAsB,CAAC;IAC3B,IAAI,kBAAsC,CAAC;IAE3C,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,UAAU,GAAG;YACX,UAAU,EAAE,GAAG;YACf,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE;gBACf,SAAS,EAAE,SAAS;gBACpB,aAAa,EAAE,SAAS;gBACxB,WAAW,EAAE,SAAS;aACvB;
|
|
1
|
+
{"version":3,"file":"scanProcessing.test.js","sourceRoot":"","sources":["../../test/scanProcessing.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe } from \"mocha\";\nimport { expect } from \"chai\";\nimport {\n getScanWidth,\n getScanHeight,\n ScanConfig,\n} from \"../src/scanProcessing\";\nimport { DeviceCapabilities } from \"../src/DeviceCapabilities\";\nimport { InputSource } from \"../src/InputSource\";\n\ndescribe(\"scanProcessing\", () => {\n let scanConfig: ScanConfig;\n let deviceCapabilities: DeviceCapabilities;\n\n beforeEach(async () => {\n scanConfig = {\n resolution: 200,\n width: null,\n height: null,\n directoryConfig: {\n directory: undefined,\n tempDirectory: undefined,\n filePattern: undefined,\n },\n paperlessConfig: undefined\n };\n deviceCapabilities = {\n supportsMultiItemScanFromPlaten: false,\n useWalkupScanToComp: false,\n platenMaxWidth: null,\n platenMaxHeight: null,\n adfMaxWidth: null,\n adfMaxHeight: null,\n };\n });\n\n describe(\"getScanWidth\", async () => {\n const inputSource = InputSource.Adf;\n describe(\"Adf\", async () => {\n it(\"Does not define a value if nothing provided\", async () => {\n const width = getScanWidth(scanConfig, inputSource, deviceCapabilities);\n expect(width).to.be.eq(null);\n });\n it(\"Does not define a value if negative provided\", async () => {\n scanConfig.width = -1;\n const width = getScanWidth(scanConfig, inputSource, deviceCapabilities);\n expect(width).to.be.eq(null);\n });\n it(\"Define the value if no max available from device\", async () => {\n scanConfig.width = 2583;\n const width = getScanWidth(scanConfig, inputSource, deviceCapabilities);\n expect(width).to.be.eq(2583);\n });\n });\n describe(\"Platen\", async () => {\n const inputSource = InputSource.Platen;\n it(\"Does not define a value if nothing provided\", async () => {\n const width = getScanWidth(scanConfig, inputSource, deviceCapabilities);\n expect(width).to.be.eq(null);\n });\n it(\"Does not define a value if negative provided\", async () => {\n scanConfig.width = -1;\n const width = getScanWidth(scanConfig, inputSource, deviceCapabilities);\n expect(width).to.be.eq(null);\n });\n it(\"Define the value if no max available from device\", async () => {\n scanConfig.width = 2583;\n const width = getScanWidth(scanConfig, inputSource, deviceCapabilities);\n expect(width).to.be.eq(2583);\n });\n });\n });\n\n describe(\"getScanHeight\", async () => {\n const inputSource = InputSource.Adf;\n describe(\"Adf\", async () => {\n it(\"Does not define a value if nothing provided\", async () => {\n const height = getScanHeight(scanConfig, inputSource, deviceCapabilities);\n expect(height).to.be.eq(null);\n });\n it(\"Does not define a value if negative provided\", async () => {\n scanConfig.height = -1;\n const height = getScanHeight(scanConfig, inputSource, deviceCapabilities);\n expect(height).to.be.eq(null);\n });\n it(\"Define the value if no max available from device\", async () => {\n scanConfig.height = 1269;\n const width = getScanHeight(scanConfig, inputSource, deviceCapabilities);\n expect(width).to.be.eq(1269);\n });\n });\n describe(\"Platen\", async () => {\n const inputSource = InputSource.Platen;\n it(\"Does not define a value if nothing provided\", async () => {\n const height = getScanHeight(scanConfig, inputSource, deviceCapabilities);\n expect(height).to.be.eq(null);\n });\n it(\"Does not define a value if negative provided\", async () => {\n scanConfig.height = -1;\n const height = getScanHeight(scanConfig, inputSource, deviceCapabilities);\n expect(height).to.be.eq(null);\n });\n it(\"Define the value if no max available from device\", async () => {\n scanConfig.height = 1269;\n const height = getScanHeight(scanConfig, inputSource, deviceCapabilities);\n expect(height).to.be.eq(1269);\n });\n });\n });\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
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 bonjour_1 = __importDefault(require("bonjour"));
|
|
7
|
+
// advertise an HTTP server on port 3000
|
|
8
|
+
//instance.publish({ name: 'My Web Server', type: 'http', port: 3000 })
|
|
9
|
+
const bonjour0 = (0, bonjour_1.default)();
|
|
10
|
+
console.log("Searching device...");
|
|
11
|
+
const browser = bonjour0.find({
|
|
12
|
+
type: "http",
|
|
13
|
+
}, (service) => {
|
|
14
|
+
console.log(`Found: ${service.name}`);
|
|
15
|
+
});
|
|
16
|
+
// browse for all http services
|
|
17
|
+
// instance.find({ type: 'http'}, function (service) {
|
|
18
|
+
// console.log('Found an HTTP server:', service)
|
|
19
|
+
// })
|
|
20
|
+
//# sourceMappingURL=test-bonjour.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-bonjour.js","sourceRoot":"","sources":["../test-bonjour.ts"],"names":[],"mappings":";;;;;AACA,sDAA+B;AAG/B,wCAAwC;AACxC,uEAAuE;AAEvE,MAAM,QAAQ,GAAG,IAAA,iBAAQ,GAAE,CAAC;AAC5B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAC3B;IACE,IAAI,EAAE,MAAM;CACb,EACD,CAAC,OAAO,EAAE,EAAE;IACV,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEL,+BAA+B;AAC/B,sDAAsD;AACtD,kDAAkD;AAClD,KAAK","sourcesContent":["\nimport Bonjour0 from \"bonjour\";\n\n\n// advertise an HTTP server on port 3000\n//instance.publish({ name: 'My Web Server', type: 'http', port: 3000 })\n\nconst bonjour0 = Bonjour0();\nconsole.log(\"Searching device...\");\nconst browser = bonjour0.find(\n {\n type: \"http\",\n },\n (service) => {\n console.log(`Found: ${service.name}`);\n });\n\n// browse for all http services\n// instance.find({ type: 'http'}, function (service) {\n// console.log('Found an HTTP server:', service)\n// })"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-hp-scan-to",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"description": "Scan document to Computer for HP All-in-One Printers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Officejet",
|
|
@@ -14,9 +14,12 @@
|
|
|
14
14
|
"node-hp-scan-to": "dist/index.js"
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
|
+
"prestart": "node getCommitId.js",
|
|
17
18
|
"start": "ts-node src/index.ts",
|
|
18
19
|
"start-debug": "ts-node src/index.ts -D",
|
|
20
|
+
"prebuild": "node getCommitId.js",
|
|
19
21
|
"build": "tsc -p .",
|
|
22
|
+
"build:docker": "tsc -p .",
|
|
20
23
|
"built-start": "tsc -p . && node --trace-warnings ./dist/index.js",
|
|
21
24
|
"start-dev": "nodemon",
|
|
22
25
|
"prepublishOnly": "tsc -p ./ --outDir dist/",
|
|
@@ -48,21 +51,20 @@
|
|
|
48
51
|
"license": "MIT",
|
|
49
52
|
"devDependencies": {
|
|
50
53
|
"@istanbuljs/nyc-config-typescript": "^1.0.2",
|
|
51
|
-
"@types/bonjour": "^3.5.10",
|
|
52
54
|
"@types/chai": "^4.3.3",
|
|
53
55
|
"@types/chai-string": "^1.4.2",
|
|
54
56
|
"@types/config": "^3.3.0",
|
|
55
57
|
"@types/dateformat": "^5.0.0",
|
|
56
58
|
"@types/mocha": "^10.0.0",
|
|
57
|
-
"@types/node": "^
|
|
59
|
+
"@types/node": "^22.1.0",
|
|
58
60
|
"@types/xml2js": "^0.4.11",
|
|
59
61
|
"chai": "^4.3.6",
|
|
60
62
|
"chai-string": "^1.5.0",
|
|
61
63
|
"codecov": "^3.8.3",
|
|
62
64
|
"eslint": "^9.1.0",
|
|
63
|
-
"mocha": "^
|
|
65
|
+
"mocha": "^11.0.1",
|
|
64
66
|
"nodemon": "^3.0.1",
|
|
65
|
-
"nyc": "^
|
|
67
|
+
"nyc": "^17.0.0",
|
|
66
68
|
"prettier": "^3.0.0",
|
|
67
69
|
"ts-mockito": "^2.6.1",
|
|
68
70
|
"ts-node": "^10.9.1",
|
|
@@ -70,12 +72,13 @@
|
|
|
70
72
|
"yarn": "^1.22.19"
|
|
71
73
|
},
|
|
72
74
|
"dependencies": {
|
|
73
|
-
"axios": "^1.
|
|
74
|
-
"bonjour": "^3.
|
|
75
|
-
"commander": "^
|
|
75
|
+
"axios": "^1.7.4",
|
|
76
|
+
"bonjour-service": "^1.3.0",
|
|
77
|
+
"commander": "^13.0.0",
|
|
76
78
|
"config": "^3.3.8",
|
|
77
79
|
"dateformat": "^4.6.3",
|
|
78
80
|
"jspdf": "^2.5.1",
|
|
79
81
|
"xml2js": "^0.6.0"
|
|
80
|
-
}
|
|
82
|
+
},
|
|
83
|
+
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
|
81
84
|
}
|
package/src/Destination.ts
CHANGED
|
@@ -52,8 +52,8 @@ export default class Destination {
|
|
|
52
52
|
parsed.WalkupScanDestination.Name[0]._ = this.name;
|
|
53
53
|
parsed.WalkupScanDestination.LinkType[0] = this.linkType;
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
const builder = new Builder();
|
|
56
|
+
const xml = builder.buildObject(parsed);
|
|
57
57
|
if (this.toComp) {
|
|
58
58
|
return xml.replace(/WalkupScan/g, "WalkupScanToComp");
|
|
59
59
|
} else {
|
package/src/EventTable.ts
CHANGED
|
@@ -35,7 +35,7 @@ export default class EventTable {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
get events() {
|
|
38
|
-
|
|
38
|
+
const eventTable = this.data["ev:EventTable"];
|
|
39
39
|
if (eventTable != null && eventTable["ev:Event"] != null) {
|
|
40
40
|
return eventTable["ev:Event"].map((x) => new Event(x));
|
|
41
41
|
} else {
|
package/src/HPApi.ts
CHANGED
|
@@ -279,7 +279,7 @@ export default class HPApi {
|
|
|
279
279
|
let path: string;
|
|
280
280
|
|
|
281
281
|
if (walkupScanDestination.resourceURI.startsWith("http")) {
|
|
282
|
-
|
|
282
|
+
const urlInfo = new URL(walkupScanDestination.resourceURI);
|
|
283
283
|
if (urlInfo.pathname === null) {
|
|
284
284
|
throw new Error(
|
|
285
285
|
`invalid walkupScanDestination.resourceURI: ${walkupScanDestination.resourceURI}`,
|
|
@@ -348,9 +348,9 @@ export default class HPApi {
|
|
|
348
348
|
etag: string = "",
|
|
349
349
|
decisecondTimeout: number = 0,
|
|
350
350
|
): Promise<EtagEventTable> {
|
|
351
|
-
|
|
351
|
+
const url = this.appendTimeout("/EventMgmt/EventTable", decisecondTimeout);
|
|
352
352
|
|
|
353
|
-
|
|
353
|
+
const headers = this.placeETagHeader(etag, {});
|
|
354
354
|
|
|
355
355
|
let response: AxiosResponse<string>;
|
|
356
356
|
try {
|
|
@@ -440,7 +440,7 @@ export default class HPApi {
|
|
|
440
440
|
if (response.status !== 200) {
|
|
441
441
|
throw response;
|
|
442
442
|
} else {
|
|
443
|
-
|
|
443
|
+
const content = response.data;
|
|
444
444
|
return ScanStatus.createScanStatus(content);
|
|
445
445
|
}
|
|
446
446
|
}
|
package/src/Job.ts
CHANGED
|
@@ -42,7 +42,7 @@ export default class Job {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
get currentPageNumber(): string | null {
|
|
45
|
-
|
|
45
|
+
const preScanPage = this.data["j:Job"].ScanJob[0].PreScanPage;
|
|
46
46
|
if (preScanPage) {
|
|
47
47
|
return preScanPage[0].PageNumber[0];
|
|
48
48
|
} else {
|
|
@@ -70,7 +70,7 @@ export default class Job {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
get pageState(): string | null {
|
|
73
|
-
|
|
73
|
+
const preScanPage = this.data["j:Job"].ScanJob[0].PreScanPage;
|
|
74
74
|
if (preScanPage) {
|
|
75
75
|
return preScanPage[0].PageState[0];
|
|
76
76
|
} else {
|
package/src/ScanCaps.ts
CHANGED
|
@@ -34,17 +34,27 @@ export default class ScanCaps {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
get platenMaxWidth(): number | null {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
if (Object.prototype.hasOwnProperty.call(this.data["ScanCaps"], "Platen")) {
|
|
38
|
+
return Number.parseInt(
|
|
39
|
+
this.data["ScanCaps"]["Platen"][0]["InputSourceCaps"][0]["MaxWidth"][0],
|
|
40
|
+
10,
|
|
41
|
+
);
|
|
42
|
+
} else {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
41
45
|
}
|
|
42
46
|
|
|
43
47
|
get platenMaxHeight(): number | null {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
if (Object.prototype.hasOwnProperty.call(this.data["ScanCaps"], "Platen")) {
|
|
49
|
+
return Number.parseInt(
|
|
50
|
+
this.data["ScanCaps"]["Platen"][0]["InputSourceCaps"][0][
|
|
51
|
+
"MaxHeight"
|
|
52
|
+
][0],
|
|
53
|
+
10,
|
|
54
|
+
);
|
|
55
|
+
} else {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
48
58
|
}
|
|
49
59
|
|
|
50
60
|
get adfMaxWidth(): number | null {
|
package/src/ScanContent.ts
CHANGED
|
@@ -13,25 +13,3 @@ export interface ScanPage {
|
|
|
13
13
|
xResolution: number;
|
|
14
14
|
yResolution: number;
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
export async function createPdfFrom(
|
|
18
|
-
scanContent: ScanContent,
|
|
19
|
-
destination: string,
|
|
20
|
-
) {
|
|
21
|
-
let doc: jsPDF | null = null;
|
|
22
|
-
for (const element of scanContent.elements) {
|
|
23
|
-
const widthInInches = element.width / element.xResolution;
|
|
24
|
-
const heightInInches = element.height / element.yResolution;
|
|
25
|
-
const format = [widthInInches, heightInInches];
|
|
26
|
-
|
|
27
|
-
if (doc == null) {
|
|
28
|
-
doc = new jsPDF({ unit: "in", floatPrecision: 3, format });
|
|
29
|
-
} else {
|
|
30
|
-
doc.addPage(format);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const imageByteBuffer = await fs.readFile(element.path);
|
|
34
|
-
doc.addImage(imageByteBuffer, "JPEG", 0, 0, widthInInches, heightInInches);
|
|
35
|
-
}
|
|
36
|
-
doc?.save(destination);
|
|
37
|
-
}
|
package/src/ScanJobSettings.ts
CHANGED
|
@@ -27,7 +27,7 @@ export default class ScanJobSettings {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
async toXML(): Promise<string> {
|
|
30
|
-
|
|
30
|
+
const rawJob =
|
|
31
31
|
'<?xml version="1.0" encoding="UTF-8"?>\n' +
|
|
32
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
33
|
"\t<XResolution>200</XResolution>\n" +
|
|
@@ -74,7 +74,7 @@ export default class ScanJobSettings {
|
|
|
74
74
|
}
|
|
75
75
|
parsed.ScanSettings.ContentType[0] = this.contentType;
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
const builder = new xml2js.Builder({
|
|
78
78
|
xmldec: { version: "1.0", encoding: "UTF-8", standalone: false },
|
|
79
79
|
renderOpts: { pretty: true, indent: "\t", newline: "\n" },
|
|
80
80
|
});
|
|
@@ -29,7 +29,7 @@ export default class WalkupScanDestinations {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
get destinations(): WalkupScanDestination[] {
|
|
32
|
-
|
|
32
|
+
const walkupScanDestinations = this.data["wus:WalkupScanDestinations"];
|
|
33
33
|
if (
|
|
34
34
|
Object.prototype.hasOwnProperty.call(
|
|
35
35
|
walkupScanDestinations,
|
|
@@ -29,7 +29,7 @@ export default class WalkupScanToCompDestinations {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
get destinations(): WalkupScanToCompDestination[] {
|
|
32
|
-
|
|
32
|
+
const walkupScanToCompDestinations =
|
|
33
33
|
this.data["wus:WalkupScanToCompDestinations"];
|
|
34
34
|
if (
|
|
35
35
|
Object.prototype.hasOwnProperty.call(
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
}
|