@u1f992/pdfdiff 0.0.1 → 0.2.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 (71) hide show
  1. package/.github/workflows/gh-pages.yml +60 -0
  2. package/.github/workflows/publish.yml +34 -0
  3. package/.vscode/extensions.json +3 -0
  4. package/.vscode/settings.json +20 -0
  5. package/LICENSE +674 -0
  6. package/README.md +24 -45
  7. package/dist/browser.d.ts +2 -0
  8. package/dist/browser.d.ts.map +1 -0
  9. package/dist/browser.js +3690 -0
  10. package/dist/browser.js.map +1 -0
  11. package/dist/cli.d.ts +3 -0
  12. package/dist/cli.d.ts.map +1 -0
  13. package/dist/cli.js +39856 -0
  14. package/dist/cli.js.map +1 -0
  15. package/dist/coi-serviceworker.min.js +2 -0
  16. package/dist/diff.d.ts +15 -0
  17. package/dist/diff.d.ts.map +1 -0
  18. package/dist/image.d.ts +13 -0
  19. package/dist/image.d.ts.map +1 -0
  20. package/dist/index.d.ts +27 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.html +72 -0
  23. package/dist/index.js +3554 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/index.test.d.ts +2 -0
  26. package/dist/index.test.d.ts.map +1 -0
  27. package/dist/iterable.d.ts +2 -0
  28. package/dist/iterable.d.ts.map +1 -0
  29. package/dist/iterable.test.d.ts +2 -0
  30. package/dist/iterable.test.d.ts.map +1 -0
  31. package/dist/jimp.d.ts +6 -0
  32. package/dist/jimp.d.ts.map +1 -0
  33. package/dist/mupdf-wasm.wasm +0 -0
  34. package/dist/pdf.d.ts +5 -0
  35. package/dist/pdf.d.ts.map +1 -0
  36. package/dist/rgba-color.d.ts +4 -0
  37. package/dist/rgba-color.d.ts.map +1 -0
  38. package/dist/rgba-color.test.d.ts +2 -0
  39. package/dist/rgba-color.test.d.ts.map +1 -0
  40. package/dist/style.css +19 -0
  41. package/dist/worker.d.ts +42 -0
  42. package/dist/worker.d.ts.map +1 -0
  43. package/dist/worker.js +3515 -0
  44. package/dist/worker.js.map +1 -0
  45. package/package.json +45 -7
  46. package/prettier.config.js +3 -0
  47. package/prototyping/README.md +1 -0
  48. package/prototyping/flat-map-concurrency.js +218 -0
  49. package/prototyping/worker.js +10 -0
  50. package/rollup.config.js +108 -0
  51. package/src/browser.ts +196 -0
  52. package/src/cli.ts +195 -0
  53. package/src/diff.ts +85 -0
  54. package/src/image.ts +150 -0
  55. package/src/index.html +72 -0
  56. package/src/index.test.ts +97 -0
  57. package/src/index.ts +275 -0
  58. package/src/iterable.test.ts +40 -0
  59. package/src/iterable.ts +24 -0
  60. package/src/jimp.ts +15 -0
  61. package/src/pdf.ts +74 -0
  62. package/src/rgba-color.test.ts +43 -0
  63. package/src/rgba-color.ts +63 -0
  64. package/src/style.css +19 -0
  65. package/src/worker.ts +159 -0
  66. package/test/a.pdf +0 -0
  67. package/test/b.pdf +0 -0
  68. package/test/base.xcf +0 -0
  69. package/test/expected.png +0 -0
  70. package/test/mask.pdf +0 -0
  71. package/tsconfig.json +50 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare function withIndex<T>(iter: AsyncIterable<T>, start?: number): AsyncGenerator<[number, T], void, unknown>;
2
+ //# sourceMappingURL=iterable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterable.d.ts","sourceRoot":"","sources":["../src/iterable.ts"],"names":[],"mappings":"AAiBA,wBAAuB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,SAAI,8CAMpE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=iterable.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterable.test.d.ts","sourceRoot":"","sources":["../src/iterable.test.ts"],"names":[],"mappings":""}
package/dist/jimp.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import * as jimp from "jimp";
2
+ export type JimpInstance = Pick<jimp.JimpInstance, "width" | "height" | "bitmap" | "getPixelColor" | "setPixelColor" | "resize" | "composite"> & {
3
+ getBuffer: (mime: "image/png") => ReturnType<jimp.JimpInstance["getBuffer"]>;
4
+ getBase64: (mime: "image/png") => ReturnType<jimp.JimpInstance["getBase64"]>;
5
+ };
6
+ //# sourceMappingURL=jimp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jimp.d.ts","sourceRoot":"","sources":["../src/jimp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,IAAI,CAAC,YAAY,EACf,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,eAAe,GACf,eAAe,GACf,QAAQ,GACR,WAAW,CACd,GAAG;IACF,SAAS,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7E,SAAS,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;CAC9E,CAAC"}
Binary file
package/dist/pdf.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ import * as mupdf from "mupdf";
2
+ import type { JimpInstance } from "./jimp.ts";
3
+ export declare function loadPages(pdf: mupdf.Document): Generator<mupdf.PDFPage | mupdf.Page, void, unknown>;
4
+ export declare function pageToImage(page: mupdf.Page, dpi: number, alpha: boolean): Promise<JimpInstance>;
5
+ //# sourceMappingURL=pdf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf.d.ts","sourceRoot":"","sources":["../src/pdf.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,wBAAiB,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,wDAI7C;AA8BD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,yBAcf"}
@@ -0,0 +1,4 @@
1
+ export type RGBAColor = [number, number, number, number];
2
+ export declare const parseHex: (hex: string) => RGBAColor | null;
3
+ export declare const formatHex: ([r, g, b, a]: RGBAColor) => string;
4
+ //# sourceMappingURL=rgba-color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rgba-color.d.ts","sourceRoot":"","sources":["../src/rgba-color.ts"],"names":[],"mappings":"AAiBA,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,qBAkCnC,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,cAAc,SAAS,WAOpC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rgba-color.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rgba-color.test.d.ts","sourceRoot":"","sources":["../src/rgba-color.test.ts"],"names":[],"mappings":""}
package/dist/style.css ADDED
@@ -0,0 +1,19 @@
1
+ .summary-content {
2
+ display: inline-flex;
3
+ align-items: baseline;
4
+ gap: 20px;
5
+ }
6
+
7
+ .checkerboard-bg {
8
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAAAAABWESUoAAAAHUlEQVQ4y2P4gQYeoAGGUQUjSgG6ALqGUQUjSgEAdjWwLh+tpFgAAAAASUVORK5CYII=");
9
+ }
10
+
11
+ .diff-table {
12
+ border: 1px solid black;
13
+ border-collapse: collapse;
14
+ }
15
+
16
+ .diff-table th,
17
+ .diff-table td {
18
+ border: 1px solid black;
19
+ }
@@ -0,0 +1,42 @@
1
+ import { type Pallet } from "./diff.ts";
2
+ import { type AlignStrategy } from "./image.ts";
3
+ export type InitMessage = {
4
+ type: "init";
5
+ aBytes: Uint8Array;
6
+ bBytes: Uint8Array;
7
+ maskBytes: Uint8Array | null;
8
+ dpi: number;
9
+ alpha: boolean;
10
+ pallet: Pallet;
11
+ align: AlignStrategy;
12
+ };
13
+ export type PageMessage = {
14
+ type: "page";
15
+ index: number;
16
+ };
17
+ export type ReadyMessage = {
18
+ type: "ready";
19
+ };
20
+ export type PageResultMessage = {
21
+ type: "pageResult";
22
+ index: number;
23
+ a: {
24
+ width: number;
25
+ height: number;
26
+ data: ArrayBuffer;
27
+ };
28
+ b: {
29
+ width: number;
30
+ height: number;
31
+ data: ArrayBuffer;
32
+ };
33
+ diff: {
34
+ width: number;
35
+ height: number;
36
+ data: ArrayBuffer;
37
+ };
38
+ addition: [number, number][];
39
+ deletion: [number, number][];
40
+ modification: [number, number][];
41
+ };
42
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAIpB,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;IACxD,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;IACxD,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;IAC3D,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAC7B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CAClC,CAAC"}