modern-pdf-lib 0.26.0 → 0.28.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 (113) hide show
  1. package/README.md +33 -16
  2. package/dist/{batchOptimize-C1W3O68Q.cjs → batchOptimize-Ba5ehwoI.cjs} +55 -55
  3. package/dist/{batchOptimize-BCJEEN8J.mjs → batchOptimize-KB1k9LFg.mjs} +25 -25
  4. package/dist/{bridge-DaS-gzEd.mjs → bridge-7dhURZj7.mjs} +4 -5
  5. package/dist/{bridge-DMEuGtfn.cjs → bridge-ByvzPu5h.cjs} +29 -31
  6. package/dist/browser.cjs +291 -154
  7. package/dist/browser.d.cts +166 -166
  8. package/dist/browser.d.cts.map +1 -1
  9. package/dist/browser.d.mts +166 -166
  10. package/dist/browser.d.mts.map +1 -1
  11. package/dist/browser.mjs +15 -19
  12. package/dist/cli/index.cjs +7 -7
  13. package/dist/cli/index.mjs +8 -8
  14. package/dist/{compressionAnalysis-CwknBtqx.mjs → compressionAnalysis-BEd_745I.mjs} +55 -69
  15. package/dist/{compressionAnalysis-Ch7t-HXn.d.mts → compressionAnalysis-CyBVhRU5.d.cts} +136 -136
  16. package/dist/compressionAnalysis-CyBVhRU5.d.cts.map +1 -0
  17. package/dist/{compressionAnalysis-B-FPzgzw.cjs → compressionAnalysis-DwxVCe4E.cjs} +85 -99
  18. package/dist/{compressionAnalysis-Dgv1TtHJ.d.cts → compressionAnalysis-InMeGrqw.d.mts} +136 -136
  19. package/dist/compressionAnalysis-InMeGrqw.d.mts.map +1 -0
  20. package/dist/create.cjs +21 -23
  21. package/dist/create.d.cts +2 -2
  22. package/dist/create.d.mts +2 -2
  23. package/dist/create.mjs +3 -5
  24. package/dist/{deduplicateImages-DIon68zB.mjs → deduplicateImages-Ba7RZ_sx.mjs} +4 -5
  25. package/dist/{deduplicateImages-cKsnD6Ep.cjs → deduplicateImages-CYFpiEch.cjs} +14 -15
  26. package/dist/{fieldAppearance-C8PoLFSc.d.mts → fieldAppearance-Df1262CT.d.cts} +44 -44
  27. package/dist/fieldAppearance-Df1262CT.d.cts.map +1 -0
  28. package/dist/{fieldAppearance-CdiGFG5e.d.cts → fieldAppearance-_CZdoUCD.d.mts} +44 -44
  29. package/dist/fieldAppearance-_CZdoUCD.d.mts.map +1 -0
  30. package/dist/fontEmbed-DxtdZxUj.d.cts +677 -0
  31. package/dist/fontEmbed-DxtdZxUj.d.cts.map +1 -0
  32. package/dist/fontEmbed-N-VWoZ0F.d.mts +677 -0
  33. package/dist/fontEmbed-N-VWoZ0F.d.mts.map +1 -0
  34. package/dist/forms.cjs +3 -4
  35. package/dist/forms.d.cts +2 -2
  36. package/dist/forms.d.mts +2 -2
  37. package/dist/forms.mjs +2 -3
  38. package/dist/{grayscaleDetect-C6kFF3dk.mjs → grayscaleDetect-6GJrgBRT.mjs} +3 -3
  39. package/dist/{grayscaleDetect-C2m-eEXR.cjs → grayscaleDetect-DAUqxjgR.cjs} +13 -14
  40. package/dist/{imageExtract-zEb1gnkb.cjs → imageExtract-DQomHJiA.cjs} +13 -14
  41. package/dist/{imageExtract-Dnk_Ssv7.mjs → imageExtract-DV-zq4h3.mjs} +3 -4
  42. package/dist/index-5Fv1-Z-p.d.mts +10238 -0
  43. package/dist/index-5Fv1-Z-p.d.mts.map +1 -0
  44. package/dist/index-_Onej9Wy.d.cts +10238 -0
  45. package/dist/index-_Onej9Wy.d.cts.map +1 -0
  46. package/dist/index.cjs +291 -153
  47. package/dist/index.d.cts +7 -7
  48. package/dist/index.d.mts +7 -7
  49. package/dist/index.mjs +14 -17
  50. package/dist/{layout-CrqeJBMI.mjs → layout-D035GpU8.mjs} +50 -12
  51. package/dist/{layout-DQh05VP-.cjs → layout-DiO_3JLh.cjs} +184 -134
  52. package/dist/{loader-DYCH3n7d.cjs → loader-DR7H0XOf.cjs} +332 -66
  53. package/dist/{loader-CVB-c_3Z.mjs → loader-DkrXz-h4.mjs} +248 -12
  54. package/dist/parse.cjs +7 -8
  55. package/dist/parse.d.cts +3 -3
  56. package/dist/parse.d.mts +3 -3
  57. package/dist/parse.mjs +6 -7
  58. package/dist/pdfDocument-5Do0LKQh.d.cts +5181 -0
  59. package/dist/pdfDocument-5Do0LKQh.d.cts.map +1 -0
  60. package/dist/{pdfDocument-D7aFSQEY.mjs → pdfDocument-B6czyaVI.mjs} +10874 -871
  61. package/dist/pdfDocument-B_0VSUHL.d.mts +5181 -0
  62. package/dist/pdfDocument-B_0VSUHL.d.mts.map +1 -0
  63. package/dist/{pdfDocument-D9uYNSb-.cjs → pdfDocument-BaQlOkYr.cjs} +20665 -9846
  64. package/dist/{pdfForm-BpqDGp29.cjs → pdfForm-BVS_do95.cjs} +112 -107
  65. package/dist/pdfForm-Ca86NDWn.d.cts +897 -0
  66. package/dist/pdfForm-Ca86NDWn.d.cts.map +1 -0
  67. package/dist/pdfForm-Ca86NDWn.d.mts +897 -0
  68. package/dist/pdfForm-Ca86NDWn.d.mts.map +1 -0
  69. package/dist/{pdfForm-C3mC9FoQ.mjs → pdfForm-CfLnlsj-.mjs} +22 -17
  70. package/dist/{pdfObjects-1veop1_d.cjs → pdfObjects-BcPlSI0a.cjs} +62 -53
  71. package/dist/{pdfObjects-uEsWlfzU.mjs → pdfObjects-CB7TEdbW.mjs} +12 -2
  72. package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
  73. package/dist/rolldown-runtime-ak5kbic3.cjs +18 -0
  74. package/dist/src-BOzRFaEE.mjs +27888 -0
  75. package/dist/src-vNbsqoIy.cjs +29669 -0
  76. package/dist/{streamDecode-Bj568Nc9.mjs → streamDecode-DCpgTocN.mjs} +143 -151
  77. package/dist/{streamDecode-CvgErkFu.cjs → streamDecode-kQ-REV7v.cjs} +164 -160
  78. package/package.json +33 -24
  79. package/dist/compressionAnalysis-Ch7t-HXn.d.mts.map +0 -1
  80. package/dist/compressionAnalysis-Dgv1TtHJ.d.cts.map +0 -1
  81. package/dist/fflateAdapter-DuNiByKx.mjs +0 -196
  82. package/dist/fflateAdapter-LTAeAhaD.cjs +0 -207
  83. package/dist/fieldAppearance-C8PoLFSc.d.mts.map +0 -1
  84. package/dist/fieldAppearance-CdiGFG5e.d.cts.map +0 -1
  85. package/dist/fontEmbed-3YhUPLFj.d.cts +0 -659
  86. package/dist/fontEmbed-3YhUPLFj.d.cts.map +0 -1
  87. package/dist/fontEmbed-DlVnVCZU.d.mts +0 -659
  88. package/dist/fontEmbed-DlVnVCZU.d.mts.map +0 -1
  89. package/dist/fontSubset-5SLWMmEw.cjs +0 -518
  90. package/dist/fontSubset-BGFDIMmT.mjs +0 -495
  91. package/dist/index-B4S61WjK.d.mts +0 -6507
  92. package/dist/index-B4S61WjK.d.mts.map +0 -1
  93. package/dist/index-xfJP6Ycm.d.cts +0 -6507
  94. package/dist/index-xfJP6Ycm.d.cts.map +0 -1
  95. package/dist/libdeflateWasm-CcA1W04G.mjs +0 -220
  96. package/dist/libdeflateWasm-DLw-I1CY.cjs +0 -237
  97. package/dist/pdfCatalog-Bqq4FiLn.cjs +0 -174
  98. package/dist/pdfCatalog-CnKMAtIo.mjs +0 -139
  99. package/dist/pdfDocument-Bc_vAO74.d.cts +0 -4758
  100. package/dist/pdfDocument-Bc_vAO74.d.cts.map +0 -1
  101. package/dist/pdfDocument-Bi-NoyXv.d.mts +0 -4758
  102. package/dist/pdfDocument-Bi-NoyXv.d.mts.map +0 -1
  103. package/dist/pdfForm-BiyNtYem.d.mts +0 -905
  104. package/dist/pdfForm-BiyNtYem.d.mts.map +0 -1
  105. package/dist/pdfForm-SOXJ72LW.d.cts +0 -905
  106. package/dist/pdfForm-SOXJ72LW.d.cts.map +0 -1
  107. package/dist/pdfPage-BJIE5hc6.mjs +0 -8180
  108. package/dist/pdfPage-C_tjEjj1.cjs +0 -8893
  109. package/dist/pngEmbed-CGi7cym7.mjs +0 -552
  110. package/dist/pngEmbed-CTn9IeNB.cjs +0 -563
  111. package/dist/rolldown-runtime-CKhH4XqG.cjs +0 -24
  112. package/dist/src-QZWP21qF.mjs +0 -16243
  113. package/dist/src-lFqJHb1C.cjs +0 -17274
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "modern-pdf-lib",
3
- "version": "0.26.0",
4
- "description": "A modern, WASM-accelerated PDF creation engine for every JavaScript runtime",
3
+ "version": "0.28.1",
4
+ "description": "A modern, WASM-accelerated PDF engine to create, parse, extract, fill, merge, and sign PDFs in every JavaScript runtime",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {
@@ -63,11 +63,12 @@
63
63
  "README.md"
64
64
  ],
65
65
  "engines": {
66
- "node": ">=25.7"
66
+ "node": ">=26.4"
67
67
  },
68
68
  "sideEffects": false,
69
69
  "scripts": {
70
- "build": "tsdown",
70
+ "build": "tsdown && node scripts/finalize-dts.mjs && node scripts/smoke-dist.mjs",
71
+ "smoke": "node scripts/smoke-dist.mjs",
71
72
  "build:iife": "tsx scripts/build-iife.ts",
72
73
  "build:wasm": "bash scripts/build-wasm.sh",
73
74
  "build:all": "npm run build:wasm && npm run build && npm run build:iife && npm run copy:wasm",
@@ -78,43 +79,51 @@
78
79
  "test:integration": "vitest run tests/integration",
79
80
  "test:e2e": "playwright test",
80
81
  "test:bench": "vitest bench",
81
- "lint": "eslint src/ tests/",
82
+ "bench": "tsx tests/benchmarks/run.ts",
83
+ "lint": "oxlint --type-aware src tests",
84
+ "lint:fix": "oxlint --type-aware --fix src tests",
85
+ "format": "prettier --write \"{src,tests,scripts}/**/*.ts\"",
86
+ "format:check": "prettier --check \"{src,tests,scripts}/**/*.ts\"",
82
87
  "typecheck": "tsc --noEmit",
83
88
  "prepublishOnly": "npm run typecheck && npm test && npm run build",
84
89
  "docs:dev": "vitepress dev docs",
85
90
  "docs:build": "vitepress build docs",
86
- "docs:api": "typedoc",
91
+ "docs:api": "node tools/docs/node_modules/typedoc/bin/typedoc && tsx scripts/sanitize-api-docs.ts",
87
92
  "validate-pdf": "tsx scripts/validate-pdf.ts",
88
93
  "generate:wasm-inline": "tsx scripts/generate-inline-wasm.ts",
89
94
  "clean": "rm -rf dist coverage"
90
95
  },
91
96
  "dependencies": {
92
- "fflate": "0.8.2"
97
+ "fflate": "0.8.3"
93
98
  },
94
99
  "devDependencies": {
95
- "@eslint/js": "10.0.1",
96
- "@playwright/test": "1.59.0-alpha-2026-02-27",
97
- "esbuild": "0.27.3",
98
- "eslint": "10.0.2",
100
+ "@playwright/test": "1.62.0-alpha-2026-06-25",
101
+ "esbuild": "0.28.1",
99
102
  "fast-png": "8.0.0",
100
- "miniflare": "4.20260305.0",
103
+ "miniflare": "4.20260623.0",
104
+ "oxlint": "^1.71.0",
105
+ "oxlint-tsgolint": "^0.23.0",
101
106
  "pdf-lib": "^1.17.1",
102
- "prettier": "3.8.1",
103
- "rollup": "4.59.0",
104
- "tsdown": "0.21.0-beta.2",
105
- "tsx": "4.21.0",
106
- "typedoc": "0.28.17",
107
- "typedoc-plugin-markdown": "4.10.0",
108
- "typescript": "6.0.0-dev.20260227",
109
- "typescript-eslint": "8.56.2-alpha.1",
110
- "vite": "8.0.0-beta.16",
111
- "vitepress": "2.0.0-alpha.16",
112
- "vitest": "4.1.0-beta.5",
113
- "wasm-pack": "0.14.0"
107
+ "prettier": "4.0.0-alpha.13",
108
+ "rollup": "4.62.2",
109
+ "tsdown": "0.22.3",
110
+ "tsx": "4.22.4",
111
+ "typedoc": "0.28.19",
112
+ "typedoc-plugin-markdown": "4.12.0",
113
+ "typescript": "7.0.1-rc",
114
+ "vite": "8.1.0",
115
+ "vitepress": "2.0.0-alpha.17",
116
+ "vitest": "5.0.0-beta.5",
117
+ "wasm-pack": "0.15.0"
114
118
  },
115
119
  "keywords": [
116
120
  "pdf",
117
121
  "pdf-generation",
122
+ "pdf-parser",
123
+ "pdf-extraction",
124
+ "text-extraction",
125
+ "pdf-forms",
126
+ "pdf-signature",
118
127
  "wasm",
119
128
  "typescript",
120
129
  "esm",
@@ -1 +0,0 @@
1
- {"version":3,"file":"compressionAnalysis-Ch7t-HXn.d.mts","names":[],"sources":["../src/parser/contentStreamParser.ts","../src/parser/textExtractor.ts","../src/parser/streamDecode.ts","../src/parser/parseError.ts","../src/assets/image/imageExtract.ts","../src/assets/image/compressionAnalysis.ts"],"mappings":";;;;;AAmEA;;;;;;;;;KAlCY,OAAA,sCAA6C,OAAA,GAAU,OAAA;;;ACHnE;UDQiB,qBAAA;;EAEf,QAAA;ECRA;EDUA,QAAA,EAAU,OAAA;AAAA;ACiCZ;;;;;;AAAA,iBDRgB,kBAAA,CAAmB,IAAA,EAAM,UAAA,GAAa,qBAAA;;;;;;UCrCrC,QAAA;EDqC0D;ECnCzE,IAAA;;EAEA,CAAA;;EAEA,CAAA;EANuB;EAQvB,KAAA;EARuB;EAUvB,MAAA;EANA;EAQA,QAAA;EAJA;EAMA,QAAA;AAAA;;;;UAMe,qBAAA;EAAqB;;;;EAKpC,aAAA;AAAA;;;;;;;;;;;;;;iBAoBc,WAAA,CACd,SAAA,EAAW,qBAAA,IACX,SAAA,GAAY,OAAA,EACZ,OAAA,GAAU,qBAAA;AA6LZ;;;;;;;;;;AAAA,iBAAgB,wBAAA,CACd,SAAA,EAAW,qBAAA,IACX,SAAA,GAAY,OAAA,GACX,QAAA;;;;;;;;;AD3MH;;;;;;;iBE/BgB,YAAA,CACd,IAAA,EAAM,UAAA,EACN,OAAA,qBACA,WAAA,GAAc,OAAA,GAAU,OAAA,YACvB,UAAA;;;;;;;AFPH;cG3Ba,aAAA,SAAsB,KAAA;EAAA,SACf,IAAA;EAAA,SACT,MAAA;EAAA,SACA,QAAA;EAAA,SACA,MAAA;EAAA,SACA,UAAA;cAEG,OAAA;IACV,OAAA;IACA,MAAA;IACA,QAAA;IACA,MAAA;IACA,IAAA,GAAO,UAAA;IACP,KAAA,GAAQ,KAAA;EAAA;AAAA;AAAA,iBAiBI,gBAAA,CAAiB,IAAA,EAAM,UAAA,EAAY,MAAA,UAAgB,UAAA;;;;;;UCJlD,SAAA;EJUE;EAAA,SIRR,MAAA,EAAQ,SAAA;EJiCH;EAAA,SI/BL,GAAA,EAAK,MAAA;;WAEL,IAAA;EJ6B8B;EAAA,SI3B9B,SAAA;EJ2B2C;EAAA,SIzB3C,KAAA;EJyBgE;EAAA,SIvBhE,MAAA;;WAEA,gBAAA;EHhBM;EAAA,SGkBN,UAAA;;WAEA,QAAA;EHlBT;EAAA,SGoBS,OAAA;EHhBT;EAAA,SGkBS,cAAA;AAAA;;;;;AHJX;;;;;AAyBA;;;;;;;;;;;;iBG6FgB,aAAA,CAAc,GAAA,EAAK,WAAA,GAAc,SAAA;;;;AHmGjD;;;;;;;;iBGagB,iBAAA,CAAkB,SAAA,EAAW,SAAA,GAAY,UAAA;;;;;;UC/PxC,aAAA;ELiBE;EAAA,SKfR,IAAA;ELwCK;EAAA,SKtCL,SAAA;;WAEA,KAAA;ELoC8B;EAAA,SKlC9B,MAAA;ELkC2C;EAAA,SKhC3C,WAAA;ELgCgE;EAAA,SK9BhE,aAAA;;WAEA,UAAA;EJTM;EAAA,SIWN,iBAAA;;WAEA,gBAAA;EJXT;EAAA,SIaS,cAAA;EJTT;EAAA,SIWS,WAAA;EJPT;EAAA,SISS,YAAA;EJLT;EAAA,SIOS,cAAA;AAAA;AJDX;;;AAAA,UIOiB,cAAA;EJFF;EAAA,SIIJ,MAAA,WAAiB,aAAA;EJgBD;EAAA,SIdhB,gBAAA;EJeE;EAAA,SIbF,kBAAA;EJeC;EAAA,SIbD,YAAA;EJasB;EAAA,SIXtB,mBAAA;AAAA;;;;UAUM,oBAAA;EJCgB;;AA6LjC;;;EA7LiC,SIKtB,OAAA;EJ0LG;;;;;;EAAA,SInLH,MAAA;AAAA;;;;;;;AHtDX;;;;;;;;;;;;;;;;;;;iBGkKgB,aAAA,CACd,GAAA,EAAK,WAAA,EACL,OAAA,GAAU,oBAAA,GACT,cAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"compressionAnalysis-Dgv1TtHJ.d.cts","names":[],"sources":["../src/parser/contentStreamParser.ts","../src/parser/textExtractor.ts","../src/parser/streamDecode.ts","../src/parser/parseError.ts","../src/assets/image/imageExtract.ts","../src/assets/image/compressionAnalysis.ts"],"mappings":";;;;;AAmEA;;;;;;;;;KAlCY,OAAA,sCAA6C,OAAA,GAAU,OAAA;;;ACHnE;UDQiB,qBAAA;;EAEf,QAAA;ECRA;EDUA,QAAA,EAAU,OAAA;AAAA;ACiCZ;;;;;;AAAA,iBDRgB,kBAAA,CAAmB,IAAA,EAAM,UAAA,GAAa,qBAAA;;;;;;UCrCrC,QAAA;EDqC0D;ECnCzE,IAAA;;EAEA,CAAA;;EAEA,CAAA;EANuB;EAQvB,KAAA;EARuB;EAUvB,MAAA;EANA;EAQA,QAAA;EAJA;EAMA,QAAA;AAAA;;;;UAMe,qBAAA;EAAqB;;;;EAKpC,aAAA;AAAA;;;;;;;;;;;;;;iBAoBc,WAAA,CACd,SAAA,EAAW,qBAAA,IACX,SAAA,GAAY,OAAA,EACZ,OAAA,GAAU,qBAAA;AA6LZ;;;;;;;;;;AAAA,iBAAgB,wBAAA,CACd,SAAA,EAAW,qBAAA,IACX,SAAA,GAAY,OAAA,GACX,QAAA;;;;;;;;;AD3MH;;;;;;;iBE/BgB,YAAA,CACd,IAAA,EAAM,UAAA,EACN,OAAA,qBACA,WAAA,GAAc,OAAA,GAAU,OAAA,YACvB,UAAA;;;;;;;AFPH;cG3Ba,aAAA,SAAsB,KAAA;EAAA,SACf,IAAA;EAAA,SACT,MAAA;EAAA,SACA,QAAA;EAAA,SACA,MAAA;EAAA,SACA,UAAA;cAEG,OAAA;IACV,OAAA;IACA,MAAA;IACA,QAAA;IACA,MAAA;IACA,IAAA,GAAO,UAAA;IACP,KAAA,GAAQ,KAAA;EAAA;AAAA;AAAA,iBAiBI,gBAAA,CAAiB,IAAA,EAAM,UAAA,EAAY,MAAA,UAAgB,UAAA;;;;;;UCJlD,SAAA;EJUE;EAAA,SIRR,MAAA,EAAQ,SAAA;EJiCH;EAAA,SI/BL,GAAA,EAAK,MAAA;;WAEL,IAAA;EJ6B8B;EAAA,SI3B9B,SAAA;EJ2B2C;EAAA,SIzB3C,KAAA;EJyBgE;EAAA,SIvBhE,MAAA;;WAEA,gBAAA;EHhBM;EAAA,SGkBN,UAAA;;WAEA,QAAA;EHlBT;EAAA,SGoBS,OAAA;EHhBT;EAAA,SGkBS,cAAA;AAAA;;;;;AHJX;;;;;AAyBA;;;;;;;;;;;;iBG6FgB,aAAA,CAAc,GAAA,EAAK,WAAA,GAAc,SAAA;;;;AHmGjD;;;;;;;;iBGagB,iBAAA,CAAkB,SAAA,EAAW,SAAA,GAAY,UAAA;;;;;;UC/PxC,aAAA;ELiBE;EAAA,SKfR,IAAA;ELwCK;EAAA,SKtCL,SAAA;;WAEA,KAAA;ELoC8B;EAAA,SKlC9B,MAAA;ELkC2C;EAAA,SKhC3C,WAAA;ELgCgE;EAAA,SK9BhE,aAAA;;WAEA,UAAA;EJTM;EAAA,SIWN,iBAAA;;WAEA,gBAAA;EJXT;EAAA,SIaS,cAAA;EJTT;EAAA,SIWS,WAAA;EJPT;EAAA,SISS,YAAA;EJLT;EAAA,SIOS,cAAA;AAAA;AJDX;;;AAAA,UIOiB,cAAA;EJFF;EAAA,SIIJ,MAAA,WAAiB,aAAA;EJgBD;EAAA,SIdhB,gBAAA;EJeE;EAAA,SIbF,kBAAA;EJeC;EAAA,SIbD,YAAA;EJasB;EAAA,SIXtB,mBAAA;AAAA;;;;UAUM,oBAAA;EJCgB;;AA6LjC;;;EA7LiC,SIKtB,OAAA;EJ0LG;;;;;;EAAA,SInLH,MAAA;AAAA;;;;;;;AHtDX;;;;;;;;;;;;;;;;;;;iBGkKgB,aAAA,CACd,GAAA,EAAK,WAAA,EACL,OAAA,GAAU,oBAAA,GACT,cAAA"}
@@ -1,196 +0,0 @@
1
- import { Gs as __exportAll } from "./index-B4S61WjK.d.mts";
2
- import { deflate, deflateSync, inflate, inflateSync } from "fflate";
3
-
4
- //#region src/compression/fflateAdapter.ts
5
- /**
6
- * @module compression/fflateAdapter
7
- *
8
- * Compression engine adapter for the `fflate` npm package.
9
- *
10
- * `fflate` is a pure-JavaScript deflate implementation that serves as the
11
- * primary fallback when the libdeflate WASM module is unavailable. It
12
- * supports compression levels 1-9 and provides both synchronous and
13
- * asynchronous variants.
14
- *
15
- * This adapter implements the {@link CompressionEngine} interface from
16
- * `./deflate.ts`, making it interchangeable with the WASM and browser
17
- * engines.
18
- *
19
- * @packageDocumentation
20
- */
21
- var fflateAdapter_exports = /* @__PURE__ */ __exportAll({
22
- FflateEngine: () => FflateEngine,
23
- compressAsync: () => compressAsync,
24
- compressSync: () => compressSync,
25
- decompressAsync: () => decompressAsync,
26
- decompressSync: () => decompressSync
27
- });
28
- /**
29
- * Clamp a compression level to fflate's valid range (1-9).
30
- *
31
- * Level 0 (no compression) is intentionally excluded -- if you want
32
- * no compression, skip the engine entirely.
33
- *
34
- * @param level - Requested level.
35
- * @returns Clamped level in range [1, 9].
36
- */
37
- function clampFflateLevel(level) {
38
- return Math.max(1, Math.min(9, Math.round(level)));
39
- }
40
- /**
41
- * Wrap fflate's callback-based async API in a Promise.
42
- *
43
- * @param fn - The fflate async function (deflate or inflate).
44
- * @param data - Input bytes.
45
- * @param opts - Options to pass to the fflate function.
46
- * @returns A Promise that resolves with the result bytes.
47
- */
48
- function promisify(fn, data, opts) {
49
- const { promise, resolve, reject } = Promise.withResolvers();
50
- fn(data, opts, (err, result) => {
51
- if (err) reject(err);
52
- else resolve(result);
53
- });
54
- return promise;
55
- }
56
- /**
57
- * Synchronously compress data using fflate's deflateSync.
58
- *
59
- * @param data - Uncompressed input bytes.
60
- * @param level - Compression level 1-9. Default: `6`.
61
- * @returns Compressed bytes (raw deflate, no zlib/gzip wrapper).
62
- *
63
- * @example
64
- * ```ts
65
- * const compressed = compressSync(myData, 6);
66
- * ```
67
- */
68
- function compressSync(data, level = 6) {
69
- return deflateSync(data, { level: clampFflateLevel(level) });
70
- }
71
- /**
72
- * Synchronously decompress raw deflate data using fflate's inflateSync.
73
- *
74
- * @param data - Compressed bytes (raw deflate).
75
- * @param outputSize - Optional output buffer size hint. When provided,
76
- * fflate pre-allocates the buffer for better performance.
77
- * @returns Decompressed bytes.
78
- *
79
- * @example
80
- * ```ts
81
- * const original = decompressSync(compressed);
82
- * ```
83
- */
84
- function decompressSync(data, outputSize) {
85
- if (outputSize !== void 0 && outputSize > 0) return inflateSync(data, { out: new Uint8Array(outputSize) });
86
- return inflateSync(data);
87
- }
88
- /**
89
- * Asynchronously compress data using fflate's Web Worker-backed deflate.
90
- *
91
- * In environments that support Workers, fflate offloads compression
92
- * to a background thread. In other environments, it falls back to
93
- * synchronous compression wrapped in a microtask.
94
- *
95
- * @param data - Uncompressed input bytes.
96
- * @param level - Compression level 1-9. Default: `6`.
97
- * @returns A Promise resolving to compressed bytes.
98
- *
99
- * @example
100
- * ```ts
101
- * const compressed = await compressAsync(myData, 9);
102
- * ```
103
- */
104
- async function compressAsync(data, level = 6) {
105
- return promisify(deflate, data, { level: clampFflateLevel(level) });
106
- }
107
- /**
108
- * Asynchronously decompress raw deflate data.
109
- *
110
- * @param data - Compressed bytes (raw deflate).
111
- * @param outputSize - Optional output buffer size hint.
112
- * @returns A Promise resolving to decompressed bytes.
113
- */
114
- async function decompressAsync(data, outputSize) {
115
- const opts = {};
116
- if (outputSize !== void 0 && outputSize > 0) opts["out"] = new Uint8Array(outputSize);
117
- return promisify(inflate, data, opts);
118
- }
119
- /**
120
- * A {@link CompressionEngine} backed by the `fflate` npm package.
121
- *
122
- * This is the primary fallback engine when WASM is not available.
123
- * Supports compression levels 1-9 and provides both synchronous
124
- * (internally) and async (via Workers if available) compression.
125
- *
126
- * @example
127
- * ```ts
128
- * const engine = new FflateEngine();
129
- * const compressed = await engine.compress(data, 6);
130
- * const original = await engine.decompress(compressed);
131
- * ```
132
- */
133
- var FflateEngine = class {
134
- name = "fflate";
135
- minLevel = 1;
136
- maxLevel = 9;
137
- /**
138
- * Whether to use the async (Worker-based) API when available.
139
- * Default: `true`.
140
- */
141
- useAsync;
142
- /**
143
- * @param options - Engine configuration.
144
- * @param options.useAsync - When `true` (default), uses fflate's
145
- * async API which offloads work to a Web Worker. Set to `false`
146
- * to force synchronous compression (useful in Worker contexts
147
- * where nested Workers are not supported).
148
- */
149
- constructor(options) {
150
- this.useAsync = options?.useAsync ?? true;
151
- }
152
- /**
153
- * Compress data using fflate.
154
- *
155
- * Uses the async (Worker-based) API by default for better
156
- * responsiveness, falling back to synchronous if async fails.
157
- *
158
- * @param data - Uncompressed input bytes.
159
- * @param level - Compression level 1-9 (clamped). Default: `6`.
160
- * @returns Compressed bytes (raw deflate).
161
- */
162
- async compress(data, level = 6) {
163
- if (this.useAsync) try {
164
- return await compressAsync(data, level);
165
- } catch {
166
- return compressSync(data, level);
167
- }
168
- return compressSync(data, level);
169
- }
170
- /**
171
- * Decompress raw deflate data using fflate.
172
- *
173
- * @param data - Compressed bytes (raw deflate).
174
- * @param outputSize - Optional output buffer size hint.
175
- * @returns Decompressed bytes.
176
- */
177
- async decompress(data, outputSize) {
178
- if (this.useAsync) try {
179
- return await decompressAsync(data, outputSize);
180
- } catch {
181
- return decompressSync(data, outputSize);
182
- }
183
- return decompressSync(data, outputSize);
184
- }
185
- /**
186
- * Release engine resources.
187
- *
188
- * fflate does not hold persistent resources, so this is a no-op.
189
- * It exists to satisfy the {@link CompressionEngine} interface.
190
- */
191
- dispose() {}
192
- };
193
-
194
- //#endregion
195
- export { fflateAdapter_exports as n, decompressSync as t };
196
- //# sourceMappingURL=fflateAdapter-DuNiByKx.mjs.map
@@ -1,207 +0,0 @@
1
- const require_rolldown_runtime = require('./rolldown-runtime-CKhH4XqG.cjs');
2
- let fflate = require("fflate");
3
-
4
- //#region src/compression/fflateAdapter.ts
5
- /**
6
- * @module compression/fflateAdapter
7
- *
8
- * Compression engine adapter for the `fflate` npm package.
9
- *
10
- * `fflate` is a pure-JavaScript deflate implementation that serves as the
11
- * primary fallback when the libdeflate WASM module is unavailable. It
12
- * supports compression levels 1-9 and provides both synchronous and
13
- * asynchronous variants.
14
- *
15
- * This adapter implements the {@link CompressionEngine} interface from
16
- * `./deflate.ts`, making it interchangeable with the WASM and browser
17
- * engines.
18
- *
19
- * @packageDocumentation
20
- */
21
- var fflateAdapter_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
22
- FflateEngine: () => FflateEngine,
23
- compressAsync: () => compressAsync,
24
- compressSync: () => compressSync,
25
- decompressAsync: () => decompressAsync,
26
- decompressSync: () => decompressSync
27
- });
28
- /**
29
- * Clamp a compression level to fflate's valid range (1-9).
30
- *
31
- * Level 0 (no compression) is intentionally excluded -- if you want
32
- * no compression, skip the engine entirely.
33
- *
34
- * @param level - Requested level.
35
- * @returns Clamped level in range [1, 9].
36
- */
37
- function clampFflateLevel(level) {
38
- return Math.max(1, Math.min(9, Math.round(level)));
39
- }
40
- /**
41
- * Wrap fflate's callback-based async API in a Promise.
42
- *
43
- * @param fn - The fflate async function (deflate or inflate).
44
- * @param data - Input bytes.
45
- * @param opts - Options to pass to the fflate function.
46
- * @returns A Promise that resolves with the result bytes.
47
- */
48
- function promisify(fn, data, opts) {
49
- const { promise, resolve, reject } = Promise.withResolvers();
50
- fn(data, opts, (err, result) => {
51
- if (err) reject(err);
52
- else resolve(result);
53
- });
54
- return promise;
55
- }
56
- /**
57
- * Synchronously compress data using fflate's deflateSync.
58
- *
59
- * @param data - Uncompressed input bytes.
60
- * @param level - Compression level 1-9. Default: `6`.
61
- * @returns Compressed bytes (raw deflate, no zlib/gzip wrapper).
62
- *
63
- * @example
64
- * ```ts
65
- * const compressed = compressSync(myData, 6);
66
- * ```
67
- */
68
- function compressSync(data, level = 6) {
69
- return (0, fflate.deflateSync)(data, { level: clampFflateLevel(level) });
70
- }
71
- /**
72
- * Synchronously decompress raw deflate data using fflate's inflateSync.
73
- *
74
- * @param data - Compressed bytes (raw deflate).
75
- * @param outputSize - Optional output buffer size hint. When provided,
76
- * fflate pre-allocates the buffer for better performance.
77
- * @returns Decompressed bytes.
78
- *
79
- * @example
80
- * ```ts
81
- * const original = decompressSync(compressed);
82
- * ```
83
- */
84
- function decompressSync(data, outputSize) {
85
- if (outputSize !== void 0 && outputSize > 0) return (0, fflate.inflateSync)(data, { out: new Uint8Array(outputSize) });
86
- return (0, fflate.inflateSync)(data);
87
- }
88
- /**
89
- * Asynchronously compress data using fflate's Web Worker-backed deflate.
90
- *
91
- * In environments that support Workers, fflate offloads compression
92
- * to a background thread. In other environments, it falls back to
93
- * synchronous compression wrapped in a microtask.
94
- *
95
- * @param data - Uncompressed input bytes.
96
- * @param level - Compression level 1-9. Default: `6`.
97
- * @returns A Promise resolving to compressed bytes.
98
- *
99
- * @example
100
- * ```ts
101
- * const compressed = await compressAsync(myData, 9);
102
- * ```
103
- */
104
- async function compressAsync(data, level = 6) {
105
- return promisify(fflate.deflate, data, { level: clampFflateLevel(level) });
106
- }
107
- /**
108
- * Asynchronously decompress raw deflate data.
109
- *
110
- * @param data - Compressed bytes (raw deflate).
111
- * @param outputSize - Optional output buffer size hint.
112
- * @returns A Promise resolving to decompressed bytes.
113
- */
114
- async function decompressAsync(data, outputSize) {
115
- const opts = {};
116
- if (outputSize !== void 0 && outputSize > 0) opts["out"] = new Uint8Array(outputSize);
117
- return promisify(fflate.inflate, data, opts);
118
- }
119
- /**
120
- * A {@link CompressionEngine} backed by the `fflate` npm package.
121
- *
122
- * This is the primary fallback engine when WASM is not available.
123
- * Supports compression levels 1-9 and provides both synchronous
124
- * (internally) and async (via Workers if available) compression.
125
- *
126
- * @example
127
- * ```ts
128
- * const engine = new FflateEngine();
129
- * const compressed = await engine.compress(data, 6);
130
- * const original = await engine.decompress(compressed);
131
- * ```
132
- */
133
- var FflateEngine = class {
134
- name = "fflate";
135
- minLevel = 1;
136
- maxLevel = 9;
137
- /**
138
- * Whether to use the async (Worker-based) API when available.
139
- * Default: `true`.
140
- */
141
- useAsync;
142
- /**
143
- * @param options - Engine configuration.
144
- * @param options.useAsync - When `true` (default), uses fflate's
145
- * async API which offloads work to a Web Worker. Set to `false`
146
- * to force synchronous compression (useful in Worker contexts
147
- * where nested Workers are not supported).
148
- */
149
- constructor(options) {
150
- this.useAsync = options?.useAsync ?? true;
151
- }
152
- /**
153
- * Compress data using fflate.
154
- *
155
- * Uses the async (Worker-based) API by default for better
156
- * responsiveness, falling back to synchronous if async fails.
157
- *
158
- * @param data - Uncompressed input bytes.
159
- * @param level - Compression level 1-9 (clamped). Default: `6`.
160
- * @returns Compressed bytes (raw deflate).
161
- */
162
- async compress(data, level = 6) {
163
- if (this.useAsync) try {
164
- return await compressAsync(data, level);
165
- } catch {
166
- return compressSync(data, level);
167
- }
168
- return compressSync(data, level);
169
- }
170
- /**
171
- * Decompress raw deflate data using fflate.
172
- *
173
- * @param data - Compressed bytes (raw deflate).
174
- * @param outputSize - Optional output buffer size hint.
175
- * @returns Decompressed bytes.
176
- */
177
- async decompress(data, outputSize) {
178
- if (this.useAsync) try {
179
- return await decompressAsync(data, outputSize);
180
- } catch {
181
- return decompressSync(data, outputSize);
182
- }
183
- return decompressSync(data, outputSize);
184
- }
185
- /**
186
- * Release engine resources.
187
- *
188
- * fflate does not hold persistent resources, so this is a no-op.
189
- * It exists to satisfy the {@link CompressionEngine} interface.
190
- */
191
- dispose() {}
192
- };
193
-
194
- //#endregion
195
- Object.defineProperty(exports, 'decompressSync', {
196
- enumerable: true,
197
- get: function () {
198
- return decompressSync;
199
- }
200
- });
201
- Object.defineProperty(exports, 'fflateAdapter_exports', {
202
- enumerable: true,
203
- get: function () {
204
- return fflateAdapter_exports;
205
- }
206
- });
207
- //# sourceMappingURL=fflateAdapter-LTAeAhaD.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fieldAppearance-C8PoLFSc.d.mts","names":[],"sources":["../src/form/fieldAppearance.ts"],"mappings":";;;;;;;;;;;;;;;KAqCY,qBAAA,WAAgC,SAAA,IAC1C,CAAA,mBAAoB,OAAA,EAAS,qBAAA,KAA0B,SAAA,GACrD,CAAA,uBAAwB,OAAA,EAAS,yBAAA,KAA8B,SAAA,GAC/D,CAAA,oBAAqB,OAAA,EAAS,sBAAA,KAA2B,SAAA,GACzD,CAAA,uBAAwB,OAAA,EAAS,yBAAA,KAA8B,SAAA,GAC/D,CAAA,sBAAuB,OAAA,EAAS,wBAAA,KAA6B,SAAA,GAC7D,CAAA,qBAAsB,OAAA,EAAS,uBAAA,KAA4B,SAAA,GAC3D,CAAA,wBAAyB,OAAA,EAAS,0BAAA,KAA+B,SAAA;;UA6BpD,qBAAA;EA7B6D;EA+B5E,KAAA;EAtCgC;EAwChC,IAAA;EAvCA;EAyCA,QAAA;EAzCoB;EA2CpB,QAAA;EA1CE;EA4CF,SAAA;EA5C0B;EA8C1B,SAAA;EA7CE;EA+CF,WAAA;AAAA;;;;;;;;iBAUc,sBAAA,CAAuB,OAAA,EAAS,qBAAA,GAAwB,SAAA;;UAoGvD,yBAAA;EA1JkB;EA4JjC,OAAA;EA5J6D;EA8J7D,IAAA;AAAA;;;;;AAhIF;;iBAyIgB,0BAAA,CAA2B,OAAA,EAAS,yBAAA,GAA4B,SAAA;;UAqC/D,sBAAA;EA1Kf;EA4KA,QAAA;EAxKA;EA0KA,IAAA;AAAA;;;;AA1JF;;;iBAmKgB,uBAAA,CAAwB,OAAA,EAAS,sBAAA,GAAyB,SAAA;;UAqCzD,yBAAA;EAxMuD;EA0MtE,KAAA;EA1M+E;EA4M/E,IAAA;EAxGwC;EA0GxC,QAAA;EAxGA;EA0GA,QAAA;AAAA;;;;;iBAOc,0BAAA,CAA2B,OAAA,EAAS,yBAAA,GAA4B,SAAA;;UAgB/D,wBAAA;EAtHwE;EAwHvF,OAAA;EAnFqC;EAqFrC,QAAA;EAnFA;EAqFA,IAAA;EA1Ec;EA4Ed,QAAA;;EAEA,QAAA;AAAA;;;;;iBAOc,yBAAA,CAA0B,OAAA,EAAS,wBAAA,GAA2B,SAAA;;UAyD7D,uBAAA;EAzGyB;EA2GxC,OAAA;EAvGA;EAyGA,IAAA;EArGA;EAuGA,QAAA;EAvGQ;EAyGR,QAAA;AAAA;;;;;iBAOc,wBAAA,CAAyB,OAAA,EAAS,uBAAA,GAA0B,SAAA;;UA6C3D,0BAAA;EAtIA;EAwIf,MAAA;;EAEA,IAAA;AAAA;;;;;;;iBASc,2BAAA,CAA4B,OAAA,EAAS,0BAAA,GAA6B,SAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fieldAppearance-CdiGFG5e.d.cts","names":[],"sources":["../src/form/fieldAppearance.ts"],"mappings":";;;;;;;;;;;;;;;KAqCY,qBAAA,WAAgC,SAAA,IAC1C,CAAA,mBAAoB,OAAA,EAAS,qBAAA,KAA0B,SAAA,GACrD,CAAA,uBAAwB,OAAA,EAAS,yBAAA,KAA8B,SAAA,GAC/D,CAAA,oBAAqB,OAAA,EAAS,sBAAA,KAA2B,SAAA,GACzD,CAAA,uBAAwB,OAAA,EAAS,yBAAA,KAA8B,SAAA,GAC/D,CAAA,sBAAuB,OAAA,EAAS,wBAAA,KAA6B,SAAA,GAC7D,CAAA,qBAAsB,OAAA,EAAS,uBAAA,KAA4B,SAAA,GAC3D,CAAA,wBAAyB,OAAA,EAAS,0BAAA,KAA+B,SAAA;;UA6BpD,qBAAA;EA7B6D;EA+B5E,KAAA;EAtCgC;EAwChC,IAAA;EAvCA;EAyCA,QAAA;EAzCoB;EA2CpB,QAAA;EA1CE;EA4CF,SAAA;EA5C0B;EA8C1B,SAAA;EA7CE;EA+CF,WAAA;AAAA;;;;;;;;iBAUc,sBAAA,CAAuB,OAAA,EAAS,qBAAA,GAAwB,SAAA;;UAoGvD,yBAAA;EA1JkB;EA4JjC,OAAA;EA5J6D;EA8J7D,IAAA;AAAA;;;;;AAhIF;;iBAyIgB,0BAAA,CAA2B,OAAA,EAAS,yBAAA,GAA4B,SAAA;;UAqC/D,sBAAA;EA1Kf;EA4KA,QAAA;EAxKA;EA0KA,IAAA;AAAA;;;;AA1JF;;;iBAmKgB,uBAAA,CAAwB,OAAA,EAAS,sBAAA,GAAyB,SAAA;;UAqCzD,yBAAA;EAxMuD;EA0MtE,KAAA;EA1M+E;EA4M/E,IAAA;EAxGwC;EA0GxC,QAAA;EAxGA;EA0GA,QAAA;AAAA;;;;;iBAOc,0BAAA,CAA2B,OAAA,EAAS,yBAAA,GAA4B,SAAA;;UAgB/D,wBAAA;EAtHwE;EAwHvF,OAAA;EAnFqC;EAqFrC,QAAA;EAnFA;EAqFA,IAAA;EA1Ec;EA4Ed,QAAA;;EAEA,QAAA;AAAA;;;;;iBAOc,yBAAA,CAA0B,OAAA,EAAS,wBAAA,GAA2B,SAAA;;UAyD7D,uBAAA;EAzGyB;EA2GxC,OAAA;EAvGA;EAyGA,IAAA;EArGA;EAuGA,QAAA;EAvGQ;EAyGR,QAAA;AAAA;;;;;iBAOc,wBAAA,CAAyB,OAAA,EAAS,uBAAA,GAA0B,SAAA;;UA6C3D,0BAAA;EAtIA;EAwIf,MAAA;;EAEA,IAAA;AAAA;;;;;;;iBASc,2BAAA,CAA4B,OAAA,EAAS,0BAAA,GAA6B,SAAA"}