pdf-lite 1.0.1-alpha.2 → 1.0.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 (721) hide show
  1. package/dist/core/decoder.d.ts +39 -0
  2. package/dist/core/decoder.js +367 -0
  3. package/dist/core/generators.d.ts +37 -0
  4. package/{packages/pdf-lite/src/core/generators.ts → dist/core/generators.js} +36 -67
  5. package/dist/core/incremental-parser.d.ts +103 -0
  6. package/{packages/pdf-lite/src/core/incremental-parser.ts → dist/core/incremental-parser.js} +63 -100
  7. package/dist/core/index.d.ts +2 -0
  8. package/dist/core/index.js +2 -0
  9. package/dist/core/objects/pdf-array.d.ts +12 -0
  10. package/dist/core/objects/pdf-array.js +42 -0
  11. package/dist/core/objects/pdf-boolean.d.ts +8 -0
  12. package/dist/core/objects/pdf-boolean.js +15 -0
  13. package/dist/core/objects/pdf-comment.d.ts +18 -0
  14. package/dist/core/objects/pdf-comment.js +39 -0
  15. package/dist/core/objects/pdf-date.d.ts +5 -0
  16. package/dist/core/objects/pdf-date.js +40 -0
  17. package/dist/core/objects/pdf-dictionary.d.ts +22 -0
  18. package/dist/core/objects/pdf-dictionary.js +136 -0
  19. package/dist/core/objects/pdf-hexadecimal.d.ts +17 -0
  20. package/dist/core/objects/pdf-hexadecimal.js +42 -0
  21. package/dist/core/objects/pdf-indirect-object.d.ts +27 -0
  22. package/dist/core/objects/pdf-indirect-object.js +100 -0
  23. package/dist/core/objects/pdf-name.d.ts +8 -0
  24. package/dist/core/objects/pdf-name.js +15 -0
  25. package/dist/core/objects/pdf-null.d.ts +7 -0
  26. package/dist/core/objects/pdf-null.js +11 -0
  27. package/dist/core/objects/pdf-number.d.ts +25 -0
  28. package/dist/core/objects/pdf-number.js +77 -0
  29. package/dist/core/objects/pdf-object-reference.d.ts +9 -0
  30. package/dist/core/objects/pdf-object-reference.js +19 -0
  31. package/dist/core/objects/pdf-object.d.ts +30 -0
  32. package/dist/core/objects/pdf-object.js +77 -0
  33. package/dist/core/objects/pdf-start-xref.d.ts +10 -0
  34. package/dist/core/objects/pdf-start-xref.js +32 -0
  35. package/dist/core/objects/pdf-stream.d.ts +100 -0
  36. package/dist/core/objects/pdf-stream.js +521 -0
  37. package/dist/core/objects/pdf-string.d.ts +15 -0
  38. package/dist/core/objects/pdf-string.js +30 -0
  39. package/dist/core/objects/pdf-trailer.d.ts +26 -0
  40. package/dist/core/objects/pdf-trailer.js +33 -0
  41. package/dist/core/objects/pdf-xref-table.d.ts +48 -0
  42. package/dist/core/objects/pdf-xref-table.js +183 -0
  43. package/{packages/pdf-lite/src/core/parser.ts → dist/core/parser.d.ts} +3 -4
  44. package/dist/core/parser.js +9 -0
  45. package/dist/core/ref.d.ts +59 -0
  46. package/{packages/pdf-lite/src/core/ref.ts → dist/core/ref.js} +23 -41
  47. package/dist/core/serializer.d.ts +36 -0
  48. package/{packages/pdf-lite/src/core/serializer.ts → dist/core/serializer.js} +20 -30
  49. package/dist/core/streams/object-stream.d.ts +6 -0
  50. package/dist/core/streams/object-stream.js +15 -0
  51. package/dist/core/tokeniser.d.ts +98 -0
  52. package/dist/core/tokeniser.js +552 -0
  53. package/dist/core/tokens/boolean-token.d.ts +8 -0
  54. package/dist/core/tokens/boolean-token.js +15 -0
  55. package/dist/core/tokens/byte-offset-token.d.ts +8 -0
  56. package/dist/core/tokens/byte-offset-token.js +15 -0
  57. package/dist/core/tokens/comment-token.d.ts +10 -0
  58. package/dist/core/tokens/comment-token.js +26 -0
  59. package/dist/core/tokens/end-array-token.d.ts +4 -0
  60. package/dist/core/tokens/end-array-token.js +8 -0
  61. package/dist/core/tokens/end-dictionary-token.d.ts +4 -0
  62. package/dist/core/tokens/end-dictionary-token.js +8 -0
  63. package/dist/core/tokens/end-object-token.d.ts +4 -0
  64. package/dist/core/tokens/end-object-token.js +8 -0
  65. package/dist/core/tokens/end-stream-token.d.ts +5 -0
  66. package/dist/core/tokens/end-stream-token.js +8 -0
  67. package/dist/core/tokens/hexadecimal-token.d.ts +7 -0
  68. package/dist/core/tokens/hexadecimal-token.js +16 -0
  69. package/dist/core/tokens/name-token.d.ts +6 -0
  70. package/dist/core/tokens/name-token.js +15 -0
  71. package/dist/core/tokens/null-token.d.ts +4 -0
  72. package/dist/core/tokens/null-token.js +8 -0
  73. package/dist/core/tokens/number-token.d.ts +24 -0
  74. package/dist/core/tokens/number-token.js +104 -0
  75. package/dist/core/tokens/object-reference-token.d.ts +7 -0
  76. package/dist/core/tokens/object-reference-token.js +17 -0
  77. package/dist/core/tokens/start-array-token.d.ts +4 -0
  78. package/dist/core/tokens/start-array-token.js +8 -0
  79. package/dist/core/tokens/start-dictionary-token.d.ts +4 -0
  80. package/dist/core/tokens/start-dictionary-token.js +8 -0
  81. package/dist/core/tokens/start-object-token.d.ts +8 -0
  82. package/dist/core/tokens/start-object-token.js +17 -0
  83. package/dist/core/tokens/start-stream-token.d.ts +8 -0
  84. package/dist/core/tokens/start-stream-token.js +38 -0
  85. package/dist/core/tokens/start-xref-token.d.ts +4 -0
  86. package/dist/core/tokens/start-xref-token.js +8 -0
  87. package/dist/core/tokens/stream-chunk-token.d.ts +5 -0
  88. package/dist/core/tokens/stream-chunk-token.js +6 -0
  89. package/dist/core/tokens/string-token.d.ts +7 -0
  90. package/dist/core/tokens/string-token.js +13 -0
  91. package/dist/core/tokens/token.d.ts +10 -0
  92. package/dist/core/tokens/token.js +32 -0
  93. package/dist/core/tokens/trailer-token.d.ts +5 -0
  94. package/dist/core/tokens/trailer-token.js +10 -0
  95. package/dist/core/tokens/whitespace-token.d.ts +11 -0
  96. package/dist/core/tokens/whitespace-token.js +36 -0
  97. package/dist/core/tokens/xref-table-entry-token.d.ts +13 -0
  98. package/dist/core/tokens/xref-table-entry-token.js +40 -0
  99. package/dist/core/tokens/xref-table-section-start-token.d.ts +8 -0
  100. package/dist/core/tokens/xref-table-section-start-token.js +21 -0
  101. package/dist/core/tokens/xref-table-start-token.d.ts +5 -0
  102. package/dist/core/tokens/xref-table-start-token.js +10 -0
  103. package/dist/crypto/ciphers/aes128.d.ts +19 -0
  104. package/{packages/pdf-lite/src/crypto/ciphers/aes128.ts → dist/crypto/ciphers/aes128.js} +17 -27
  105. package/dist/crypto/ciphers/aes256.d.ts +18 -0
  106. package/{packages/pdf-lite/src/crypto/ciphers/aes256.ts → dist/crypto/ciphers/aes256.js} +14 -17
  107. package/dist/crypto/ciphers/rc4.d.ts +18 -0
  108. package/{packages/pdf-lite/src/crypto/ciphers/rc4.ts → dist/crypto/ciphers/rc4.js} +25 -30
  109. package/dist/crypto/constants.d.ts +6 -0
  110. package/{packages/pdf-lite/src/crypto/constants.ts → dist/crypto/constants.js} +1 -1
  111. package/dist/crypto/key-derivation/key-derivation-aes256.d.ts +56 -0
  112. package/dist/crypto/key-derivation/key-derivation-aes256.js +156 -0
  113. package/dist/crypto/key-derivation/key-derivation.d.ts +42 -0
  114. package/{packages/pdf-lite/src/crypto/key-derivation/key-derivation.ts → dist/crypto/key-derivation/key-derivation.js} +35 -66
  115. package/dist/crypto/key-gen/key-gen-aes256.d.ts +36 -0
  116. package/{packages/pdf-lite/src/crypto/key-gen/key-gen-aes256.ts → dist/crypto/key-gen/key-gen-aes256.js} +25 -50
  117. package/dist/crypto/key-gen/key-gen-rc4-128.d.ts +47 -0
  118. package/{packages/pdf-lite/src/crypto/key-gen/key-gen-rc4-128.ts → dist/crypto/key-gen/key-gen-rc4-128.js} +45 -106
  119. package/dist/crypto/key-gen/key-gen-rc4-40.d.ts +60 -0
  120. package/{packages/pdf-lite/src/crypto/key-gen/key-gen-rc4-40.ts → dist/crypto/key-gen/key-gen-rc4-40.js} +26 -62
  121. package/dist/crypto/types.d.ts +5 -0
  122. package/dist/crypto/types.js +1 -0
  123. package/dist/crypto/utils.d.ts +40 -0
  124. package/{packages/pdf-lite/src/crypto/utils.ts → dist/crypto/utils.js} +27 -36
  125. package/dist/filters/ascii85.d.ts +16 -0
  126. package/{packages/pdf-lite/src/filters/ascii85.ts → dist/filters/ascii85.js} +41 -65
  127. package/dist/filters/asciihex.d.ts +16 -0
  128. package/{packages/pdf-lite/src/filters/asciihex.ts → dist/filters/asciihex.js} +18 -19
  129. package/dist/filters/flate.d.ts +15 -0
  130. package/{packages/pdf-lite/src/filters/flate.ts → dist/filters/flate.js} +7 -10
  131. package/dist/filters/lzw.d.ts +16 -0
  132. package/dist/filters/lzw.js +150 -0
  133. package/dist/filters/pass-through.d.ts +14 -0
  134. package/{packages/pdf-lite/src/filters/pass-through.ts → dist/filters/pass-through.js} +6 -9
  135. package/dist/filters/runlength.d.ts +16 -0
  136. package/{packages/pdf-lite/src/filters/runlength.ts → dist/filters/runlength.js} +36 -40
  137. package/dist/filters/types.d.ts +18 -0
  138. package/{packages/pdf-lite/src/filters/types.ts → dist/filters/types.js} +1 -10
  139. package/dist/index.d.ts +4 -0
  140. package/dist/index.js +4 -0
  141. package/dist/pdf/errors.d.ts +6 -0
  142. package/{packages/pdf-lite/src/pdf/errors.ts → dist/pdf/errors.js} +2 -1
  143. package/dist/pdf/index.d.ts +4 -0
  144. package/dist/pdf/index.js +4 -0
  145. package/dist/pdf/pdf-document.d.ts +277 -0
  146. package/{packages/pdf-lite/src/pdf/pdf-document.ts → dist/pdf/pdf-document.js} +305 -541
  147. package/dist/pdf/pdf-reader.d.ts +37 -0
  148. package/{packages/pdf-lite/src/pdf/pdf-reader.ts → dist/pdf/pdf-reader.js} +12 -22
  149. package/dist/pdf/pdf-revision.d.ts +101 -0
  150. package/{packages/pdf-lite/src/pdf/pdf-revision.ts → dist/pdf/pdf-revision.js} +70 -105
  151. package/dist/pdf/pdf-xref-lookup.d.ts +149 -0
  152. package/dist/pdf/pdf-xref-lookup.js +402 -0
  153. package/dist/security/crypt-filters/aesv2.d.ts +35 -0
  154. package/{packages/pdf-lite/src/security/crypt-filters/aesv2.ts → dist/security/crypt-filters/aesv2.js} +9 -26
  155. package/dist/security/crypt-filters/aesv3.d.ts +36 -0
  156. package/{packages/pdf-lite/src/security/crypt-filters/aesv3.ts → dist/security/crypt-filters/aesv3.js} +9 -23
  157. package/{packages/pdf-lite/src/security/crypt-filters/base.ts → dist/security/crypt-filters/base.d.ts} +21 -73
  158. package/dist/security/crypt-filters/base.js +93 -0
  159. package/dist/security/crypt-filters/identity.d.ts +28 -0
  160. package/{packages/pdf-lite/src/security/crypt-filters/identity.ts → dist/security/crypt-filters/identity.js} +9 -13
  161. package/dist/security/crypt-filters/v2.d.ts +37 -0
  162. package/{packages/pdf-lite/src/security/crypt-filters/v2.ts → dist/security/crypt-filters/v2.js} +9 -26
  163. package/dist/security/handlers/base.d.ts +304 -0
  164. package/dist/security/handlers/base.js +359 -0
  165. package/dist/security/handlers/pubSec.d.ts +164 -0
  166. package/dist/security/handlers/pubSec.js +299 -0
  167. package/dist/security/handlers/utils.d.ts +77 -0
  168. package/dist/security/handlers/utils.js +244 -0
  169. package/dist/security/handlers/v1.d.ts +81 -0
  170. package/dist/security/handlers/v1.js +135 -0
  171. package/dist/security/handlers/v2.d.ts +63 -0
  172. package/{packages/pdf-lite/src/security/handlers/v2.ts → dist/security/handlers/v2.js} +25 -62
  173. package/dist/security/handlers/v4.d.ts +121 -0
  174. package/dist/security/handlers/v4.js +257 -0
  175. package/dist/security/handlers/v5.d.ts +112 -0
  176. package/dist/security/handlers/v5.js +210 -0
  177. package/{packages/pdf-lite/src/security/types.ts → dist/security/types.d.ts} +72 -94
  178. package/dist/security/types.js +1 -0
  179. package/dist/signing/document-security-store.d.ts +108 -0
  180. package/dist/signing/document-security-store.js +156 -0
  181. package/dist/signing/index.d.ts +3 -0
  182. package/dist/signing/index.js +3 -0
  183. package/dist/signing/signatures/adbe-pkcs7-detached.d.ts +57 -0
  184. package/dist/signing/signatures/adbe-pkcs7-detached.js +117 -0
  185. package/dist/signing/signatures/adbe-pkcs7-sha1.d.ts +55 -0
  186. package/dist/signing/signatures/adbe-pkcs7-sha1.js +121 -0
  187. package/dist/signing/signatures/adbe-x509-rsa-sha1.d.ts +49 -0
  188. package/dist/signing/signatures/adbe-x509-rsa-sha1.js +81 -0
  189. package/dist/signing/signatures/base.d.ts +107 -0
  190. package/dist/signing/signatures/base.js +145 -0
  191. package/dist/signing/signatures/etsi-cades-detached.d.ts +64 -0
  192. package/dist/signing/signatures/etsi-cades-detached.js +159 -0
  193. package/dist/signing/signatures/etsi-rfc3161.d.ts +37 -0
  194. package/{packages/pdf-lite/src/signing/signatures/etsi-rfc3161.ts → dist/signing/signatures/etsi-rfc3161.js} +21 -43
  195. package/dist/signing/signatures/index.d.ts +6 -0
  196. package/dist/signing/signatures/index.js +6 -0
  197. package/dist/signing/signer.d.ts +23 -0
  198. package/dist/signing/signer.js +92 -0
  199. package/{packages/pdf-lite/src/signing/types.ts → dist/signing/types.d.ts} +40 -48
  200. package/dist/signing/types.js +1 -0
  201. package/dist/signing/utils.d.ts +32 -0
  202. package/{packages/pdf-lite/src/signing/utils.ts → dist/signing/utils.js} +12 -31
  203. package/dist/types.d.ts +23 -0
  204. package/dist/types.js +11 -0
  205. package/dist/utils/IterableReadableStream.d.ts +24 -0
  206. package/{packages/pdf-lite/src/utils/IterableReadableStream.ts → dist/utils/IterableReadableStream.js} +6 -6
  207. package/dist/utils/algos.d.ts +242 -0
  208. package/{packages/pdf-lite/src/utils/algos.ts → dist/utils/algos.js} +63 -136
  209. package/dist/utils/assert.d.ts +28 -0
  210. package/{packages/pdf-lite/src/utils/assert.ts → dist/utils/assert.js} +5 -10
  211. package/dist/utils/bytesToHex.d.ts +13 -0
  212. package/{packages/pdf-lite/src/utils/bytesToHex.ts → dist/utils/bytesToHex.js} +4 -6
  213. package/dist/utils/bytesToHexBytes.d.ts +14 -0
  214. package/{packages/pdf-lite/src/utils/bytesToHexBytes.ts → dist/utils/bytesToHexBytes.js} +7 -12
  215. package/dist/utils/bytesToString.d.ts +13 -0
  216. package/{packages/pdf-lite/src/utils/bytesToString.ts → dist/utils/bytesToString.js} +3 -5
  217. package/dist/utils/concatUint8Arrays.d.ts +16 -0
  218. package/{packages/pdf-lite/src/utils/concatUint8Arrays.ts → dist/utils/concatUint8Arrays.js} +7 -9
  219. package/dist/utils/escapeString.d.ts +14 -0
  220. package/dist/utils/escapeString.js +43 -0
  221. package/dist/utils/hexBytesToBytes.d.ts +15 -0
  222. package/{packages/pdf-lite/src/utils/hexBytesToBytes.ts → dist/utils/hexBytesToBytes.js} +4 -6
  223. package/dist/utils/hexBytesToString.d.ts +13 -0
  224. package/{packages/pdf-lite/src/utils/hexBytesToString.ts → dist/utils/hexBytesToString.js} +5 -7
  225. package/dist/utils/hexToBytes.d.ts +13 -0
  226. package/{packages/pdf-lite/src/utils/hexToBytes.ts → dist/utils/hexToBytes.js} +4 -6
  227. package/dist/utils/padBytes.d.ts +15 -0
  228. package/{packages/pdf-lite/src/utils/padBytes.ts → dist/utils/padBytes.js} +5 -9
  229. package/dist/utils/predictors.d.ts +113 -0
  230. package/{packages/pdf-lite/src/utils/predictors.ts → dist/utils/predictors.js} +103 -156
  231. package/dist/utils/replaceInBuffer.d.ts +22 -0
  232. package/{packages/pdf-lite/src/utils/replaceInBuffer.ts → dist/utils/replaceInBuffer.js} +18 -27
  233. package/dist/utils/stringToBytes.d.ts +14 -0
  234. package/{packages/pdf-lite/src/utils/stringToBytes.ts → dist/utils/stringToBytes.js} +6 -7
  235. package/dist/utils/stringToHexBytes.d.ts +15 -0
  236. package/{packages/pdf-lite/src/utils/stringToHexBytes.ts → dist/utils/stringToHexBytes.js} +5 -7
  237. package/dist/utils/unescapeString.d.ts +16 -0
  238. package/dist/utils/unescapeString.js +114 -0
  239. package/package.json +37 -34
  240. package/.commitlintrc.cjs +0 -25
  241. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
  242. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -19
  243. package/.github/workflows/docs.yaml +0 -95
  244. package/.github/workflows/prepare-release.yaml +0 -79
  245. package/.github/workflows/release.yaml +0 -80
  246. package/.github/workflows/test.yaml +0 -35
  247. package/.husky/commit-msg +0 -1
  248. package/.husky/pre-commit +0 -1
  249. package/.prettierignore +0 -4
  250. package/.prettierrc +0 -4
  251. package/CONTRIBUTING.md +0 -109
  252. package/EXAMPLES.md +0 -1512
  253. package/docs/README.md +0 -127
  254. package/docs/core/README.md +0 -43
  255. package/docs/core/decoder/README.md +0 -11
  256. package/docs/core/decoder/classes/PdfDecoder.md +0 -362
  257. package/docs/core/generators/README.md +0 -14
  258. package/docs/core/generators/functions/bytesToPdfObjects.md +0 -26
  259. package/docs/core/generators/functions/pdfDecoder.md +0 -36
  260. package/docs/core/generators/functions/pdfDecoderAsync.md +0 -26
  261. package/docs/core/generators/functions/stringToPdfObjects.md +0 -25
  262. package/docs/core/incremental-parser/README.md +0 -13
  263. package/docs/core/incremental-parser/classes/EofReachedError.md +0 -55
  264. package/docs/core/incremental-parser/classes/IncrementalParser.md +0 -299
  265. package/docs/core/incremental-parser/classes/NoMoreTokensError.md +0 -55
  266. package/docs/core/objects/pdf-array/README.md +0 -11
  267. package/docs/core/objects/pdf-array/classes/PdfArray.md +0 -305
  268. package/docs/core/objects/pdf-boolean/README.md +0 -11
  269. package/docs/core/objects/pdf-boolean/classes/PdfBoolean.md +0 -265
  270. package/docs/core/objects/pdf-comment/README.md +0 -11
  271. package/docs/core/objects/pdf-comment/classes/PdfComment.md +0 -329
  272. package/docs/core/objects/pdf-date/README.md +0 -11
  273. package/docs/core/objects/pdf-date/classes/PdfDate.md +0 -317
  274. package/docs/core/objects/pdf-dictionary/README.md +0 -17
  275. package/docs/core/objects/pdf-dictionary/classes/PdfDictionary.md +0 -396
  276. package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryEntries.md +0 -9
  277. package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryEntry.md +0 -9
  278. package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryMap.md +0 -9
  279. package/docs/core/objects/pdf-hexadecimal/README.md +0 -11
  280. package/docs/core/objects/pdf-hexadecimal/classes/PdfHexadecimal.md +0 -320
  281. package/docs/core/objects/pdf-indirect-object/README.md +0 -11
  282. package/docs/core/objects/pdf-indirect-object/classes/PdfIndirectObject.md +0 -411
  283. package/docs/core/objects/pdf-name/README.md +0 -11
  284. package/docs/core/objects/pdf-name/classes/PdfName.md +0 -271
  285. package/docs/core/objects/pdf-null/README.md +0 -11
  286. package/docs/core/objects/pdf-null/classes/PdfNull.md +0 -259
  287. package/docs/core/objects/pdf-number/README.md +0 -12
  288. package/docs/core/objects/pdf-number/classes/PdfByteOffsetNumber.md +0 -369
  289. package/docs/core/objects/pdf-number/classes/PdfNumber.md +0 -345
  290. package/docs/core/objects/pdf-object/README.md +0 -11
  291. package/docs/core/objects/pdf-object/classes/PdfObject.md +0 -214
  292. package/docs/core/objects/pdf-object-reference/README.md +0 -11
  293. package/docs/core/objects/pdf-object-reference/classes/PdfObjectReference.md +0 -279
  294. package/docs/core/objects/pdf-start-xref/README.md +0 -11
  295. package/docs/core/objects/pdf-start-xref/classes/PdfStartXRef.md +0 -265
  296. package/docs/core/objects/pdf-stream/README.md +0 -23
  297. package/docs/core/objects/pdf-stream/classes/PdfObjStream.md +0 -699
  298. package/docs/core/objects/pdf-stream/classes/PdfStream.md +0 -570
  299. package/docs/core/objects/pdf-stream/classes/PdfXRefStream.md +0 -723
  300. package/docs/core/objects/pdf-stream/classes/PdfXRefStreamCompressedEntry.md +0 -51
  301. package/docs/core/objects/pdf-stream/type-aliases/PdfXRefStreamEntry.md +0 -9
  302. package/docs/core/objects/pdf-stream/type-aliases/PdfXRefStreamStandardEntry.md +0 -9
  303. package/docs/core/objects/pdf-stream/variables/PdfXRefStreamStandardEntry.md +0 -9
  304. package/docs/core/objects/pdf-string/README.md +0 -11
  305. package/docs/core/objects/pdf-string/classes/PdfString.md +0 -301
  306. package/docs/core/objects/pdf-trailer/README.md +0 -16
  307. package/docs/core/objects/pdf-trailer/classes/PdfTrailer.md +0 -271
  308. package/docs/core/objects/pdf-trailer/type-aliases/PdfTrailerDictionary.md +0 -9
  309. package/docs/core/objects/pdf-trailer/type-aliases/PdfTrailerEntries.md +0 -51
  310. package/docs/core/objects/pdf-xref-table/README.md +0 -13
  311. package/docs/core/objects/pdf-xref-table/classes/PdfXRefTable.md +0 -331
  312. package/docs/core/objects/pdf-xref-table/classes/PdfXRefTableEntry.md +0 -297
  313. package/docs/core/objects/pdf-xref-table/classes/PdfXRefTableSectionHeader.md +0 -277
  314. package/docs/core/parser/README.md +0 -11
  315. package/docs/core/parser/classes/Parser.md +0 -74
  316. package/docs/core/ref/README.md +0 -15
  317. package/docs/core/ref/classes/Ref.md +0 -149
  318. package/docs/core/ref/type-aliases/RefUpdateCallback.md +0 -33
  319. package/docs/core/serializer/README.md +0 -11
  320. package/docs/core/serializer/classes/PdfTokenSerializer.md +0 -106
  321. package/docs/core/streams/object-stream/README.md +0 -11
  322. package/docs/core/streams/object-stream/classes/PdfObjectStream.md +0 -69
  323. package/docs/core/tokeniser/README.md +0 -21
  324. package/docs/core/tokeniser/classes/PdfByteStreamTokeniser.md +0 -366
  325. package/docs/core/tokeniser/classes/PdfObjectTokeniser.md +0 -69
  326. package/docs/core/tokeniser/functions/objectToTokens.md +0 -25
  327. package/docs/core/tokeniser/functions/pdfObjectStreamTokeniser.md +0 -27
  328. package/docs/core/tokeniser/type-aliases/PdfTokeniser.md +0 -11
  329. package/docs/core/tokens/boolean-token/README.md +0 -11
  330. package/docs/core/tokens/boolean-token/classes/PdfBooleanToken.md +0 -139
  331. package/docs/core/tokens/byte-offset-token/README.md +0 -11
  332. package/docs/core/tokens/byte-offset-token/classes/PdfByteOffsetToken.md +0 -153
  333. package/docs/core/tokens/comment-token/README.md +0 -11
  334. package/docs/core/tokens/comment-token/classes/PdfCommentToken.md +0 -161
  335. package/docs/core/tokens/end-array-token/README.md +0 -11
  336. package/docs/core/tokens/end-array-token/classes/PdfEndArrayToken.md +0 -115
  337. package/docs/core/tokens/end-dictionary-token/README.md +0 -11
  338. package/docs/core/tokens/end-dictionary-token/classes/PdfEndDictionaryToken.md +0 -115
  339. package/docs/core/tokens/end-object-token/README.md +0 -11
  340. package/docs/core/tokens/end-object-token/classes/PdfEndObjectToken.md +0 -115
  341. package/docs/core/tokens/end-stream-token/README.md +0 -11
  342. package/docs/core/tokens/end-stream-token/classes/PdfEndStreamToken.md +0 -121
  343. package/docs/core/tokens/hexadecimal-token/README.md +0 -11
  344. package/docs/core/tokens/hexadecimal-token/classes/PdfHexadecimalToken.md +0 -127
  345. package/docs/core/tokens/name-token/README.md +0 -11
  346. package/docs/core/tokens/name-token/classes/PdfNameToken.md +0 -127
  347. package/docs/core/tokens/null-token/README.md +0 -11
  348. package/docs/core/tokens/null-token/classes/PdfNullToken.md +0 -115
  349. package/docs/core/tokens/number-token/README.md +0 -11
  350. package/docs/core/tokens/number-token/classes/PdfNumberToken.md +0 -271
  351. package/docs/core/tokens/object-reference-token/README.md +0 -11
  352. package/docs/core/tokens/object-reference-token/classes/PdfObjectReferenceToken.md +0 -137
  353. package/docs/core/tokens/start-array-token/README.md +0 -11
  354. package/docs/core/tokens/start-array-token/classes/PdfStartArrayToken.md +0 -115
  355. package/docs/core/tokens/start-dictionary-token/README.md +0 -11
  356. package/docs/core/tokens/start-dictionary-token/classes/PdfStartDictionaryToken.md +0 -115
  357. package/docs/core/tokens/start-object-token/README.md +0 -11
  358. package/docs/core/tokens/start-object-token/classes/PdfStartObjectToken.md +0 -147
  359. package/docs/core/tokens/start-stream-token/README.md +0 -11
  360. package/docs/core/tokens/start-stream-token/classes/PdfStartStreamToken.md +0 -147
  361. package/docs/core/tokens/start-xref-token/README.md +0 -11
  362. package/docs/core/tokens/start-xref-token/classes/PdfStartXRefToken.md +0 -115
  363. package/docs/core/tokens/stream-chunk-token/README.md +0 -11
  364. package/docs/core/tokens/stream-chunk-token/classes/PdfStreamChunkToken.md +0 -121
  365. package/docs/core/tokens/string-token/README.md +0 -11
  366. package/docs/core/tokens/string-token/classes/PdfStringToken.md +0 -127
  367. package/docs/core/tokens/token/README.md +0 -11
  368. package/docs/core/tokens/token/classes/PdfToken.md +0 -116
  369. package/docs/core/tokens/trailer-token/README.md +0 -11
  370. package/docs/core/tokens/trailer-token/classes/PdfTrailerToken.md +0 -127
  371. package/docs/core/tokens/whitespace-token/README.md +0 -11
  372. package/docs/core/tokens/whitespace-token/classes/PdfWhitespaceToken.md +0 -161
  373. package/docs/core/tokens/xref-table-entry-token/README.md +0 -11
  374. package/docs/core/tokens/xref-table-entry-token/classes/PdfXRefTableEntryToken.md +0 -157
  375. package/docs/core/tokens/xref-table-section-start-token/README.md +0 -11
  376. package/docs/core/tokens/xref-table-section-start-token/classes/PdfXRefTableSectionStartToken.md +0 -137
  377. package/docs/core/tokens/xref-table-start-token/README.md +0 -11
  378. package/docs/core/tokens/xref-table-start-token/classes/PdfXRefTableStartToken.md +0 -127
  379. package/docs/crypto/ciphers/aes128/README.md +0 -11
  380. package/docs/crypto/ciphers/aes128/functions/aes128.md +0 -39
  381. package/docs/crypto/ciphers/aes256/README.md +0 -11
  382. package/docs/crypto/ciphers/aes256/functions/aes256.md +0 -35
  383. package/docs/crypto/ciphers/rc4/README.md +0 -11
  384. package/docs/crypto/ciphers/rc4/functions/rc4.md +0 -35
  385. package/docs/crypto/constants/README.md +0 -11
  386. package/docs/crypto/constants/variables/DEFAULT_PADDING.md +0 -13
  387. package/docs/crypto/key-derivation/key-derivation/README.md +0 -13
  388. package/docs/crypto/key-derivation/key-derivation/functions/computeMasterKey.md +0 -57
  389. package/docs/crypto/key-derivation/key-derivation/functions/deriveObjectKey.md +0 -50
  390. package/docs/crypto/key-derivation/key-derivation/functions/padPassword.md +0 -33
  391. package/docs/crypto/key-derivation/key-derivation-aes256/README.md +0 -13
  392. package/docs/crypto/key-derivation/key-derivation-aes256/functions/computeAlgorithm2bHash.md +0 -45
  393. package/docs/crypto/key-derivation/key-derivation-aes256/functions/getFileKey.md +0 -66
  394. package/docs/crypto/key-derivation/key-derivation-aes256/functions/validatePasswordHash.md +0 -52
  395. package/docs/crypto/key-gen/key-gen-aes256/README.md +0 -12
  396. package/docs/crypto/key-gen/key-gen-aes256/functions/generateOandOe.md +0 -44
  397. package/docs/crypto/key-gen/key-gen-aes256/functions/generateUandUe.md +0 -38
  398. package/docs/crypto/key-gen/key-gen-rc4-128/README.md +0 -13
  399. package/docs/crypto/key-gen/key-gen-rc4-128/functions/computeOValueRc4_128.md +0 -38
  400. package/docs/crypto/key-gen/key-gen-rc4-128/functions/computeUValueRc4_128.md +0 -62
  401. package/docs/crypto/key-gen/key-gen-rc4-128/functions/decryptUserPasswordRc4_128.md +0 -38
  402. package/docs/crypto/key-gen/key-gen-rc4-40/README.md +0 -14
  403. package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeEncryptionKeyRc4_40.md +0 -49
  404. package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeORc4_40.md +0 -38
  405. package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeURc4_40.md +0 -50
  406. package/docs/crypto/key-gen/key-gen-rc4-40/functions/decryptUserPasswordRc4_40.md +0 -38
  407. package/docs/crypto/types/README.md +0 -11
  408. package/docs/crypto/types/interfaces/Cipher.md +0 -39
  409. package/docs/crypto/utils/README.md +0 -13
  410. package/docs/crypto/utils/functions/int32ToLittleEndianBytes.md +0 -31
  411. package/docs/crypto/utils/functions/padPassword.md +0 -33
  412. package/docs/crypto/utils/functions/removePdfPasswordPadding.md +0 -32
  413. package/docs/filters/ascii85/README.md +0 -11
  414. package/docs/filters/ascii85/functions/ascii85.md +0 -27
  415. package/docs/filters/asciihex/README.md +0 -11
  416. package/docs/filters/asciihex/functions/asciiHex.md +0 -27
  417. package/docs/filters/flate/README.md +0 -11
  418. package/docs/filters/flate/functions/flate.md +0 -26
  419. package/docs/filters/lzw/README.md +0 -11
  420. package/docs/filters/lzw/functions/lzw.md +0 -27
  421. package/docs/filters/pass-through/README.md +0 -11
  422. package/docs/filters/pass-through/functions/passthroughFilter.md +0 -25
  423. package/docs/filters/runlength/README.md +0 -11
  424. package/docs/filters/runlength/functions/runLength.md +0 -27
  425. package/docs/filters/types/README.md +0 -19
  426. package/docs/filters/types/interfaces/PdfFilter.md +0 -39
  427. package/docs/filters/types/type-aliases/PdfStreamFilterType.md +0 -9
  428. package/docs/filters/types/variables/PDF_FILTER_TYPES.md +0 -51
  429. package/docs/index/README.md +0 -235
  430. package/docs/pdf/README.md +0 -31
  431. package/docs/pdf/errors/README.md +0 -11
  432. package/docs/pdf/errors/classes/FoundCompressedObjectError.md +0 -56
  433. package/docs/pdf/pdf-document/README.md +0 -11
  434. package/docs/pdf/pdf-document/classes/PdfDocument.md +0 -876
  435. package/docs/pdf/pdf-reader/README.md +0 -11
  436. package/docs/pdf/pdf-reader/classes/PdfReader.md +0 -82
  437. package/docs/pdf/pdf-revision/README.md +0 -11
  438. package/docs/pdf/pdf-revision/classes/PdfRevision.md +0 -508
  439. package/docs/pdf/pdf-xref-lookup/README.md +0 -11
  440. package/docs/pdf/pdf-xref-lookup/classes/PdfXrefLookup.md +0 -421
  441. package/docs/security/crypt-filters/aesv2/README.md +0 -11
  442. package/docs/security/crypt-filters/aesv2/classes/AesV2CryptFilter.md +0 -274
  443. package/docs/security/crypt-filters/aesv3/README.md +0 -11
  444. package/docs/security/crypt-filters/aesv3/classes/AesV3CryptFilter.md +0 -275
  445. package/docs/security/crypt-filters/base/README.md +0 -15
  446. package/docs/security/crypt-filters/base/classes/PdfCryptFilter.md +0 -221
  447. package/docs/security/crypt-filters/base/type-aliases/CryptFilterOptions.md +0 -43
  448. package/docs/security/crypt-filters/identity/README.md +0 -11
  449. package/docs/security/crypt-filters/identity/classes/IdentityCryptFilter.md +0 -249
  450. package/docs/security/crypt-filters/v2/README.md +0 -11
  451. package/docs/security/crypt-filters/v2/classes/V2CryptFilter.md +0 -279
  452. package/docs/security/handlers/base/README.md +0 -17
  453. package/docs/security/handlers/base/classes/PdfSecurityHandler.md +0 -384
  454. package/docs/security/handlers/base/classes/PdfStandardSecurityHandler.md +0 -694
  455. package/docs/security/handlers/base/type-aliases/PdfSecurityHandlerOptions.md +0 -27
  456. package/docs/security/handlers/base/type-aliases/PdfStandardSecurityHandlerOptions.md +0 -43
  457. package/docs/security/handlers/pubSec/README.md +0 -11
  458. package/docs/security/handlers/pubSec/classes/PdfPublicKeySecurityHandler.md +0 -503
  459. package/docs/security/handlers/utils/README.md +0 -14
  460. package/docs/security/handlers/utils/functions/createFromDictionary.md +0 -56
  461. package/docs/security/handlers/utils/functions/createFromEncryptionOptions.md +0 -40
  462. package/docs/security/handlers/utils/functions/createStandardSecurityHandlerFromDictionary.md +0 -55
  463. package/docs/security/handlers/utils/functions/getCryptFilter.md +0 -35
  464. package/docs/security/handlers/v1/README.md +0 -11
  465. package/docs/security/handlers/v1/classes/PdfV1SecurityHandler.md +0 -779
  466. package/docs/security/handlers/v2/README.md +0 -11
  467. package/docs/security/handlers/v2/classes/PdfV2SecurityHandler.md +0 -783
  468. package/docs/security/handlers/v4/README.md +0 -11
  469. package/docs/security/handlers/v4/classes/PdfV4SecurityHandler.md +0 -907
  470. package/docs/security/handlers/v5/README.md +0 -11
  471. package/docs/security/handlers/v5/classes/PdfV5SecurityHandler.md +0 -926
  472. package/docs/security/types/README.md +0 -19
  473. package/docs/security/types/type-aliases/CryptFilterType.md +0 -15
  474. package/docs/security/types/type-aliases/PdfCryptFilterDictionary.md +0 -12
  475. package/docs/security/types/type-aliases/PdfEncryptionAlgorithmOptions.md +0 -11
  476. package/docs/security/types/type-aliases/PdfEncryptionAlgorithmType.md +0 -17
  477. package/docs/security/types/type-aliases/PdfEncryptionDictionary.md +0 -13
  478. package/docs/security/types/type-aliases/PdfEncryptionDictionaryObject.md +0 -11
  479. package/docs/security/types/type-aliases/PdfEncryptionOptions.md +0 -90
  480. package/docs/security/types/type-aliases/PdfEncryptionRecipient.md +0 -24
  481. package/docs/security/types/type-aliases/PdfId.md +0 -13
  482. package/docs/signing/README.md +0 -127
  483. package/docs/signing/document-security-store/README.md +0 -19
  484. package/docs/signing/document-security-store/classes/PdfCertObject.md +0 -443
  485. package/docs/signing/document-security-store/classes/PdfCrlObject.md +0 -443
  486. package/docs/signing/document-security-store/classes/PdfDocumentSecurityStoreDictionary.md +0 -416
  487. package/docs/signing/document-security-store/classes/PdfDocumentSecurityStoreObject.md +0 -563
  488. package/docs/signing/document-security-store/classes/PdfOcspObject.md +0 -443
  489. package/docs/signing/document-security-store/type-aliases/PdfVriObject.md +0 -12
  490. package/docs/signing/signatures/README.md +0 -55
  491. package/docs/signing/signatures/adbe-pkcs7-detached/README.md +0 -11
  492. package/docs/signing/signatures/adbe-pkcs7-detached/classes/PdfAdbePkcs7DetachedSignatureObject.md +0 -669
  493. package/docs/signing/signatures/adbe-pkcs7-sha1/README.md +0 -11
  494. package/docs/signing/signatures/adbe-pkcs7-sha1/classes/PdfAdbePkcs7Sha1SignatureObject.md +0 -667
  495. package/docs/signing/signatures/adbe-x509-rsa-sha1/README.md +0 -11
  496. package/docs/signing/signatures/adbe-x509-rsa-sha1/classes/PdfAdbePkcsX509RsaSha1SignatureObject.md +0 -651
  497. package/docs/signing/signatures/base/README.md +0 -16
  498. package/docs/signing/signatures/base/classes/PdfSignatureDictionary.md +0 -420
  499. package/docs/signing/signatures/base/classes/PdfSignatureObject.md +0 -584
  500. package/docs/signing/signatures/base/type-aliases/PdfSignatureSignOptions.md +0 -51
  501. package/docs/signing/signatures/etsi-cades-detached/README.md +0 -11
  502. package/docs/signing/signatures/etsi-cades-detached/classes/PdfEtsiCadesDetachedSignatureObject.md +0 -693
  503. package/docs/signing/signatures/etsi-rfc3161/README.md +0 -11
  504. package/docs/signing/signatures/etsi-rfc3161/classes/PdfEtsiRfc3161SignatureObject.md +0 -614
  505. package/docs/signing/signer/README.md +0 -11
  506. package/docs/signing/signer/classes/PdfSigner.md +0 -58
  507. package/docs/signing/types/README.md +0 -16
  508. package/docs/signing/types/type-aliases/PdfSignatureDictionaryEntries.md +0 -95
  509. package/docs/signing/types/type-aliases/PdfSignatureSubType.md +0 -17
  510. package/docs/signing/types/type-aliases/PdfSignatureType.md +0 -14
  511. package/docs/signing/types/type-aliases/RevocationInfo.md +0 -43
  512. package/docs/signing/types/type-aliases/SignaturePolicyDocument.md +0 -35
  513. package/docs/signing/types/type-aliases/TimeStampAuthority.md +0 -35
  514. package/docs/signing/utils/README.md +0 -11
  515. package/docs/signing/utils/functions/fetchRevocationInfo.md +0 -70
  516. package/docs/types/README.md +0 -21
  517. package/docs/types/type-aliases/ByteArray.md +0 -9
  518. package/docs/types/type-aliases/ChangeType.md +0 -9
  519. package/docs/types/type-aliases/DecodeParms.md +0 -33
  520. package/docs/types/type-aliases/HashAlgorithm.md +0 -9
  521. package/docs/types/type-aliases/PdfEncryptionAlgorithm.md +0 -9
  522. package/docs/types/type-aliases/PdfPermissions.md +0 -63
  523. package/docs/types/type-aliases/PdfVersion.md +0 -9
  524. package/docs/types/variables/PERMISSION_FLAGS.md +0 -9
  525. package/docs/utils/IterableReadableStream/README.md +0 -11
  526. package/docs/utils/IterableReadableStream/classes/IterableReadableStream.md +0 -103
  527. package/docs/utils/algos/README.md +0 -28
  528. package/docs/utils/algos/functions/aes128CbcNoPaddingEncrypt.md +0 -43
  529. package/docs/utils/algos/functions/aes128cbcDecrypt.md +0 -47
  530. package/docs/utils/algos/functions/aes128cbcEncrypt.md +0 -47
  531. package/docs/utils/algos/functions/aes256CbcNoPaddingDecrypt.md +0 -43
  532. package/docs/utils/algos/functions/aes256CbcNoPaddingEncrypt.md +0 -43
  533. package/docs/utils/algos/functions/aes256cbcDecrypt.md +0 -43
  534. package/docs/utils/algos/functions/aes256cbcEncrypt.md +0 -43
  535. package/docs/utils/algos/functions/aes256ecbDecrypt.md +0 -41
  536. package/docs/utils/algos/functions/aes256ecbEncrypt.md +0 -41
  537. package/docs/utils/algos/functions/deflateData.md +0 -31
  538. package/docs/utils/algos/functions/getRandomBytes.md +0 -35
  539. package/docs/utils/algos/functions/hash.md +0 -41
  540. package/docs/utils/algos/functions/inflateData.md +0 -35
  541. package/docs/utils/algos/functions/md5.md +0 -31
  542. package/docs/utils/algos/functions/sha1.md +0 -31
  543. package/docs/utils/algos/functions/sha256.md +0 -31
  544. package/docs/utils/algos/functions/sha384.md +0 -31
  545. package/docs/utils/algos/functions/sha512.md +0 -31
  546. package/docs/utils/assert/README.md +0 -12
  547. package/docs/utils/assert/functions/assert.md +0 -39
  548. package/docs/utils/assert/functions/assertIfDefined.md +0 -46
  549. package/docs/utils/bytesToHex/README.md +0 -11
  550. package/docs/utils/bytesToHex/functions/bytesToHex.md +0 -31
  551. package/docs/utils/bytesToHexBytes/README.md +0 -11
  552. package/docs/utils/bytesToHexBytes/functions/bytesToHexBytes.md +0 -32
  553. package/docs/utils/bytesToString/README.md +0 -11
  554. package/docs/utils/bytesToString/functions/bytesToString.md +0 -31
  555. package/docs/utils/concatUint8Arrays/README.md +0 -11
  556. package/docs/utils/concatUint8Arrays/functions/concatUint8Arrays.md +0 -31
  557. package/docs/utils/escapeString/README.md +0 -11
  558. package/docs/utils/escapeString/functions/escapeString.md +0 -32
  559. package/docs/utils/hexBytesToBytes/README.md +0 -11
  560. package/docs/utils/hexBytesToBytes/functions/hexBytesToBytes.md +0 -33
  561. package/docs/utils/hexBytesToString/README.md +0 -11
  562. package/docs/utils/hexBytesToString/functions/hexBytesToString.md +0 -31
  563. package/docs/utils/hexToBytes/README.md +0 -11
  564. package/docs/utils/hexToBytes/functions/hexToBytes.md +0 -31
  565. package/docs/utils/padBytes/README.md +0 -11
  566. package/docs/utils/padBytes/functions/padBytes.md +0 -41
  567. package/docs/utils/predictors/README.md +0 -11
  568. package/docs/utils/predictors/classes/Predictor.md +0 -306
  569. package/docs/utils/replaceInBuffer/README.md +0 -11
  570. package/docs/utils/replaceInBuffer/functions/replaceInBuffer.md +0 -65
  571. package/docs/utils/stringToBytes/README.md +0 -11
  572. package/docs/utils/stringToBytes/functions/stringToBytes.md +0 -32
  573. package/docs/utils/stringToHexBytes/README.md +0 -11
  574. package/docs/utils/stringToHexBytes/functions/stringToHexBytes.md +0 -33
  575. package/docs/utils/unescapeString/README.md +0 -11
  576. package/docs/utils/unescapeString/functions/unescapeString.md +0 -34
  577. package/examples/001-create-pdf.ts +0 -112
  578. package/examples/002-create-encrypted-pdf.ts +0 -121
  579. package/examples/003-sign-pdf.ts +0 -347
  580. package/examples/004-incremental-update.ts +0 -206
  581. package/examples/005-modify-acroform.ts +0 -374
  582. package/examples/006-tokeniser-example.ts +0 -131
  583. package/examples/007-decoder-example.ts +0 -197
  584. package/packages/pdf-lite/README.md +0 -3
  585. package/packages/pdf-lite/node_modules/.bin/playwright +0 -16
  586. package/packages/pdf-lite/node_modules/.bin/tsc +0 -16
  587. package/packages/pdf-lite/node_modules/.bin/tsserver +0 -16
  588. package/packages/pdf-lite/node_modules/.bin/vitest +0 -16
  589. package/packages/pdf-lite/package.json +0 -68
  590. package/packages/pdf-lite/scripts/create-encryption-tests.sh +0 -41
  591. package/packages/pdf-lite/scripts/gen-signing-keys.sh +0 -290
  592. package/packages/pdf-lite/scripts/generate-all-signing-keys.sh +0 -70
  593. package/packages/pdf-lite/src/core/decoder.ts +0 -454
  594. package/packages/pdf-lite/src/core/index.ts +0 -2
  595. package/packages/pdf-lite/src/core/objects/pdf-array.ts +0 -54
  596. package/packages/pdf-lite/src/core/objects/pdf-boolean.ts +0 -19
  597. package/packages/pdf-lite/src/core/objects/pdf-comment.ts +0 -50
  598. package/packages/pdf-lite/src/core/objects/pdf-date.ts +0 -74
  599. package/packages/pdf-lite/src/core/objects/pdf-dictionary.ts +0 -171
  600. package/packages/pdf-lite/src/core/objects/pdf-hexadecimal.ts +0 -54
  601. package/packages/pdf-lite/src/core/objects/pdf-indirect-object.ts +0 -137
  602. package/packages/pdf-lite/src/core/objects/pdf-name.ts +0 -19
  603. package/packages/pdf-lite/src/core/objects/pdf-null.ts +0 -15
  604. package/packages/pdf-lite/src/core/objects/pdf-number.ts +0 -98
  605. package/packages/pdf-lite/src/core/objects/pdf-object-reference.ts +0 -30
  606. package/packages/pdf-lite/src/core/objects/pdf-object.ts +0 -107
  607. package/packages/pdf-lite/src/core/objects/pdf-start-xref.ts +0 -39
  608. package/packages/pdf-lite/src/core/objects/pdf-stream.ts +0 -687
  609. package/packages/pdf-lite/src/core/objects/pdf-string.ts +0 -38
  610. package/packages/pdf-lite/src/core/objects/pdf-trailer.ts +0 -57
  611. package/packages/pdf-lite/src/core/objects/pdf-xref-table.ts +0 -264
  612. package/packages/pdf-lite/src/core/streams/object-stream.ts +0 -20
  613. package/packages/pdf-lite/src/core/tokeniser.ts +0 -687
  614. package/packages/pdf-lite/src/core/tokens/boolean-token.ts +0 -20
  615. package/packages/pdf-lite/src/core/tokens/byte-offset-token.ts +0 -20
  616. package/packages/pdf-lite/src/core/tokens/comment-token.ts +0 -32
  617. package/packages/pdf-lite/src/core/tokens/end-array-token.ts +0 -10
  618. package/packages/pdf-lite/src/core/tokens/end-dictionary-token.ts +0 -10
  619. package/packages/pdf-lite/src/core/tokens/end-object-token.ts +0 -10
  620. package/packages/pdf-lite/src/core/tokens/end-stream-token.ts +0 -11
  621. package/packages/pdf-lite/src/core/tokens/hexadecimal-token.ts +0 -22
  622. package/packages/pdf-lite/src/core/tokens/name-token.ts +0 -19
  623. package/packages/pdf-lite/src/core/tokens/null-token.ts +0 -9
  624. package/packages/pdf-lite/src/core/tokens/number-token.ts +0 -164
  625. package/packages/pdf-lite/src/core/tokens/object-reference-token.ts +0 -24
  626. package/packages/pdf-lite/src/core/tokens/start-array-token.ts +0 -10
  627. package/packages/pdf-lite/src/core/tokens/start-dictionary-token.ts +0 -10
  628. package/packages/pdf-lite/src/core/tokens/start-object-token.ts +0 -28
  629. package/packages/pdf-lite/src/core/tokens/start-stream-token.ts +0 -52
  630. package/packages/pdf-lite/src/core/tokens/start-xref-token.ts +0 -10
  631. package/packages/pdf-lite/src/core/tokens/stream-chunk-token.ts +0 -8
  632. package/packages/pdf-lite/src/core/tokens/string-token.ts +0 -17
  633. package/packages/pdf-lite/src/core/tokens/token.ts +0 -43
  634. package/packages/pdf-lite/src/core/tokens/trailer-token.ts +0 -12
  635. package/packages/pdf-lite/src/core/tokens/whitespace-token.ts +0 -43
  636. package/packages/pdf-lite/src/core/tokens/xref-table-entry-token.ts +0 -65
  637. package/packages/pdf-lite/src/core/tokens/xref-table-section-start-token.ts +0 -31
  638. package/packages/pdf-lite/src/core/tokens/xref-table-start-token.ts +0 -13
  639. package/packages/pdf-lite/src/crypto/key-derivation/key-derivation-aes256.ts +0 -213
  640. package/packages/pdf-lite/src/crypto/types.ts +0 -6
  641. package/packages/pdf-lite/src/filters/lzw.ts +0 -144
  642. package/packages/pdf-lite/src/index.ts +0 -4
  643. package/packages/pdf-lite/src/pdf/index.ts +0 -4
  644. package/packages/pdf-lite/src/pdf/pdf-xref-lookup.ts +0 -527
  645. package/packages/pdf-lite/src/security/handlers/base.ts +0 -625
  646. package/packages/pdf-lite/src/security/handlers/pubSec.ts +0 -413
  647. package/packages/pdf-lite/src/security/handlers/utils.ts +0 -304
  648. package/packages/pdf-lite/src/security/handlers/v1.ts +0 -225
  649. package/packages/pdf-lite/src/security/handlers/v4.ts +0 -379
  650. package/packages/pdf-lite/src/security/handlers/v5.ts +0 -298
  651. package/packages/pdf-lite/src/signing/document-security-store.ts +0 -224
  652. package/packages/pdf-lite/src/signing/index.ts +0 -3
  653. package/packages/pdf-lite/src/signing/signatures/adbe-pkcs7-detached.ts +0 -154
  654. package/packages/pdf-lite/src/signing/signatures/adbe-pkcs7-sha1.ts +0 -161
  655. package/packages/pdf-lite/src/signing/signatures/adbe-x509-rsa-sha1.ts +0 -106
  656. package/packages/pdf-lite/src/signing/signatures/base.ts +0 -229
  657. package/packages/pdf-lite/src/signing/signatures/etsi-cades-detached.ts +0 -229
  658. package/packages/pdf-lite/src/signing/signatures/index.ts +0 -6
  659. package/packages/pdf-lite/src/signing/signer.ts +0 -120
  660. package/packages/pdf-lite/src/types.ts +0 -44
  661. package/packages/pdf-lite/src/utils/escapeString.ts +0 -49
  662. package/packages/pdf-lite/src/utils/unescapeString.ts +0 -123
  663. package/packages/pdf-lite/test/acceptance/__snapshots__/versions.node.test.ts.snap +0 -60766
  664. package/packages/pdf-lite/test/acceptance/fixtures/1.3/basic.pdf +0 -0
  665. package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-aes-128.pdf +0 -0
  666. package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-aes-256.pdf +0 -0
  667. package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-rc4-128.pdf +0 -0
  668. package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-rc4-40.pdf +0 -0
  669. package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic.pdf +0 -0
  670. package/packages/pdf-lite/test/acceptance/fixtures/1.5/basic.pdf +0 -0
  671. package/packages/pdf-lite/test/acceptance/fixtures/1.6/basic.pdf +0 -0
  672. package/packages/pdf-lite/test/acceptance/fixtures/1.7/basic.pdf +0 -0
  673. package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-aes-128.pdf +0 -43
  674. package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-aes-256.pdf +0 -43
  675. package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-rc4-128.pdf +0 -43
  676. package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-rc4-40.pdf +0 -44
  677. package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic.pdf +0 -79
  678. package/packages/pdf-lite/test/acceptance/versions.node.test.ts +0 -41
  679. package/packages/pdf-lite/test/unit/__snapshots__/decoder.node.test.ts.snap +0 -86947
  680. package/packages/pdf-lite/test/unit/__snapshots__/tokeniser.node.test.ts.snap +0 -131829
  681. package/packages/pdf-lite/test/unit/ciphers.test.ts +0 -61
  682. package/packages/pdf-lite/test/unit/decoder.node.test.ts +0 -21
  683. package/packages/pdf-lite/test/unit/decoder.test.ts +0 -567
  684. package/packages/pdf-lite/test/unit/filters.test.ts +0 -67
  685. package/packages/pdf-lite/test/unit/fixtures/basic.pdf +0 -0
  686. package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-aes-128.pdf +0 -0
  687. package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-aes-256.pdf +0 -0
  688. package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-rc4-128.pdf +0 -0
  689. package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-rc4-40.pdf +0 -43
  690. package/packages/pdf-lite/test/unit/fixtures/protectedAdobeLivecycle.pdf +0 -0
  691. package/packages/pdf-lite/test/unit/fixtures/rsa-2048/index.ts +0 -187
  692. package/packages/pdf-lite/test/unit/fixtures/template.pdf +0 -0
  693. package/packages/pdf-lite/test/unit/incremental-update.test.ts +0 -0
  694. package/packages/pdf-lite/test/unit/objects.test.ts +0 -0
  695. package/packages/pdf-lite/test/unit/pdf-document-signing.test.ts +0 -0
  696. package/packages/pdf-lite/test/unit/pdf-revision.test.ts +0 -195
  697. package/packages/pdf-lite/test/unit/pdf.browser.test.ts +0 -0
  698. package/packages/pdf-lite/test/unit/predictors.test.ts +0 -226
  699. package/packages/pdf-lite/test/unit/ref.test.ts +0 -158
  700. package/packages/pdf-lite/test/unit/security-handlers.test.ts +0 -645
  701. package/packages/pdf-lite/test/unit/serializer.test.ts +0 -81
  702. package/packages/pdf-lite/test/unit/signature-objects.test.ts +0 -814
  703. package/packages/pdf-lite/test/unit/string-escaping.test.ts +0 -84
  704. package/packages/pdf-lite/test/unit/tokeniser.node.test.ts +0 -38
  705. package/packages/pdf-lite/test/unit/tokeniser.test.ts +0 -1213
  706. package/packages/pdf-lite/test/unit/utils.test.ts +0 -248
  707. package/packages/pdf-lite/test/unit/xref-lookup.test.ts +0 -72
  708. package/packages/pdf-lite/tsconfig.json +0 -4
  709. package/packages/pdf-lite/tsconfig.prod.json +0 -8
  710. package/packages/pdf-lite/typedoc.json +0 -14
  711. package/packages/pdf-lite/vitest.config.ts +0 -43
  712. package/pnpm-workspace.yaml +0 -2
  713. package/renovate.json +0 -34
  714. package/scripts/build-examples.ts +0 -30
  715. package/scripts/bump-version.sh +0 -56
  716. package/scripts/gen-html-docs.sh +0 -21
  717. package/scripts/gen-md-docs.sh +0 -15
  718. package/scripts/prepare-release.sh +0 -33
  719. package/tsconfig.json +0 -22
  720. package/tsconfig.prod.json +0 -12
  721. package/typedoc.json +0 -34
@@ -0,0 +1,33 @@
1
+ import { Ref } from '../ref';
2
+ import { PdfByteOffsetToken } from '../tokens/byte-offset-token';
3
+ import { PdfTrailerToken } from '../tokens/trailer-token';
4
+ import { PdfWhitespaceToken } from '../tokens/whitespace-token';
5
+ import { PdfDictionary } from './pdf-dictionary';
6
+ import { PdfObject } from './pdf-object';
7
+ export class PdfTrailer extends PdfObject {
8
+ dict;
9
+ offset = new Ref(0);
10
+ constructor(entries) {
11
+ super();
12
+ this.dict =
13
+ entries instanceof PdfDictionary
14
+ ? entries
15
+ : new PdfDictionary(entries);
16
+ }
17
+ tokenize() {
18
+ return [
19
+ new PdfByteOffsetToken(this.offset),
20
+ new PdfTrailerToken(),
21
+ ...(this.dict.preTokens ? [] : [PdfWhitespaceToken.NEWLINE]),
22
+ ...this.dict.toTokens(),
23
+ ];
24
+ }
25
+ clone() {
26
+ return new PdfTrailer(this.dict.clone());
27
+ }
28
+ isModified() {
29
+ return (super.isModified() ||
30
+ this.dict.isModified() ||
31
+ this.offset.isModified);
32
+ }
33
+ }
@@ -0,0 +1,48 @@
1
+ import { Ref } from '../ref';
2
+ import { PdfXRefTableEntryToken } from '../tokens/xref-table-entry-token';
3
+ import { PdfXRefTableSectionStartToken } from '../tokens/xref-table-section-start-token';
4
+ import { PdfIndirectObject } from './pdf-indirect-object';
5
+ import { PdfNumber } from './pdf-number';
6
+ import { PdfObject } from './pdf-object';
7
+ export declare class PdfXRefTableEntry extends PdfObject {
8
+ objectNumber: PdfNumber;
9
+ generationNumber: PdfNumber;
10
+ byteOffset: PdfNumber;
11
+ inUse: boolean;
12
+ constructor(options: {
13
+ byteOffset: number | PdfNumber | Ref<number>;
14
+ objectNumber: number | PdfNumber;
15
+ generationNumber: number | PdfNumber;
16
+ inUse: boolean;
17
+ });
18
+ protected tokenize(): PdfXRefTableEntryToken[];
19
+ clone(): this;
20
+ isModified(): boolean;
21
+ }
22
+ export declare class PdfXRefTableSectionHeader extends PdfObject {
23
+ startObjectNumber: PdfNumber;
24
+ entryCount: PdfNumber;
25
+ constructor(options: {
26
+ startObjectNumber: number | PdfNumber;
27
+ entryCount: number | PdfNumber;
28
+ });
29
+ protected tokenize(): PdfXRefTableSectionStartToken[];
30
+ clone(): this;
31
+ }
32
+ export declare class PdfXRefTable extends PdfObject {
33
+ sections: PdfXRefTableSectionHeader[];
34
+ entries: PdfXRefTableEntry[];
35
+ offset: Ref<number>;
36
+ constructor(options?: {
37
+ sections?: PdfXRefTableSectionHeader[];
38
+ entries?: PdfXRefTableEntry[];
39
+ offset?: Ref<number> | number;
40
+ });
41
+ isModified(): boolean;
42
+ addEntryForObject(obj: PdfIndirectObject): void;
43
+ getEntry(objectNumber: number): PdfXRefTableEntry | undefined;
44
+ get lastSection(): PdfXRefTableSectionHeader | null;
45
+ protected tokenize(): import("../tokens/token").PdfToken[];
46
+ private sortEntriesIntoSections;
47
+ clone(): this;
48
+ }
@@ -0,0 +1,183 @@
1
+ import { Ref } from '../ref';
2
+ import { PdfByteOffsetToken } from '../tokens/byte-offset-token';
3
+ import { PdfWhitespaceToken } from '../tokens/whitespace-token';
4
+ import { PdfXRefTableEntryToken } from '../tokens/xref-table-entry-token';
5
+ import { PdfXRefTableSectionStartToken } from '../tokens/xref-table-section-start-token';
6
+ import { PdfXRefTableStartToken } from '../tokens/xref-table-start-token';
7
+ import { PdfNumber } from './pdf-number';
8
+ import { PdfObject } from './pdf-object';
9
+ export class PdfXRefTableEntry extends PdfObject {
10
+ objectNumber;
11
+ generationNumber;
12
+ byteOffset;
13
+ inUse;
14
+ constructor(options) {
15
+ super();
16
+ this.byteOffset =
17
+ options.byteOffset instanceof PdfNumber
18
+ ? options.byteOffset
19
+ : new PdfNumber({
20
+ value: options.byteOffset,
21
+ padTo: 10,
22
+ });
23
+ this.byteOffset.isByteOffset = true;
24
+ this.objectNumber = new PdfNumber(options.objectNumber);
25
+ this.generationNumber =
26
+ options.generationNumber instanceof PdfNumber
27
+ ? options.generationNumber
28
+ : new PdfNumber({
29
+ value: options.generationNumber,
30
+ padTo: 5,
31
+ });
32
+ this.inUse = options.inUse;
33
+ }
34
+ tokenize() {
35
+ return [
36
+ new PdfXRefTableEntryToken(this.byteOffset.toToken(), this.generationNumber.toToken(), this.objectNumber.toToken(), this.inUse),
37
+ ];
38
+ }
39
+ clone() {
40
+ return new PdfXRefTableEntry({
41
+ byteOffset: this.byteOffset.clone(),
42
+ objectNumber: this.objectNumber.clone(),
43
+ generationNumber: this.generationNumber.clone(),
44
+ inUse: this.inUse,
45
+ });
46
+ }
47
+ isModified() {
48
+ return (super.isModified() ||
49
+ this.byteOffset.isModified() ||
50
+ this.objectNumber.isModified() ||
51
+ this.generationNumber.isModified());
52
+ }
53
+ }
54
+ export class PdfXRefTableSectionHeader extends PdfObject {
55
+ startObjectNumber;
56
+ entryCount;
57
+ constructor(options) {
58
+ super();
59
+ this.startObjectNumber = new PdfNumber(options.startObjectNumber);
60
+ this.entryCount = new PdfNumber(options.entryCount);
61
+ }
62
+ tokenize() {
63
+ return [
64
+ new PdfXRefTableSectionStartToken(this.startObjectNumber.value, this.entryCount.value),
65
+ ];
66
+ }
67
+ clone() {
68
+ return new PdfXRefTableSectionHeader({
69
+ startObjectNumber: this.startObjectNumber.clone(),
70
+ entryCount: this.entryCount.clone(),
71
+ });
72
+ }
73
+ }
74
+ export class PdfXRefTable extends PdfObject {
75
+ sections;
76
+ entries;
77
+ offset = new Ref(0);
78
+ constructor(options) {
79
+ super();
80
+ this.sections = options?.sections ?? [];
81
+ this.entries = options?.entries ?? [];
82
+ if (options?.offset) {
83
+ this.offset.update(options.offset);
84
+ }
85
+ }
86
+ isModified() {
87
+ return (super.isModified() ||
88
+ this.sections.some((section) => section.isModified()) ||
89
+ this.entries.some((entry) => entry.isModified()) ||
90
+ this.offset.isModified);
91
+ }
92
+ addEntryForObject(obj) {
93
+ const foundEntry = this.entries.find((entry) => entry.objectNumber.value === obj.objectNumber);
94
+ if (foundEntry) {
95
+ return;
96
+ }
97
+ const newEntry = new PdfXRefTableEntry({
98
+ objectNumber: obj.objectNumber,
99
+ generationNumber: obj.generationNumber,
100
+ byteOffset: obj.offset,
101
+ inUse: true,
102
+ });
103
+ this.entries.push(newEntry);
104
+ }
105
+ getEntry(objectNumber) {
106
+ return this.entries.find((entry) => entry.objectNumber.value === objectNumber);
107
+ }
108
+ get lastSection() {
109
+ if (this.sections.length === 0) {
110
+ return null;
111
+ }
112
+ return this.sections[this.sections.length - 1];
113
+ }
114
+ tokenize() {
115
+ const innerTokens = this.sortEntriesIntoSections().flatMap(({ section, entries }) => [
116
+ ...section.toTokens(),
117
+ ...entries.flatMap((entry) => entry.toTokens()),
118
+ ]);
119
+ for (let i = 0; i < innerTokens.length; i++) {
120
+ const previousToken = innerTokens[i - 1];
121
+ const currentToken = innerTokens[i];
122
+ // Only insert newline if previous token is not whitespace AND current token is not whitespace
123
+ const previousIsWhitespace = previousToken instanceof PdfWhitespaceToken;
124
+ const currentIsWhitespace = currentToken instanceof PdfWhitespaceToken;
125
+ if (!previousIsWhitespace && !currentIsWhitespace) {
126
+ innerTokens.splice(i, 0, PdfWhitespaceToken.NEWLINE);
127
+ i++; // Skip the newly inserted token
128
+ }
129
+ }
130
+ return [
131
+ new PdfByteOffsetToken(this.offset),
132
+ new PdfXRefTableStartToken(),
133
+ ...innerTokens,
134
+ ];
135
+ }
136
+ sortEntriesIntoSections() {
137
+ const sections = [];
138
+ let currentSection = null;
139
+ let currentEntries = [];
140
+ const sortedEntries = this.entries.sort((a, b) => a.objectNumber.value - b.objectNumber.value);
141
+ for (let i = 0; i < sortedEntries.length; i++) {
142
+ const last = i > 0 ? sortedEntries[i - 1] : null;
143
+ const entry = sortedEntries[i];
144
+ if (!last ||
145
+ entry.objectNumber.value !== last.objectNumber.value + 1) {
146
+ if (currentSection) {
147
+ sections.push({
148
+ section: currentSection,
149
+ entries: currentEntries,
150
+ });
151
+ }
152
+ currentSection =
153
+ this.sections.find((x) => x.startObjectNumber.value ===
154
+ entry.objectNumber.value) ??
155
+ new PdfXRefTableSectionHeader({
156
+ startObjectNumber: entry.objectNumber,
157
+ entryCount: 1,
158
+ });
159
+ currentEntries = [entry];
160
+ }
161
+ else {
162
+ currentEntries.push(entry);
163
+ }
164
+ if (currentSection) {
165
+ currentSection.entryCount.value = currentEntries.length;
166
+ }
167
+ }
168
+ if (currentSection) {
169
+ sections.push({
170
+ section: currentSection,
171
+ entries: currentEntries,
172
+ });
173
+ }
174
+ return sections;
175
+ }
176
+ clone() {
177
+ return new PdfXRefTable({
178
+ sections: this.sections.map((s) => s.clone()),
179
+ entries: this.entries.map((e) => e.clone()),
180
+ offset: new Ref(this.offset.resolve()),
181
+ });
182
+ }
183
+ }
@@ -5,18 +5,17 @@
5
5
  * @typeParam I - The input item type
6
6
  * @typeParam O - The output item type
7
7
  */
8
- export abstract class Parser<I, O> {
8
+ export declare abstract class Parser<I, O> {
9
9
  /**
10
10
  * Feeds input items to the parser.
11
11
  *
12
12
  * @param input - Input items to process
13
13
  */
14
- abstract feed(...input: I[]): void
15
-
14
+ abstract feed(...input: I[]): void;
16
15
  /**
17
16
  * Generates output items from the fed input.
18
17
  *
19
18
  * @returns A generator yielding output items
20
19
  */
21
- abstract nextItems(): Generator<O>
20
+ abstract nextItems(): Generator<O>;
22
21
  }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Abstract base class for parsers that transform input items to output items.
3
+ * Provides a common interface for feeding input and generating output.
4
+ *
5
+ * @typeParam I - The input item type
6
+ * @typeParam O - The output item type
7
+ */
8
+ export class Parser {
9
+ }
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Callback function type for ref update notifications.
3
+ *
4
+ * @typeParam T - The value type of the ref
5
+ */
6
+ export type RefUpdateCallback<T> = (oldValue: T, newValue: T) => void;
7
+ /**
8
+ * A mutable reference wrapper that supports value updates and change notifications.
9
+ * Can hold a direct value or reference another Ref, forming reference chains.
10
+ *
11
+ * @typeParam T - The value type being referenced
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const ref = new Ref(42)
16
+ * ref.onUpdate((old, newVal) => console.log(`Changed from ${old} to ${newVal}`))
17
+ * ref.update(100) // Logs: Changed from 42 to 100
18
+ * ```
19
+ */
20
+ export declare class Ref<T> {
21
+ /** The current value or a reference to another Ref */
22
+ value: T | Ref<T>;
23
+ /** Registered callbacks for update notifications */
24
+ callbacks: Array<RefUpdateCallback<T>>;
25
+ isModified: boolean;
26
+ /**
27
+ * Creates a new Ref with an initial value.
28
+ *
29
+ * @param value - The initial value or another Ref to chain
30
+ * @throws Error if attempting to create a self-referencing Ref
31
+ */
32
+ constructor(value: T | Ref<T>);
33
+ /**
34
+ * Updates the reference to a new value or another Ref.
35
+ * Notifies all registered callbacks of the change.
36
+ *
37
+ * @param newValue - The new value or Ref to point to
38
+ */
39
+ update(newValue: T | Ref<T>): void;
40
+ /**
41
+ * Resolves the reference chain to get the final value.
42
+ *
43
+ * @returns The resolved value of type T
44
+ */
45
+ resolve(): T;
46
+ /**
47
+ * Compares this Ref's resolved value with another value or Ref.
48
+ *
49
+ * @param other - The value or Ref to compare against
50
+ * @returns True if the resolved values are equal
51
+ */
52
+ equals(other?: Ref<T> | T): boolean;
53
+ /**
54
+ * Registers a callback to be notified when the value changes.
55
+ *
56
+ * @param callback - The function to call on value updates
57
+ */
58
+ onUpdate(callback: RefUpdateCallback<T>): void;
59
+ }
@@ -1,10 +1,3 @@
1
- /**
2
- * Callback function type for ref update notifications.
3
- *
4
- * @typeParam T - The value type of the ref
5
- */
6
- export type RefUpdateCallback<T> = (oldValue: T, newValue: T) => void
7
-
8
1
  /**
9
2
  * A mutable reference wrapper that supports value updates and change notifications.
10
3
  * Can hold a direct value or reference another Ref, forming reference chains.
@@ -18,85 +11,74 @@ export type RefUpdateCallback<T> = (oldValue: T, newValue: T) => void
18
11
  * ref.update(100) // Logs: Changed from 42 to 100
19
12
  * ```
20
13
  */
21
- export class Ref<T> {
14
+ export class Ref {
22
15
  /** The current value or a reference to another Ref */
23
- value: T | Ref<T>
16
+ value;
24
17
  /** Registered callbacks for update notifications */
25
- callbacks: Array<RefUpdateCallback<T>> = []
26
- isModified: boolean = false
27
-
18
+ callbacks = [];
19
+ isModified = false;
28
20
  /**
29
21
  * Creates a new Ref with an initial value.
30
22
  *
31
23
  * @param value - The initial value or another Ref to chain
32
24
  * @throws Error if attempting to create a self-referencing Ref
33
25
  */
34
- constructor(value: T | Ref<T>) {
26
+ constructor(value) {
35
27
  if (value === this) {
36
- throw new Error('Cannot create Ref to itself')
28
+ throw new Error('Cannot create Ref to itself');
37
29
  }
38
- this.value = value
30
+ this.value = value;
39
31
  }
40
-
41
32
  /**
42
33
  * Updates the reference to a new value or another Ref.
43
34
  * Notifies all registered callbacks of the change.
44
35
  *
45
36
  * @param newValue - The new value or Ref to point to
46
37
  */
47
- update(newValue: T | Ref<T>) {
38
+ update(newValue) {
48
39
  if (newValue === this) {
49
- return
40
+ return;
50
41
  }
51
-
52
- const resolvedNewValue =
53
- newValue instanceof Ref ? newValue.resolve() : newValue
54
-
55
- const oldValue = this.resolve()
42
+ const resolvedNewValue = newValue instanceof Ref ? newValue.resolve() : newValue;
43
+ const oldValue = this.resolve();
56
44
  if (oldValue !== resolvedNewValue) {
57
- this.isModified = true
45
+ this.isModified = true;
58
46
  }
59
-
60
- this.value = newValue
61
- this.callbacks.forEach((cb) => cb(oldValue, this.resolve()))
47
+ this.value = newValue;
48
+ this.callbacks.forEach((cb) => cb(oldValue, this.resolve()));
62
49
  }
63
-
64
50
  /**
65
51
  * Resolves the reference chain to get the final value.
66
52
  *
67
53
  * @returns The resolved value of type T
68
54
  */
69
- resolve(): T {
55
+ resolve() {
70
56
  if (this.value instanceof Ref) {
71
- return this.value.resolve()
57
+ return this.value.resolve();
72
58
  }
73
- return this.value
59
+ return this.value;
74
60
  }
75
-
76
61
  /**
77
62
  * Compares this Ref's resolved value with another value or Ref.
78
63
  *
79
64
  * @param other - The value or Ref to compare against
80
65
  * @returns True if the resolved values are equal
81
66
  */
82
- equals(other?: Ref<T> | T): boolean {
67
+ equals(other) {
83
68
  if (other === undefined) {
84
- return false
69
+ return false;
85
70
  }
86
-
87
71
  if (other instanceof Ref) {
88
- return this.resolve() === other.resolve()
72
+ return this.resolve() === other.resolve();
89
73
  }
90
-
91
- return this.resolve() === other
74
+ return this.resolve() === other;
92
75
  }
93
-
94
76
  /**
95
77
  * Registers a callback to be notified when the value changes.
96
78
  *
97
79
  * @param callback - The function to call on value updates
98
80
  */
99
- onUpdate(callback: RefUpdateCallback<T>): void {
100
- this.callbacks.push(callback)
81
+ onUpdate(callback) {
82
+ this.callbacks.push(callback);
101
83
  }
102
84
  }
@@ -0,0 +1,36 @@
1
+ import { ByteArray } from '../types';
2
+ import { Parser } from './parser';
3
+ import { PdfToken } from './tokens/token';
4
+ /**
5
+ * Serializes PDF tokens into a byte stream.
6
+ * Handles byte offset calculation and token serialization.
7
+ */
8
+ export declare class PdfTokenSerializer extends Parser<PdfToken, number> {
9
+ /** Current byte offset in the output stream */
10
+ offset: number;
11
+ private buffer;
12
+ /**
13
+ * Feeds tokens into the serializer buffer.
14
+ *
15
+ * @param input - PDF tokens to serialize
16
+ */
17
+ feed(...input: PdfToken[]): void;
18
+ /**
19
+ * Generates bytes from the buffered tokens.
20
+ * Updates byte offset tokens as they are encountered.
21
+ *
22
+ * @returns A generator yielding individual bytes
23
+ */
24
+ nextItems(): Generator<number>;
25
+ /**
26
+ * Pre-calculates byte offsets for all byte offset tokens in the buffer.
27
+ * Does not consume the buffer.
28
+ */
29
+ calculateOffsets(): void;
30
+ /**
31
+ * Serializes all buffered tokens to a byte array.
32
+ *
33
+ * @returns The serialized PDF as a Uint8Array
34
+ */
35
+ toBytes(): ByteArray;
36
+ }
@@ -1,68 +1,58 @@
1
- import { ByteArray } from '../types'
2
- import { Parser } from './parser'
3
- import { PdfByteOffsetToken } from './tokens/byte-offset-token'
4
- import { PdfToken } from './tokens/token'
5
-
1
+ import { Parser } from './parser';
2
+ import { PdfByteOffsetToken } from './tokens/byte-offset-token';
6
3
  /**
7
4
  * Serializes PDF tokens into a byte stream.
8
5
  * Handles byte offset calculation and token serialization.
9
6
  */
10
- export class PdfTokenSerializer extends Parser<PdfToken, number> {
7
+ export class PdfTokenSerializer extends Parser {
11
8
  /** Current byte offset in the output stream */
12
- offset: number = 0
13
- private buffer: PdfToken[] = []
14
-
9
+ offset = 0;
10
+ buffer = [];
15
11
  /**
16
12
  * Feeds tokens into the serializer buffer.
17
13
  *
18
14
  * @param input - PDF tokens to serialize
19
15
  */
20
- feed(...input: PdfToken[]): void {
21
- this.buffer.push(...input)
16
+ feed(...input) {
17
+ this.buffer.push(...input);
22
18
  }
23
-
24
19
  /**
25
20
  * Generates bytes from the buffered tokens.
26
21
  * Updates byte offset tokens as they are encountered.
27
22
  *
28
23
  * @returns A generator yielding individual bytes
29
24
  */
30
- *nextItems(): Generator<number> {
25
+ *nextItems() {
31
26
  while (this.buffer.length) {
32
- const obj = this.buffer.shift()!
33
-
27
+ const obj = this.buffer.shift();
34
28
  if (obj instanceof PdfByteOffsetToken) {
35
- obj.update(this.offset)
36
- continue
29
+ obj.update(this.offset);
30
+ continue;
37
31
  }
38
-
39
- const bytes = obj.toBytes()
40
- yield* bytes
41
- this.offset += bytes.length
32
+ const bytes = obj.toBytes();
33
+ yield* bytes;
34
+ this.offset += bytes.length;
42
35
  }
43
36
  }
44
-
45
37
  /**
46
38
  * Pre-calculates byte offsets for all byte offset tokens in the buffer.
47
39
  * Does not consume the buffer.
48
40
  */
49
- calculateOffsets(): void {
50
- let currentOffset = 0
51
-
41
+ calculateOffsets() {
42
+ let currentOffset = 0;
52
43
  for (const token of this.buffer) {
53
44
  if (token instanceof PdfByteOffsetToken) {
54
- token.update(currentOffset)
45
+ token.update(currentOffset);
55
46
  }
56
- currentOffset += token.toBytes().length
47
+ currentOffset += token.toBytes().length;
57
48
  }
58
49
  }
59
-
60
50
  /**
61
51
  * Serializes all buffered tokens to a byte array.
62
52
  *
63
53
  * @returns The serialized PDF as a Uint8Array
64
54
  */
65
- toBytes(): ByteArray {
66
- return new Uint8Array(Array.from(this.nextItems()))
55
+ toBytes() {
56
+ return new Uint8Array(Array.from(this.nextItems()));
67
57
  }
68
58
  }
@@ -0,0 +1,6 @@
1
+ import { PdfObject } from '../objects/pdf-object';
2
+ import { ByteArray } from '../../types';
3
+ import { IterableReadableStream } from '../../utils/IterableReadableStream';
4
+ export declare class PdfObjectStream extends IterableReadableStream<PdfObject> {
5
+ constructor(input: AsyncIterable<ByteArray> | Iterable<ByteArray>);
6
+ }
@@ -0,0 +1,15 @@
1
+ import { IterableReadableStream } from '../../utils/IterableReadableStream';
2
+ import { pdfDecoderAsync } from '../generators';
3
+ export class PdfObjectStream extends IterableReadableStream {
4
+ constructor(input) {
5
+ super({
6
+ async start(controller) {
7
+ const decoder = pdfDecoderAsync(input);
8
+ for await (const obj of decoder) {
9
+ controller.enqueue(obj);
10
+ }
11
+ controller.close();
12
+ },
13
+ });
14
+ }
15
+ }