@pdfme/manipulator 5.5.10-dev.5 → 6.0.0-dev.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 (99) hide show
  1. package/package.json +28 -56
  2. package/tsconfig.build.json +14 -0
  3. package/tsconfig.json +14 -4
  4. package/vite.config.mts +33 -0
  5. package/vitest.setup.ts +3 -0
  6. package/dist/cjs/__tests__/e2e/insert.e2e.test.js +0 -32
  7. package/dist/cjs/__tests__/e2e/insert.e2e.test.js.map +0 -1
  8. package/dist/cjs/__tests__/e2e/merge.e2e.test.js +0 -20
  9. package/dist/cjs/__tests__/e2e/merge.e2e.test.js.map +0 -1
  10. package/dist/cjs/__tests__/e2e/move.e2e.test.js +0 -18
  11. package/dist/cjs/__tests__/e2e/move.e2e.test.js.map +0 -1
  12. package/dist/cjs/__tests__/e2e/organize-complex.e2e.test.js +0 -96
  13. package/dist/cjs/__tests__/e2e/organize-complex.e2e.test.js.map +0 -1
  14. package/dist/cjs/__tests__/e2e/organize-single.e2e.test.js +0 -68
  15. package/dist/cjs/__tests__/e2e/organize-single.e2e.test.js.map +0 -1
  16. package/dist/cjs/__tests__/e2e/remove.e2e.test.js +0 -28
  17. package/dist/cjs/__tests__/e2e/remove.e2e.test.js.map +0 -1
  18. package/dist/cjs/__tests__/e2e/rotate.e2e.test.js +0 -38
  19. package/dist/cjs/__tests__/e2e/rotate.e2e.test.js.map +0 -1
  20. package/dist/cjs/__tests__/e2e/split.e2e.test.js +0 -27
  21. package/dist/cjs/__tests__/e2e/split.e2e.test.js.map +0 -1
  22. package/dist/cjs/__tests__/insert.test.js +0 -18
  23. package/dist/cjs/__tests__/insert.test.js.map +0 -1
  24. package/dist/cjs/__tests__/merge.test.js +0 -16
  25. package/dist/cjs/__tests__/merge.test.js.map +0 -1
  26. package/dist/cjs/__tests__/move.test.js +0 -16
  27. package/dist/cjs/__tests__/move.test.js.map +0 -1
  28. package/dist/cjs/__tests__/organize.test.js +0 -75
  29. package/dist/cjs/__tests__/organize.test.js.map +0 -1
  30. package/dist/cjs/__tests__/remove.test.js +0 -20
  31. package/dist/cjs/__tests__/remove.test.js.map +0 -1
  32. package/dist/cjs/__tests__/rotate.test.js +0 -17
  33. package/dist/cjs/__tests__/rotate.test.js.map +0 -1
  34. package/dist/cjs/__tests__/split.test.js +0 -21
  35. package/dist/cjs/__tests__/split.test.js.map +0 -1
  36. package/dist/cjs/__tests__/test-helpers.js +0 -44
  37. package/dist/cjs/__tests__/test-helpers.js.map +0 -1
  38. package/dist/cjs/__tests__/utils.js +0 -29
  39. package/dist/cjs/__tests__/utils.js.map +0 -1
  40. package/dist/cjs/src/index.js +0 -161
  41. package/dist/cjs/src/index.js.map +0 -1
  42. package/dist/esm/__tests__/e2e/insert.e2e.test.js +0 -30
  43. package/dist/esm/__tests__/e2e/insert.e2e.test.js.map +0 -1
  44. package/dist/esm/__tests__/e2e/merge.e2e.test.js +0 -18
  45. package/dist/esm/__tests__/e2e/merge.e2e.test.js.map +0 -1
  46. package/dist/esm/__tests__/e2e/move.e2e.test.js +0 -16
  47. package/dist/esm/__tests__/e2e/move.e2e.test.js.map +0 -1
  48. package/dist/esm/__tests__/e2e/organize-complex.e2e.test.js +0 -94
  49. package/dist/esm/__tests__/e2e/organize-complex.e2e.test.js.map +0 -1
  50. package/dist/esm/__tests__/e2e/organize-single.e2e.test.js +0 -66
  51. package/dist/esm/__tests__/e2e/organize-single.e2e.test.js.map +0 -1
  52. package/dist/esm/__tests__/e2e/remove.e2e.test.js +0 -26
  53. package/dist/esm/__tests__/e2e/remove.e2e.test.js.map +0 -1
  54. package/dist/esm/__tests__/e2e/rotate.e2e.test.js +0 -36
  55. package/dist/esm/__tests__/e2e/rotate.e2e.test.js.map +0 -1
  56. package/dist/esm/__tests__/e2e/split.e2e.test.js +0 -25
  57. package/dist/esm/__tests__/e2e/split.e2e.test.js.map +0 -1
  58. package/dist/esm/__tests__/insert.test.js +0 -16
  59. package/dist/esm/__tests__/insert.test.js.map +0 -1
  60. package/dist/esm/__tests__/merge.test.js +0 -14
  61. package/dist/esm/__tests__/merge.test.js.map +0 -1
  62. package/dist/esm/__tests__/move.test.js +0 -14
  63. package/dist/esm/__tests__/move.test.js.map +0 -1
  64. package/dist/esm/__tests__/organize.test.js +0 -73
  65. package/dist/esm/__tests__/organize.test.js.map +0 -1
  66. package/dist/esm/__tests__/remove.test.js +0 -18
  67. package/dist/esm/__tests__/remove.test.js.map +0 -1
  68. package/dist/esm/__tests__/rotate.test.js +0 -15
  69. package/dist/esm/__tests__/rotate.test.js.map +0 -1
  70. package/dist/esm/__tests__/split.test.js +0 -19
  71. package/dist/esm/__tests__/split.test.js.map +0 -1
  72. package/dist/esm/__tests__/test-helpers.js +0 -32
  73. package/dist/esm/__tests__/test-helpers.js.map +0 -1
  74. package/dist/esm/__tests__/utils.js +0 -23
  75. package/dist/esm/__tests__/utils.js.map +0 -1
  76. package/dist/esm/src/index.js +0 -152
  77. package/dist/esm/src/index.js.map +0 -1
  78. package/dist/types/__tests__/e2e/insert.e2e.test.d.ts +0 -1
  79. package/dist/types/__tests__/e2e/merge.e2e.test.d.ts +0 -1
  80. package/dist/types/__tests__/e2e/move.e2e.test.d.ts +0 -1
  81. package/dist/types/__tests__/e2e/organize-complex.e2e.test.d.ts +0 -1
  82. package/dist/types/__tests__/e2e/organize-single.e2e.test.d.ts +0 -1
  83. package/dist/types/__tests__/e2e/remove.e2e.test.d.ts +0 -1
  84. package/dist/types/__tests__/e2e/rotate.e2e.test.d.ts +0 -1
  85. package/dist/types/__tests__/e2e/split.e2e.test.d.ts +0 -1
  86. package/dist/types/__tests__/insert.test.d.ts +0 -1
  87. package/dist/types/__tests__/merge.test.d.ts +0 -1
  88. package/dist/types/__tests__/move.test.d.ts +0 -1
  89. package/dist/types/__tests__/organize.test.d.ts +0 -1
  90. package/dist/types/__tests__/remove.test.d.ts +0 -1
  91. package/dist/types/__tests__/rotate.test.d.ts +0 -1
  92. package/dist/types/__tests__/split.test.d.ts +0 -1
  93. package/dist/types/__tests__/test-helpers.d.ts +0 -6
  94. package/dist/types/__tests__/utils.d.ts +0 -3
  95. package/dist/types/src/index.d.ts +0 -46
  96. package/eslint.config.mjs +0 -22
  97. package/jest.setup.js +0 -2
  98. package/tsconfig.cjs.json +0 -10
  99. package/tsconfig.esm.json +0 -11
package/package.json CHANGED
@@ -1,81 +1,53 @@
1
1
  {
2
2
  "name": "@pdfme/manipulator",
3
- "version": "5.5.10-dev.5",
4
- "sideEffects": false,
5
- "author": "hand-dot",
6
- "license": "MIT",
3
+ "version": "6.0.0-dev.1",
4
+ "description": "TypeScript base PDF generator and React base UI. Open source, developed by the community, and completely free to use under the MIT license!",
7
5
  "keywords": [
8
6
  "pdf",
9
- "pdf-generation",
10
7
  "pdf-designer",
8
+ "pdf-generation",
11
9
  "pdf-viewer",
12
- "typescript",
13
- "react"
10
+ "react",
11
+ "typescript"
14
12
  ],
15
- "description": "TypeScript base PDF generator and React base UI. Open source, developed by the community, and completely free to use under the MIT license!",
16
13
  "homepage": "https://pdfme.com",
14
+ "bugs": {
15
+ "url": "https://github.com/pdfme/pdfme/issues"
16
+ },
17
+ "license": "MIT",
18
+ "author": "hand-dot",
17
19
  "repository": {
18
20
  "type": "git",
19
21
  "url": "git@github.com:pdfme/pdfme.git"
20
22
  },
21
- "bugs": {
22
- "url": "https://github.com/pdfme/pdfme/issues"
23
- },
24
- "main": "dist/cjs/src/index.js",
25
- "module": "dist/esm/src/index.js",
26
- "types": "dist/types/src/index.d.ts",
23
+ "type": "module",
24
+ "sideEffects": false,
25
+ "main": "./dist/index.js",
26
+ "module": "./dist/index.js",
27
+ "types": "./dist/index.d.ts",
27
28
  "exports": {
28
29
  ".": {
29
- "import": "./dist/esm/src/index.js",
30
- "require": "./dist/cjs/src/index.js",
31
- "types": "./dist/types/src/index.d.ts"
30
+ "types": "./dist/index.d.ts",
31
+ "import": "./dist/index.js",
32
+ "default": "./dist/index.js"
32
33
  }
33
34
  },
35
+ "publishConfig": {
36
+ "access": "public"
37
+ },
34
38
  "scripts": {
35
- "dev": "tsc -p tsconfig.esm.json -w",
36
- "build": "run-p build:cjs build:esm",
37
- "build:cjs": "tsc -p tsconfig.cjs.json",
38
- "build:esm": "tsc -p tsconfig.esm.json",
39
+ "dev": "vite build --watch",
40
+ "build": "vite build && tsc -p tsconfig.build.json",
39
41
  "clean": "rimraf dist",
40
- "lint": "eslint --ext .ts src --config eslint.config.mjs",
41
- "test": "jest",
42
- "test:update-snapshots": "jest --updateSnapshot",
43
- "prune": "ts-prune src",
44
- "prettier": "prettier --write 'src/**/*.ts'"
42
+ "lint": "vp lint -c ../../.oxlintrc.json src",
43
+ "fmt": "vp fmt -c ../../.oxfmtrc.json src --write",
44
+ "test": "vitest run --config ../../vitest.config.ts",
45
+ "test:update-snapshots": "vitest run --config ../../vitest.config.ts -u"
45
46
  },
46
47
  "dependencies": {
47
48
  "@pdfme/pdf-lib": "*"
48
49
  },
49
- "publishConfig": {
50
- "access": "public"
51
- },
52
50
  "devDependencies": {
53
- "@pdfme/converter": "*",
54
- "@types/estree": "^1.0.6"
55
- },
56
- "jest": {
57
- "preset": "ts-jest/presets/default-esm",
58
- "testEnvironment": "node",
59
- "testMatch": [
60
- "**/__tests__/**/*.test.ts"
61
- ],
62
- "setupFilesAfterEnv": [
63
- "<rootDir>/jest.setup.js"
64
- ],
65
- "extensionsToTreatAsEsm": [
66
- ".ts"
67
- ],
68
- "transform": {
69
- "^.+\\.tsx?$": [
70
- "ts-jest",
71
- {
72
- "tsconfig": "./tsconfig.json",
73
- "useESM": true
74
- }
75
- ]
76
- },
77
- "moduleNameMapper": {
78
- "^(\\.{1,2}/(?:src|__tests__)/.*)\\.js$": "$1.ts"
79
- }
51
+ "@pdfme/converter": "*"
80
52
  }
81
53
  }
@@ -0,0 +1,14 @@
1
+ {
2
+ "extends": "../../tsconfig.build.base.json",
3
+ "compilerOptions": {
4
+ "declaration": true,
5
+ "declarationDir": "./dist",
6
+ "emitDeclarationOnly": true,
7
+ "module": "ESNext",
8
+ "moduleResolution": "bundler",
9
+ "outDir": "./dist",
10
+ "rootDir": "./src",
11
+ "skipLibCheck": true
12
+ },
13
+ "include": ["src/**/*.ts"]
14
+ }
package/tsconfig.json CHANGED
@@ -1,6 +1,16 @@
1
1
  {
2
- "extends": "./tsconfig.esm",
2
+ "extends": "../../tsconfig.base.json",
3
3
  "compilerOptions": {
4
- "outDir": "./dist",
5
- }
6
- }
4
+ "composite": true,
5
+ "declaration": true,
6
+ "declarationDir": "./dist/typecheck",
7
+ "emitDeclarationOnly": true,
8
+ "module": "ESNext",
9
+ "moduleResolution": "bundler",
10
+ "outDir": "./dist/typecheck",
11
+ "tsBuildInfoFile": "./dist/typecheck/tsconfig.tsbuildinfo",
12
+ "skipLibCheck": true
13
+ },
14
+ "include": ["src/**/*.ts"],
15
+ "references": [{ "path": "../pdf-lib" }]
16
+ }
@@ -0,0 +1,33 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { builtinModules } from 'node:module';
3
+ import { dirname, resolve } from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { defineConfig } from 'vite';
6
+
7
+ const __dirname = dirname(fileURLToPath(import.meta.url));
8
+ const packageJson = JSON.parse(readFileSync(resolve(__dirname, 'package.json'), 'utf8')) as {
9
+ dependencies?: Record<string, string>;
10
+ peerDependencies?: Record<string, string>;
11
+ };
12
+
13
+ const external = [
14
+ ...builtinModules,
15
+ ...builtinModules.map((moduleName) => `node:${moduleName}`),
16
+ ...Object.keys(packageJson.dependencies ?? {}),
17
+ ...Object.keys(packageJson.peerDependencies ?? {}),
18
+ ];
19
+
20
+ export default defineConfig({
21
+ build: {
22
+ lib: {
23
+ entry: resolve(__dirname, 'src/index.ts'),
24
+ fileName: 'index',
25
+ formats: ['es'],
26
+ },
27
+ minify: false,
28
+ outDir: 'dist',
29
+ rollupOptions: { external },
30
+ sourcemap: true,
31
+ target: 'es2020',
32
+ },
33
+ });
@@ -0,0 +1,3 @@
1
+ import { imageMatcher } from 'vitest-image-snapshot';
2
+
3
+ imageMatcher();
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_1 = require("../../src/index");
4
- const test_helpers_1 = require("../test-helpers");
5
- require("jest-image-snapshot");
6
- describe('E2E: insert', () => {
7
- const fiveP = (0, test_helpers_1.loadTestPDF)('5p.pdf');
8
- const aPdf = (0, test_helpers_1.loadTestPDF)('a.pdf');
9
- test('insert: insert a.pdf at position 0 in 5p.pdf', async () => {
10
- const inserted = await (0, index_1.insert)(fiveP, [{ pdf: aPdf, position: 0 }]);
11
- const images = await (0, test_helpers_1.pdfToImages)(inserted);
12
- for (let i = 0; i < images.length; i++) {
13
- expect(images[i]).toMatchImageSnapshot({
14
- customSnapshotIdentifier: `insert-5p-a-at-0-result-page${i + 1}`,
15
- });
16
- }
17
- });
18
- test('insert: insert a.pdf at position 0 and 2 in 5p.pdf', async () => {
19
- // Note: the second insert is done in the same buffer, so the offset changes after the first insert
20
- const inserted = await (0, index_1.insert)(fiveP, [
21
- { pdf: aPdf, position: 0 },
22
- { pdf: aPdf, position: 2 }, // The PDF is 6 pages after the first insert
23
- ]);
24
- const images = await (0, test_helpers_1.pdfToImages)(inserted);
25
- for (let i = 0; i < images.length; i++) {
26
- expect(images[i]).toMatchImageSnapshot({
27
- customSnapshotIdentifier: `insert-5p-a-at-0-and-2-result-page${i + 1}`,
28
- });
29
- }
30
- });
31
- });
32
- //# sourceMappingURL=insert.e2e.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"insert.e2e.test.js","sourceRoot":"","sources":["../../../../__tests__/e2e/insert.e2e.test.ts"],"names":[],"mappings":";;AAAA,2CAAyC;AACzC,kDAA2D;AAC3D,+BAA6B;AAE7B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,MAAM,KAAK,GAAG,IAAA,0BAAW,EAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAA,0BAAW,EAAC,OAAO,CAAC,CAAC;IAElC,IAAI,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,QAAQ,GAAG,MAAM,IAAA,cAAM,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnE,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC,QAAQ,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACrC,wBAAwB,EAAE,+BAA+B,CAAC,GAAG,CAAC,EAAE;aACjE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QACpE,mGAAmG;QACnG,MAAM,QAAQ,GAAG,MAAM,IAAA,cAAM,EAAC,KAAK,EAAE;YACnC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE;YAC1B,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,4CAA4C;SACzE,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC,QAAQ,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACrC,wBAAwB,EAAE,qCAAqC,CAAC,GAAG,CAAC,EAAE;aACvE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_1 = require("../../src/index");
4
- const test_helpers_1 = require("../test-helpers");
5
- require("jest-image-snapshot");
6
- describe('E2E: merge', () => {
7
- const aPdf = (0, test_helpers_1.loadTestPDF)('a.pdf');
8
- const bPdf = (0, test_helpers_1.loadTestPDF)('b.pdf');
9
- const cPdf = (0, test_helpers_1.loadTestPDF)('c.pdf');
10
- test('merge: merge a.pdf, b.pdf, c.pdf in order', async () => {
11
- const mergedBuffer = await (0, index_1.merge)([aPdf, bPdf, cPdf]);
12
- const images = await (0, test_helpers_1.pdfToImages)(mergedBuffer);
13
- for (let i = 0; i < images.length; i++) {
14
- expect(images[i]).toMatchImageSnapshot({
15
- customSnapshotIdentifier: `merge-abc-page${i + 1}`,
16
- });
17
- }
18
- });
19
- });
20
- //# sourceMappingURL=merge.e2e.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"merge.e2e.test.js","sourceRoot":"","sources":["../../../../__tests__/e2e/merge.e2e.test.ts"],"names":[],"mappings":";;AAAA,2CAAwC;AACxC,kDAA2D;AAC3D,+BAA6B;AAE7B,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,MAAM,IAAI,GAAG,IAAA,0BAAW,EAAC,OAAO,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAA,0BAAW,EAAC,OAAO,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAA,0BAAW,EAAC,OAAO,CAAC,CAAC;IAElC,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,YAAY,GAAG,MAAM,IAAA,aAAK,EAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC,YAAY,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACrC,wBAAwB,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE;aACnD,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_1 = require("../../src/index");
4
- const test_helpers_1 = require("../test-helpers");
5
- require("jest-image-snapshot");
6
- describe('E2E: move', () => {
7
- const fiveP = (0, test_helpers_1.loadTestPDF)('5p.pdf');
8
- test('move: move the 1st page (index:0) of 5p.pdf to the 3rd position (index:2)', async () => {
9
- const moved = await (0, index_1.move)(fiveP, { from: 0, to: 2 });
10
- const images = await (0, test_helpers_1.pdfToImages)(moved);
11
- for (let i = 0; i < images.length; i++) {
12
- expect(images[i]).toMatchImageSnapshot({
13
- customSnapshotIdentifier: `move-5p-page0-to-2-result-page${i + 1}`,
14
- });
15
- }
16
- });
17
- });
18
- //# sourceMappingURL=move.e2e.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"move.e2e.test.js","sourceRoot":"","sources":["../../../../__tests__/e2e/move.e2e.test.ts"],"names":[],"mappings":";;AAAA,2CAAuC;AACvC,kDAA2D;AAC3D,+BAA6B;AAE7B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,MAAM,KAAK,GAAG,IAAA,0BAAW,EAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,KAAK,GAAG,MAAM,IAAA,YAAI,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC,KAAK,CAAC,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACrC,wBAAwB,EAAE,iCAAiC,CAAC,GAAG,CAAC,EAAE;aACnE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,96 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_1 = require("../../src/index");
4
- const test_helpers_1 = require("../test-helpers");
5
- require("jest-image-snapshot");
6
- describe('E2E: organize (complex operations)', () => {
7
- const fiveP = (0, test_helpers_1.loadTestPDF)('5p.pdf');
8
- const aPdf = (0, test_helpers_1.loadTestPDF)('a.pdf');
9
- const bPdf = (0, test_helpers_1.loadTestPDF)('b.pdf');
10
- test('organize: Remove -> Insert -> Move (check index changes)', async () => {
11
- // Remove the 2nd page (index:1) => 4 pages
12
- // Insert a.pdf at the 2nd page (index:1) => 5 pages
13
- // Move the newly inserted page (index:1) to the 1st page (index:0) => 5 pages
14
- const result = await (0, index_1.organize)(fiveP, [
15
- { type: 'remove', data: { position: 1 } },
16
- { type: 'insert', data: { pdf: aPdf, position: 1 } },
17
- { type: 'move', data: { from: 1, to: 0 } },
18
- ]);
19
- const images = await (0, test_helpers_1.pdfToImages)(result);
20
- for (let i = 0; i < images.length; i++) {
21
- expect(images[i]).toMatchImageSnapshot({
22
- customSnapshotIdentifier: `organize-composite-1-result-page${i + 1}`,
23
- });
24
- }
25
- });
26
- test('organize: Replace -> Rotate -> Remove', async () => {
27
- // Replace the 3rd page with a.pdf => 5 pages
28
- // Rotate the 3rd page by 180 => 5 pages
29
- // Remove the 1st page => 4 pages
30
- const result = await (0, index_1.organize)(fiveP, [
31
- { type: 'replace', data: { pdf: aPdf, position: 2 } },
32
- { type: 'rotate', data: { position: 2, degrees: 180 } },
33
- { type: 'remove', data: { position: 0 } },
34
- ]);
35
- const images = await (0, test_helpers_1.pdfToImages)(result);
36
- for (let i = 0; i < images.length; i++) {
37
- expect(images[i]).toMatchImageSnapshot({
38
- customSnapshotIdentifier: `organize-composite-2-result-page${i + 1}`,
39
- });
40
- }
41
- });
42
- test('organize: Insert -> Insert -> Move -> Move', async () => {
43
- // Insert a.pdf at the end (index:5) => 6 pages
44
- // Insert b.pdf at the start (index:0) => 7 pages
45
- // Move the 3rd page (index:2) to the 6th page (index:5) => 7 pages
46
- // Move the 4th page (index:3) to the 2nd page (index:1) => 7 pages
47
- const result = await (0, index_1.organize)(fiveP, [
48
- { type: 'insert', data: { pdf: aPdf, position: 5 } },
49
- { type: 'insert', data: { pdf: bPdf, position: 0 } },
50
- { type: 'move', data: { from: 2, to: 5 } },
51
- { type: 'move', data: { from: 3, to: 1 } },
52
- ]);
53
- const images = await (0, test_helpers_1.pdfToImages)(result);
54
- for (let i = 0; i < images.length; i++) {
55
- expect(images[i]).toMatchImageSnapshot({
56
- customSnapshotIdentifier: `organize-composite-3-result-page${i + 1}`,
57
- });
58
- }
59
- });
60
- test('organize: Rotate -> Rotate -> Remove', async () => {
61
- // Rotate the 2nd and 4th pages by 90 => 5 pages
62
- // Rotate the 3rd page by 270 => 5 pages
63
- // Remove the 1st page => 4 pages
64
- const result = await (0, index_1.organize)(fiveP, [
65
- { type: 'rotate', data: { position: 1, degrees: 90 } },
66
- { type: 'rotate', data: { position: 3, degrees: 90 } },
67
- { type: 'rotate', data: { position: 2, degrees: 270 } },
68
- { type: 'remove', data: { position: 0 } },
69
- ]);
70
- const images = await (0, test_helpers_1.pdfToImages)(result);
71
- for (let i = 0; i < images.length; i++) {
72
- expect(images[i]).toMatchImageSnapshot({
73
- customSnapshotIdentifier: `organize-composite-4-result-page${i + 1}`,
74
- });
75
- }
76
- });
77
- test('organize: Remove -> Insert -> Remove -> Insert (multiple times)', async () => {
78
- // Remove the 5th page (index:4) => 4 pages
79
- // Insert a.pdf at the 2nd page (index:1) => 5 pages
80
- // Remove the 1st page (index:0) => 4 pages
81
- // Insert b.pdf at the end (index:4) => 5 pages
82
- const result = await (0, index_1.organize)(fiveP, [
83
- { type: 'remove', data: { position: 4 } },
84
- { type: 'insert', data: { pdf: aPdf, position: 1 } },
85
- { type: 'remove', data: { position: 0 } },
86
- { type: 'insert', data: { pdf: bPdf, position: 4 } },
87
- ]);
88
- const images = await (0, test_helpers_1.pdfToImages)(result);
89
- for (let i = 0; i < images.length; i++) {
90
- expect(images[i]).toMatchImageSnapshot({
91
- customSnapshotIdentifier: `organize-composite-5-result-page${i + 1}`,
92
- });
93
- }
94
- });
95
- });
96
- //# sourceMappingURL=organize-complex.e2e.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"organize-complex.e2e.test.js","sourceRoot":"","sources":["../../../../__tests__/e2e/organize-complex.e2e.test.ts"],"names":[],"mappings":";;AAAA,2CAA2C;AAC3C,kDAA2D;AAC3D,+BAA6B;AAE7B,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,MAAM,KAAK,GAAG,IAAA,0BAAW,EAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAA,0BAAW,EAAC,OAAO,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAA,0BAAW,EAAC,OAAO,CAAC,CAAC;IAElC,IAAI,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QAC1E,2CAA2C;QAC3C,oDAAoD;QACpD,8EAA8E;QAE9E,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAQ,EAAC,KAAK,EAAE;YACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;YACzC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;YACpD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;SAC3C,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC,MAAM,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACrC,wBAAwB,EAAE,mCAAmC,CAAC,GAAG,CAAC,EAAE;aACrE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACvD,6CAA6C;QAC7C,wCAAwC;QACxC,iCAAiC;QAEjC,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAQ,EAAC,KAAK,EAAE;YACnC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;YACrD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;YACvD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;SAC1C,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC,MAAM,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACrC,wBAAwB,EAAE,mCAAmC,CAAC,GAAG,CAAC,EAAE;aACrE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC5D,+CAA+C;QAC/C,iDAAiD;QACjD,mEAAmE;QACnE,mEAAmE;QAEnE,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAQ,EAAC,KAAK,EAAE;YACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;YACpD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;YACpD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;YAC1C,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;SAC3C,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC,MAAM,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACrC,wBAAwB,EAAE,mCAAmC,CAAC,GAAG,CAAC,EAAE;aACrE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACtD,gDAAgD;QAChD,wCAAwC;QACxC,iCAAiC;QAEjC,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAQ,EAAC,KAAK,EAAE;YACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;YACtD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;YACtD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;YACvD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;SAC1C,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC,MAAM,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACrC,wBAAwB,EAAE,mCAAmC,CAAC,GAAG,CAAC,EAAE;aACrE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QACjF,2CAA2C;QAC3C,oDAAoD;QACpD,2CAA2C;QAC3C,+CAA+C;QAE/C,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAQ,EAAC,KAAK,EAAE;YACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;YACzC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;YACpD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;YACzC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;SACrD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC,MAAM,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACrC,wBAAwB,EAAE,mCAAmC,CAAC,GAAG,CAAC,EAAE;aACrE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_1 = require("../../src/index");
4
- const test_helpers_1 = require("../test-helpers");
5
- require("jest-image-snapshot");
6
- describe('E2E: organize (single operations)', () => {
7
- const fiveP = (0, test_helpers_1.loadTestPDF)('5p.pdf');
8
- const aPdf = (0, test_helpers_1.loadTestPDF)('a.pdf');
9
- const bPdf = (0, test_helpers_1.loadTestPDF)('b.pdf');
10
- test('organize: single remove (remove the 2nd page)', async () => {
11
- const result = await (0, index_1.organize)(fiveP, [{ type: 'remove', data: { position: 1 } }]);
12
- const images = await (0, test_helpers_1.pdfToImages)(result);
13
- for (let i = 0; i < images.length; i++) {
14
- expect(images[i]).toMatchImageSnapshot({
15
- customSnapshotIdentifier: `organize-remove-only-result-page${i + 1}`,
16
- });
17
- }
18
- });
19
- test('organize: single insert (insert a.pdf at page 1)', async () => {
20
- const result = await (0, index_1.organize)(fiveP, [{ type: 'insert', data: { pdf: aPdf, position: 0 } }]);
21
- const images = await (0, test_helpers_1.pdfToImages)(result);
22
- for (let i = 0; i < images.length; i++) {
23
- expect(images[i]).toMatchImageSnapshot({
24
- customSnapshotIdentifier: `organize-insert-only-result-page${i + 1}`,
25
- });
26
- }
27
- });
28
- test('organize: single replace (replace 2nd page with a.pdf)', async () => {
29
- const result = await (0, index_1.organize)(fiveP, [{ type: 'replace', data: { pdf: aPdf, position: 1 } }]);
30
- const images = await (0, test_helpers_1.pdfToImages)(result);
31
- for (let i = 0; i < images.length; i++) {
32
- expect(images[i]).toMatchImageSnapshot({
33
- customSnapshotIdentifier: `organize-replace-only-result-page${i + 1}`,
34
- });
35
- }
36
- });
37
- test('organize: single rotate (rotate pages 1 and 3 by 90 degrees)', async () => {
38
- const result = await (0, index_1.organize)(fiveP, [
39
- { type: 'rotate', data: { position: 0, degrees: 90 } },
40
- { type: 'rotate', data: { position: 2, degrees: 90 } },
41
- ]);
42
- const images = await (0, test_helpers_1.pdfToImages)(result);
43
- for (let i = 0; i < images.length; i++) {
44
- expect(images[i]).toMatchImageSnapshot({
45
- customSnapshotIdentifier: `organize-rotate-only-result-page${i + 1}`,
46
- });
47
- }
48
- });
49
- test('organize: multiple operations (remove -> remove -> insert -> replace -> rotate -> rotate)', async () => {
50
- const insertPdf = aPdf;
51
- const replacePdf = bPdf;
52
- const result = await (0, index_1.organize)(fiveP, [
53
- { type: 'remove', data: { position: 1 } },
54
- { type: 'remove', data: { position: 3 } }, // 5 -> 3 pages
55
- { type: 'insert', data: { pdf: insertPdf, position: 1 } }, // 3 -> 4 pages
56
- { type: 'replace', data: { position: 2, pdf: replacePdf } }, // still 4 pages
57
- { type: 'rotate', data: { position: 0, degrees: 90 } },
58
- { type: 'rotate', data: { position: 3, degrees: 90 } },
59
- ]);
60
- const images = await (0, test_helpers_1.pdfToImages)(result);
61
- for (let i = 0; i < images.length; i++) {
62
- expect(images[i]).toMatchImageSnapshot({
63
- customSnapshotIdentifier: `organize-multiple-ops-result-page${i + 1}`,
64
- });
65
- }
66
- });
67
- });
68
- //# sourceMappingURL=organize-single.e2e.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"organize-single.e2e.test.js","sourceRoot":"","sources":["../../../../__tests__/e2e/organize-single.e2e.test.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_1 = require("../../src/index");
4
- const test_helpers_1 = require("../test-helpers");
5
- require("jest-image-snapshot");
6
- describe('E2E: remove', () => {
7
- const fiveP = (0, test_helpers_1.loadTestPDF)('5p.pdf');
8
- test('remove: remove the 1st page of 5p.pdf', async () => {
9
- const removed = await (0, index_1.remove)(fiveP, [0]);
10
- const images = await (0, test_helpers_1.pdfToImages)(removed);
11
- for (let i = 0; i < images.length; i++) {
12
- expect(images[i]).toMatchImageSnapshot({
13
- customSnapshotIdentifier: `remove-5p-page1-result-page${i + 1}`,
14
- });
15
- }
16
- });
17
- test('remove: remove the 1st and 3rd pages of 5p.pdf', async () => {
18
- // Note: This assumes removing all at once, not one by one with index shifting
19
- const removed = await (0, index_1.remove)(fiveP, [0, 2]);
20
- const images = await (0, test_helpers_1.pdfToImages)(removed);
21
- for (let i = 0; i < images.length; i++) {
22
- expect(images[i]).toMatchImageSnapshot({
23
- customSnapshotIdentifier: `remove-5p-pages1-3-result-page${i + 1}`,
24
- });
25
- }
26
- });
27
- });
28
- //# sourceMappingURL=remove.e2e.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove.e2e.test.js","sourceRoot":"","sources":["../../../../__tests__/e2e/remove.e2e.test.ts"],"names":[],"mappings":";;AAAA,2CAAyC;AACzC,kDAA2D;AAC3D,+BAA6B;AAE7B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,MAAM,KAAK,GAAG,IAAA,0BAAW,EAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,OAAO,GAAG,MAAM,IAAA,cAAM,EAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC,OAAO,CAAC,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACrC,wBAAwB,EAAE,8BAA8B,CAAC,GAAG,CAAC,EAAE;aAChE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAChE,8EAA8E;QAC9E,MAAM,OAAO,GAAG,MAAM,IAAA,cAAM,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC,OAAO,CAAC,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACrC,wBAAwB,EAAE,iCAAiC,CAAC,GAAG,CAAC,EAAE;aACnE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_1 = require("../../src/index");
4
- const test_helpers_1 = require("../test-helpers");
5
- require("jest-image-snapshot");
6
- describe('E2E: rotate', () => {
7
- const fiveP = (0, test_helpers_1.loadTestPDF)('5p.pdf');
8
- test('rotate: rotate all pages of 5p.pdf by 90 degrees', async () => {
9
- const rotated = await (0, index_1.rotate)(fiveP, 90);
10
- const images = await (0, test_helpers_1.pdfToImages)(rotated);
11
- for (let i = 0; i < images.length; i++) {
12
- expect(images[i]).toMatchImageSnapshot({
13
- customSnapshotIdentifier: `rotate-5p-90deg-all-result-page${i + 1}`,
14
- });
15
- }
16
- });
17
- test('rotate: rotate only the 2nd page of 5p.pdf by 180 degrees', async () => {
18
- // pageNumbers=[1] -> only the 2nd page is rotated by 180 degrees
19
- const rotated = await (0, index_1.rotate)(fiveP, 180, [1]);
20
- const images = await (0, test_helpers_1.pdfToImages)(rotated);
21
- for (let i = 0; i < images.length; i++) {
22
- expect(images[i]).toMatchImageSnapshot({
23
- customSnapshotIdentifier: `rotate-5p-180deg-page1-result-page${i + 1}`,
24
- });
25
- }
26
- });
27
- test('rotate: rotate pages 2 and 4 of 5p.pdf by 270 degrees', async () => {
28
- // Rotate the 2nd and 4th pages by 270 degrees
29
- const rotated = await (0, index_1.rotate)(fiveP, 270, [1, 3]);
30
- const images = await (0, test_helpers_1.pdfToImages)(rotated);
31
- for (let i = 0; i < images.length; i++) {
32
- expect(images[i]).toMatchImageSnapshot({
33
- customSnapshotIdentifier: `rotate-5p-270deg-pages1-3-result-page${i + 1}`,
34
- });
35
- }
36
- });
37
- });
38
- //# sourceMappingURL=rotate.e2e.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rotate.e2e.test.js","sourceRoot":"","sources":["../../../../__tests__/e2e/rotate.e2e.test.ts"],"names":[],"mappings":";;AAAA,2CAAyC;AACzC,kDAA2D;AAC3D,+BAA6B;AAE7B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,MAAM,KAAK,GAAG,IAAA,0BAAW,EAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,OAAO,GAAG,MAAM,IAAA,cAAM,EAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAExC,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC,OAAO,CAAC,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACrC,wBAAwB,EAAE,kCAAkC,CAAC,GAAG,CAAC,EAAE;aACpE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QAC3E,iEAAiE;QACjE,MAAM,OAAO,GAAG,MAAM,IAAA,cAAM,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC,OAAO,CAAC,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACrC,wBAAwB,EAAE,qCAAqC,CAAC,GAAG,CAAC,EAAE;aACvE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACvE,8CAA8C;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAA,cAAM,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC,OAAO,CAAC,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACrC,wBAAwB,EAAE,wCAAwC,CAAC,GAAG,CAAC,EAAE;aAC1E,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_1 = require("../../src/index");
4
- const test_helpers_1 = require("../test-helpers");
5
- require("jest-image-snapshot");
6
- describe('E2E: split', () => {
7
- const fiveP = (0, test_helpers_1.loadTestPDF)('5p.pdf');
8
- test('split: split 5p.pdf into pages 1-2 and 3-5', async () => {
9
- const [split12, split35] = await (0, index_1.split)(fiveP, [
10
- { start: 0, end: 1 }, // pages 1-2
11
- { start: 2, end: 4 }, // pages 3-5
12
- ]);
13
- const images12 = await (0, test_helpers_1.pdfToImages)(split12);
14
- const images35 = await (0, test_helpers_1.pdfToImages)(split35);
15
- for (let i = 0; i < images12.length; i++) {
16
- expect(images12[i]).toMatchImageSnapshot({
17
- customSnapshotIdentifier: `split-5p-1-2-page${i + 1}`,
18
- });
19
- }
20
- for (let i = 0; i < images35.length; i++) {
21
- expect(images35[i]).toMatchImageSnapshot({
22
- customSnapshotIdentifier: `split-5p-3-5-page${i + 1}`,
23
- });
24
- }
25
- });
26
- });
27
- //# sourceMappingURL=split.e2e.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"split.e2e.test.js","sourceRoot":"","sources":["../../../../__tests__/e2e/split.e2e.test.ts"],"names":[],"mappings":";;AAAA,2CAAwC;AACxC,kDAA2D;AAC3D,+BAA6B;AAE7B,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,MAAM,KAAK,GAAG,IAAA,0BAAW,EAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,IAAA,aAAK,EAAC,KAAK,EAAE;YAC5C,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,YAAY;YAClC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,YAAY;SACnC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAA,0BAAW,EAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,IAAA,0BAAW,EAAC,OAAO,CAAC,CAAC;QAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACvC,wBAAwB,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACvC,wBAAwB,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_1 = require("../src/index");
4
- const test_helpers_1 = require("./test-helpers");
5
- describe('insert', () => {
6
- test('inserts PDF at specified position', async () => {
7
- const basePdf = await (0, test_helpers_1.createTestPDF)(3);
8
- const insertPdf = await (0, test_helpers_1.createTestPDF)(2);
9
- const result = await (0, index_1.insert)(basePdf, [{ pdf: insertPdf, position: 1 }]);
10
- expect(await (0, test_helpers_1.getPDFPageCount)(result)).toBe(5);
11
- });
12
- test('throws error for invalid position', async () => {
13
- const basePdf = await (0, test_helpers_1.createTestPDF)(3);
14
- const insertPdf = await (0, test_helpers_1.createTestPDF)(2);
15
- await expect((0, index_1.insert)(basePdf, [{ pdf: insertPdf, position: 4 }])).rejects.toThrow('[@pdfme/manipulator] Invalid position');
16
- });
17
- });
18
- //# sourceMappingURL=insert.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"insert.test.js","sourceRoot":"","sources":["../../../__tests__/insert.test.ts"],"names":[],"mappings":";;AAAA,wCAAsC;AACtC,iDAAgE;AAEhE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,OAAO,GAAG,MAAM,IAAA,4BAAa,EAAC,CAAC,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAa,EAAC,CAAC,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,IAAA,cAAM,EAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,IAAA,8BAAe,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,OAAO,GAAG,MAAM,IAAA,4BAAa,EAAC,CAAC,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAa,EAAC,CAAC,CAAC,CAAC;QACzC,MAAM,MAAM,CAAC,IAAA,cAAM,EAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC9E,uCAAuC,CACxC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_1 = require("../src/index");
4
- const test_helpers_1 = require("./test-helpers");
5
- describe('merge', () => {
6
- test('merges multiple PDFs', async () => {
7
- const pdf1 = await (0, test_helpers_1.createTestPDF)(2);
8
- const pdf2 = await (0, test_helpers_1.createTestPDF)(3);
9
- const merged = await (0, index_1.merge)([pdf1, pdf2]);
10
- expect(await (0, test_helpers_1.getPDFPageCount)(merged)).toBe(5);
11
- });
12
- test('throws error when no PDFs provided', async () => {
13
- await expect((0, index_1.merge)([])).rejects.toThrow('[@pdfme/manipulator] At least one PDF is required');
14
- });
15
- });
16
- //# sourceMappingURL=merge.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"merge.test.js","sourceRoot":"","sources":["../../../__tests__/merge.test.ts"],"names":[],"mappings":";;AAAA,wCAAqC;AACrC,iDAAgE;AAEhE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,IAAI,GAAG,MAAM,IAAA,4BAAa,EAAC,CAAC,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,IAAA,4BAAa,EAAC,CAAC,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,IAAA,aAAK,EAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,IAAA,8BAAe,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,MAAM,CAAC,IAAA,aAAK,EAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mDAAmD,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}