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.
- package/dist/core/decoder.d.ts +39 -0
- package/dist/core/decoder.js +367 -0
- package/dist/core/generators.d.ts +37 -0
- package/{packages/pdf-lite/src/core/generators.ts → dist/core/generators.js} +36 -67
- package/dist/core/incremental-parser.d.ts +103 -0
- package/{packages/pdf-lite/src/core/incremental-parser.ts → dist/core/incremental-parser.js} +63 -100
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.js +2 -0
- package/dist/core/objects/pdf-array.d.ts +12 -0
- package/dist/core/objects/pdf-array.js +42 -0
- package/dist/core/objects/pdf-boolean.d.ts +8 -0
- package/dist/core/objects/pdf-boolean.js +15 -0
- package/dist/core/objects/pdf-comment.d.ts +18 -0
- package/dist/core/objects/pdf-comment.js +39 -0
- package/dist/core/objects/pdf-date.d.ts +5 -0
- package/dist/core/objects/pdf-date.js +40 -0
- package/dist/core/objects/pdf-dictionary.d.ts +22 -0
- package/dist/core/objects/pdf-dictionary.js +136 -0
- package/dist/core/objects/pdf-hexadecimal.d.ts +17 -0
- package/dist/core/objects/pdf-hexadecimal.js +42 -0
- package/dist/core/objects/pdf-indirect-object.d.ts +27 -0
- package/dist/core/objects/pdf-indirect-object.js +100 -0
- package/dist/core/objects/pdf-name.d.ts +8 -0
- package/dist/core/objects/pdf-name.js +15 -0
- package/dist/core/objects/pdf-null.d.ts +7 -0
- package/dist/core/objects/pdf-null.js +11 -0
- package/dist/core/objects/pdf-number.d.ts +25 -0
- package/dist/core/objects/pdf-number.js +77 -0
- package/dist/core/objects/pdf-object-reference.d.ts +9 -0
- package/dist/core/objects/pdf-object-reference.js +19 -0
- package/dist/core/objects/pdf-object.d.ts +30 -0
- package/dist/core/objects/pdf-object.js +77 -0
- package/dist/core/objects/pdf-start-xref.d.ts +10 -0
- package/dist/core/objects/pdf-start-xref.js +32 -0
- package/dist/core/objects/pdf-stream.d.ts +100 -0
- package/dist/core/objects/pdf-stream.js +521 -0
- package/dist/core/objects/pdf-string.d.ts +15 -0
- package/dist/core/objects/pdf-string.js +30 -0
- package/dist/core/objects/pdf-trailer.d.ts +26 -0
- package/dist/core/objects/pdf-trailer.js +33 -0
- package/dist/core/objects/pdf-xref-table.d.ts +48 -0
- package/dist/core/objects/pdf-xref-table.js +183 -0
- package/{packages/pdf-lite/src/core/parser.ts → dist/core/parser.d.ts} +3 -4
- package/dist/core/parser.js +9 -0
- package/dist/core/ref.d.ts +59 -0
- package/{packages/pdf-lite/src/core/ref.ts → dist/core/ref.js} +23 -41
- package/dist/core/serializer.d.ts +36 -0
- package/{packages/pdf-lite/src/core/serializer.ts → dist/core/serializer.js} +20 -30
- package/dist/core/streams/object-stream.d.ts +6 -0
- package/dist/core/streams/object-stream.js +15 -0
- package/dist/core/tokeniser.d.ts +98 -0
- package/dist/core/tokeniser.js +552 -0
- package/dist/core/tokens/boolean-token.d.ts +8 -0
- package/dist/core/tokens/boolean-token.js +15 -0
- package/dist/core/tokens/byte-offset-token.d.ts +8 -0
- package/dist/core/tokens/byte-offset-token.js +15 -0
- package/dist/core/tokens/comment-token.d.ts +10 -0
- package/dist/core/tokens/comment-token.js +26 -0
- package/dist/core/tokens/end-array-token.d.ts +4 -0
- package/dist/core/tokens/end-array-token.js +8 -0
- package/dist/core/tokens/end-dictionary-token.d.ts +4 -0
- package/dist/core/tokens/end-dictionary-token.js +8 -0
- package/dist/core/tokens/end-object-token.d.ts +4 -0
- package/dist/core/tokens/end-object-token.js +8 -0
- package/dist/core/tokens/end-stream-token.d.ts +5 -0
- package/dist/core/tokens/end-stream-token.js +8 -0
- package/dist/core/tokens/hexadecimal-token.d.ts +7 -0
- package/dist/core/tokens/hexadecimal-token.js +16 -0
- package/dist/core/tokens/name-token.d.ts +6 -0
- package/dist/core/tokens/name-token.js +15 -0
- package/dist/core/tokens/null-token.d.ts +4 -0
- package/dist/core/tokens/null-token.js +8 -0
- package/dist/core/tokens/number-token.d.ts +24 -0
- package/dist/core/tokens/number-token.js +104 -0
- package/dist/core/tokens/object-reference-token.d.ts +7 -0
- package/dist/core/tokens/object-reference-token.js +17 -0
- package/dist/core/tokens/start-array-token.d.ts +4 -0
- package/dist/core/tokens/start-array-token.js +8 -0
- package/dist/core/tokens/start-dictionary-token.d.ts +4 -0
- package/dist/core/tokens/start-dictionary-token.js +8 -0
- package/dist/core/tokens/start-object-token.d.ts +8 -0
- package/dist/core/tokens/start-object-token.js +17 -0
- package/dist/core/tokens/start-stream-token.d.ts +8 -0
- package/dist/core/tokens/start-stream-token.js +38 -0
- package/dist/core/tokens/start-xref-token.d.ts +4 -0
- package/dist/core/tokens/start-xref-token.js +8 -0
- package/dist/core/tokens/stream-chunk-token.d.ts +5 -0
- package/dist/core/tokens/stream-chunk-token.js +6 -0
- package/dist/core/tokens/string-token.d.ts +7 -0
- package/dist/core/tokens/string-token.js +13 -0
- package/dist/core/tokens/token.d.ts +10 -0
- package/dist/core/tokens/token.js +32 -0
- package/dist/core/tokens/trailer-token.d.ts +5 -0
- package/dist/core/tokens/trailer-token.js +10 -0
- package/dist/core/tokens/whitespace-token.d.ts +11 -0
- package/dist/core/tokens/whitespace-token.js +36 -0
- package/dist/core/tokens/xref-table-entry-token.d.ts +13 -0
- package/dist/core/tokens/xref-table-entry-token.js +40 -0
- package/dist/core/tokens/xref-table-section-start-token.d.ts +8 -0
- package/dist/core/tokens/xref-table-section-start-token.js +21 -0
- package/dist/core/tokens/xref-table-start-token.d.ts +5 -0
- package/dist/core/tokens/xref-table-start-token.js +10 -0
- package/dist/crypto/ciphers/aes128.d.ts +19 -0
- package/{packages/pdf-lite/src/crypto/ciphers/aes128.ts → dist/crypto/ciphers/aes128.js} +17 -27
- package/dist/crypto/ciphers/aes256.d.ts +18 -0
- package/{packages/pdf-lite/src/crypto/ciphers/aes256.ts → dist/crypto/ciphers/aes256.js} +14 -17
- package/dist/crypto/ciphers/rc4.d.ts +18 -0
- package/{packages/pdf-lite/src/crypto/ciphers/rc4.ts → dist/crypto/ciphers/rc4.js} +25 -30
- package/dist/crypto/constants.d.ts +6 -0
- package/{packages/pdf-lite/src/crypto/constants.ts → dist/crypto/constants.js} +1 -1
- package/dist/crypto/key-derivation/key-derivation-aes256.d.ts +56 -0
- package/dist/crypto/key-derivation/key-derivation-aes256.js +156 -0
- package/dist/crypto/key-derivation/key-derivation.d.ts +42 -0
- package/{packages/pdf-lite/src/crypto/key-derivation/key-derivation.ts → dist/crypto/key-derivation/key-derivation.js} +35 -66
- package/dist/crypto/key-gen/key-gen-aes256.d.ts +36 -0
- package/{packages/pdf-lite/src/crypto/key-gen/key-gen-aes256.ts → dist/crypto/key-gen/key-gen-aes256.js} +25 -50
- package/dist/crypto/key-gen/key-gen-rc4-128.d.ts +47 -0
- package/{packages/pdf-lite/src/crypto/key-gen/key-gen-rc4-128.ts → dist/crypto/key-gen/key-gen-rc4-128.js} +45 -106
- package/dist/crypto/key-gen/key-gen-rc4-40.d.ts +60 -0
- package/{packages/pdf-lite/src/crypto/key-gen/key-gen-rc4-40.ts → dist/crypto/key-gen/key-gen-rc4-40.js} +26 -62
- package/dist/crypto/types.d.ts +5 -0
- package/dist/crypto/types.js +1 -0
- package/dist/crypto/utils.d.ts +40 -0
- package/{packages/pdf-lite/src/crypto/utils.ts → dist/crypto/utils.js} +27 -36
- package/dist/filters/ascii85.d.ts +16 -0
- package/{packages/pdf-lite/src/filters/ascii85.ts → dist/filters/ascii85.js} +41 -65
- package/dist/filters/asciihex.d.ts +16 -0
- package/{packages/pdf-lite/src/filters/asciihex.ts → dist/filters/asciihex.js} +18 -19
- package/dist/filters/flate.d.ts +15 -0
- package/{packages/pdf-lite/src/filters/flate.ts → dist/filters/flate.js} +7 -10
- package/dist/filters/lzw.d.ts +16 -0
- package/dist/filters/lzw.js +150 -0
- package/dist/filters/pass-through.d.ts +14 -0
- package/{packages/pdf-lite/src/filters/pass-through.ts → dist/filters/pass-through.js} +6 -9
- package/dist/filters/runlength.d.ts +16 -0
- package/{packages/pdf-lite/src/filters/runlength.ts → dist/filters/runlength.js} +36 -40
- package/dist/filters/types.d.ts +18 -0
- package/{packages/pdf-lite/src/filters/types.ts → dist/filters/types.js} +1 -10
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/pdf/errors.d.ts +6 -0
- package/{packages/pdf-lite/src/pdf/errors.ts → dist/pdf/errors.js} +2 -1
- package/dist/pdf/index.d.ts +4 -0
- package/dist/pdf/index.js +4 -0
- package/dist/pdf/pdf-document.d.ts +277 -0
- package/{packages/pdf-lite/src/pdf/pdf-document.ts → dist/pdf/pdf-document.js} +305 -541
- package/dist/pdf/pdf-reader.d.ts +37 -0
- package/{packages/pdf-lite/src/pdf/pdf-reader.ts → dist/pdf/pdf-reader.js} +12 -22
- package/dist/pdf/pdf-revision.d.ts +101 -0
- package/{packages/pdf-lite/src/pdf/pdf-revision.ts → dist/pdf/pdf-revision.js} +70 -105
- package/dist/pdf/pdf-xref-lookup.d.ts +149 -0
- package/dist/pdf/pdf-xref-lookup.js +402 -0
- package/dist/security/crypt-filters/aesv2.d.ts +35 -0
- package/{packages/pdf-lite/src/security/crypt-filters/aesv2.ts → dist/security/crypt-filters/aesv2.js} +9 -26
- package/dist/security/crypt-filters/aesv3.d.ts +36 -0
- package/{packages/pdf-lite/src/security/crypt-filters/aesv3.ts → dist/security/crypt-filters/aesv3.js} +9 -23
- package/{packages/pdf-lite/src/security/crypt-filters/base.ts → dist/security/crypt-filters/base.d.ts} +21 -73
- package/dist/security/crypt-filters/base.js +93 -0
- package/dist/security/crypt-filters/identity.d.ts +28 -0
- package/{packages/pdf-lite/src/security/crypt-filters/identity.ts → dist/security/crypt-filters/identity.js} +9 -13
- package/dist/security/crypt-filters/v2.d.ts +37 -0
- package/{packages/pdf-lite/src/security/crypt-filters/v2.ts → dist/security/crypt-filters/v2.js} +9 -26
- package/dist/security/handlers/base.d.ts +304 -0
- package/dist/security/handlers/base.js +359 -0
- package/dist/security/handlers/pubSec.d.ts +164 -0
- package/dist/security/handlers/pubSec.js +299 -0
- package/dist/security/handlers/utils.d.ts +77 -0
- package/dist/security/handlers/utils.js +244 -0
- package/dist/security/handlers/v1.d.ts +81 -0
- package/dist/security/handlers/v1.js +135 -0
- package/dist/security/handlers/v2.d.ts +63 -0
- package/{packages/pdf-lite/src/security/handlers/v2.ts → dist/security/handlers/v2.js} +25 -62
- package/dist/security/handlers/v4.d.ts +121 -0
- package/dist/security/handlers/v4.js +257 -0
- package/dist/security/handlers/v5.d.ts +112 -0
- package/dist/security/handlers/v5.js +210 -0
- package/{packages/pdf-lite/src/security/types.ts → dist/security/types.d.ts} +72 -94
- package/dist/security/types.js +1 -0
- package/dist/signing/document-security-store.d.ts +108 -0
- package/dist/signing/document-security-store.js +156 -0
- package/dist/signing/index.d.ts +3 -0
- package/dist/signing/index.js +3 -0
- package/dist/signing/signatures/adbe-pkcs7-detached.d.ts +57 -0
- package/dist/signing/signatures/adbe-pkcs7-detached.js +117 -0
- package/dist/signing/signatures/adbe-pkcs7-sha1.d.ts +55 -0
- package/dist/signing/signatures/adbe-pkcs7-sha1.js +121 -0
- package/dist/signing/signatures/adbe-x509-rsa-sha1.d.ts +49 -0
- package/dist/signing/signatures/adbe-x509-rsa-sha1.js +81 -0
- package/dist/signing/signatures/base.d.ts +107 -0
- package/dist/signing/signatures/base.js +145 -0
- package/dist/signing/signatures/etsi-cades-detached.d.ts +64 -0
- package/dist/signing/signatures/etsi-cades-detached.js +159 -0
- package/dist/signing/signatures/etsi-rfc3161.d.ts +37 -0
- package/{packages/pdf-lite/src/signing/signatures/etsi-rfc3161.ts → dist/signing/signatures/etsi-rfc3161.js} +21 -43
- package/dist/signing/signatures/index.d.ts +6 -0
- package/dist/signing/signatures/index.js +6 -0
- package/dist/signing/signer.d.ts +23 -0
- package/dist/signing/signer.js +92 -0
- package/{packages/pdf-lite/src/signing/types.ts → dist/signing/types.d.ts} +40 -48
- package/dist/signing/types.js +1 -0
- package/dist/signing/utils.d.ts +32 -0
- package/{packages/pdf-lite/src/signing/utils.ts → dist/signing/utils.js} +12 -31
- package/dist/types.d.ts +23 -0
- package/dist/types.js +11 -0
- package/dist/utils/IterableReadableStream.d.ts +24 -0
- package/{packages/pdf-lite/src/utils/IterableReadableStream.ts → dist/utils/IterableReadableStream.js} +6 -6
- package/dist/utils/algos.d.ts +242 -0
- package/{packages/pdf-lite/src/utils/algos.ts → dist/utils/algos.js} +63 -136
- package/dist/utils/assert.d.ts +28 -0
- package/{packages/pdf-lite/src/utils/assert.ts → dist/utils/assert.js} +5 -10
- package/dist/utils/bytesToHex.d.ts +13 -0
- package/{packages/pdf-lite/src/utils/bytesToHex.ts → dist/utils/bytesToHex.js} +4 -6
- package/dist/utils/bytesToHexBytes.d.ts +14 -0
- package/{packages/pdf-lite/src/utils/bytesToHexBytes.ts → dist/utils/bytesToHexBytes.js} +7 -12
- package/dist/utils/bytesToString.d.ts +13 -0
- package/{packages/pdf-lite/src/utils/bytesToString.ts → dist/utils/bytesToString.js} +3 -5
- package/dist/utils/concatUint8Arrays.d.ts +16 -0
- package/{packages/pdf-lite/src/utils/concatUint8Arrays.ts → dist/utils/concatUint8Arrays.js} +7 -9
- package/dist/utils/escapeString.d.ts +14 -0
- package/dist/utils/escapeString.js +43 -0
- package/dist/utils/hexBytesToBytes.d.ts +15 -0
- package/{packages/pdf-lite/src/utils/hexBytesToBytes.ts → dist/utils/hexBytesToBytes.js} +4 -6
- package/dist/utils/hexBytesToString.d.ts +13 -0
- package/{packages/pdf-lite/src/utils/hexBytesToString.ts → dist/utils/hexBytesToString.js} +5 -7
- package/dist/utils/hexToBytes.d.ts +13 -0
- package/{packages/pdf-lite/src/utils/hexToBytes.ts → dist/utils/hexToBytes.js} +4 -6
- package/dist/utils/padBytes.d.ts +15 -0
- package/{packages/pdf-lite/src/utils/padBytes.ts → dist/utils/padBytes.js} +5 -9
- package/dist/utils/predictors.d.ts +113 -0
- package/{packages/pdf-lite/src/utils/predictors.ts → dist/utils/predictors.js} +103 -156
- package/dist/utils/replaceInBuffer.d.ts +22 -0
- package/{packages/pdf-lite/src/utils/replaceInBuffer.ts → dist/utils/replaceInBuffer.js} +18 -27
- package/dist/utils/stringToBytes.d.ts +14 -0
- package/{packages/pdf-lite/src/utils/stringToBytes.ts → dist/utils/stringToBytes.js} +6 -7
- package/dist/utils/stringToHexBytes.d.ts +15 -0
- package/{packages/pdf-lite/src/utils/stringToHexBytes.ts → dist/utils/stringToHexBytes.js} +5 -7
- package/dist/utils/unescapeString.d.ts +16 -0
- package/dist/utils/unescapeString.js +114 -0
- package/package.json +37 -34
- package/.commitlintrc.cjs +0 -25
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -19
- package/.github/workflows/docs.yaml +0 -95
- package/.github/workflows/prepare-release.yaml +0 -79
- package/.github/workflows/release.yaml +0 -80
- package/.github/workflows/test.yaml +0 -35
- package/.husky/commit-msg +0 -1
- package/.husky/pre-commit +0 -1
- package/.prettierignore +0 -4
- package/.prettierrc +0 -4
- package/CONTRIBUTING.md +0 -109
- package/EXAMPLES.md +0 -1512
- package/docs/README.md +0 -127
- package/docs/core/README.md +0 -43
- package/docs/core/decoder/README.md +0 -11
- package/docs/core/decoder/classes/PdfDecoder.md +0 -362
- package/docs/core/generators/README.md +0 -14
- package/docs/core/generators/functions/bytesToPdfObjects.md +0 -26
- package/docs/core/generators/functions/pdfDecoder.md +0 -36
- package/docs/core/generators/functions/pdfDecoderAsync.md +0 -26
- package/docs/core/generators/functions/stringToPdfObjects.md +0 -25
- package/docs/core/incremental-parser/README.md +0 -13
- package/docs/core/incremental-parser/classes/EofReachedError.md +0 -55
- package/docs/core/incremental-parser/classes/IncrementalParser.md +0 -299
- package/docs/core/incremental-parser/classes/NoMoreTokensError.md +0 -55
- package/docs/core/objects/pdf-array/README.md +0 -11
- package/docs/core/objects/pdf-array/classes/PdfArray.md +0 -305
- package/docs/core/objects/pdf-boolean/README.md +0 -11
- package/docs/core/objects/pdf-boolean/classes/PdfBoolean.md +0 -265
- package/docs/core/objects/pdf-comment/README.md +0 -11
- package/docs/core/objects/pdf-comment/classes/PdfComment.md +0 -329
- package/docs/core/objects/pdf-date/README.md +0 -11
- package/docs/core/objects/pdf-date/classes/PdfDate.md +0 -317
- package/docs/core/objects/pdf-dictionary/README.md +0 -17
- package/docs/core/objects/pdf-dictionary/classes/PdfDictionary.md +0 -396
- package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryEntries.md +0 -9
- package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryEntry.md +0 -9
- package/docs/core/objects/pdf-dictionary/type-aliases/PdfDictionaryMap.md +0 -9
- package/docs/core/objects/pdf-hexadecimal/README.md +0 -11
- package/docs/core/objects/pdf-hexadecimal/classes/PdfHexadecimal.md +0 -320
- package/docs/core/objects/pdf-indirect-object/README.md +0 -11
- package/docs/core/objects/pdf-indirect-object/classes/PdfIndirectObject.md +0 -411
- package/docs/core/objects/pdf-name/README.md +0 -11
- package/docs/core/objects/pdf-name/classes/PdfName.md +0 -271
- package/docs/core/objects/pdf-null/README.md +0 -11
- package/docs/core/objects/pdf-null/classes/PdfNull.md +0 -259
- package/docs/core/objects/pdf-number/README.md +0 -12
- package/docs/core/objects/pdf-number/classes/PdfByteOffsetNumber.md +0 -369
- package/docs/core/objects/pdf-number/classes/PdfNumber.md +0 -345
- package/docs/core/objects/pdf-object/README.md +0 -11
- package/docs/core/objects/pdf-object/classes/PdfObject.md +0 -214
- package/docs/core/objects/pdf-object-reference/README.md +0 -11
- package/docs/core/objects/pdf-object-reference/classes/PdfObjectReference.md +0 -279
- package/docs/core/objects/pdf-start-xref/README.md +0 -11
- package/docs/core/objects/pdf-start-xref/classes/PdfStartXRef.md +0 -265
- package/docs/core/objects/pdf-stream/README.md +0 -23
- package/docs/core/objects/pdf-stream/classes/PdfObjStream.md +0 -699
- package/docs/core/objects/pdf-stream/classes/PdfStream.md +0 -570
- package/docs/core/objects/pdf-stream/classes/PdfXRefStream.md +0 -723
- package/docs/core/objects/pdf-stream/classes/PdfXRefStreamCompressedEntry.md +0 -51
- package/docs/core/objects/pdf-stream/type-aliases/PdfXRefStreamEntry.md +0 -9
- package/docs/core/objects/pdf-stream/type-aliases/PdfXRefStreamStandardEntry.md +0 -9
- package/docs/core/objects/pdf-stream/variables/PdfXRefStreamStandardEntry.md +0 -9
- package/docs/core/objects/pdf-string/README.md +0 -11
- package/docs/core/objects/pdf-string/classes/PdfString.md +0 -301
- package/docs/core/objects/pdf-trailer/README.md +0 -16
- package/docs/core/objects/pdf-trailer/classes/PdfTrailer.md +0 -271
- package/docs/core/objects/pdf-trailer/type-aliases/PdfTrailerDictionary.md +0 -9
- package/docs/core/objects/pdf-trailer/type-aliases/PdfTrailerEntries.md +0 -51
- package/docs/core/objects/pdf-xref-table/README.md +0 -13
- package/docs/core/objects/pdf-xref-table/classes/PdfXRefTable.md +0 -331
- package/docs/core/objects/pdf-xref-table/classes/PdfXRefTableEntry.md +0 -297
- package/docs/core/objects/pdf-xref-table/classes/PdfXRefTableSectionHeader.md +0 -277
- package/docs/core/parser/README.md +0 -11
- package/docs/core/parser/classes/Parser.md +0 -74
- package/docs/core/ref/README.md +0 -15
- package/docs/core/ref/classes/Ref.md +0 -149
- package/docs/core/ref/type-aliases/RefUpdateCallback.md +0 -33
- package/docs/core/serializer/README.md +0 -11
- package/docs/core/serializer/classes/PdfTokenSerializer.md +0 -106
- package/docs/core/streams/object-stream/README.md +0 -11
- package/docs/core/streams/object-stream/classes/PdfObjectStream.md +0 -69
- package/docs/core/tokeniser/README.md +0 -21
- package/docs/core/tokeniser/classes/PdfByteStreamTokeniser.md +0 -366
- package/docs/core/tokeniser/classes/PdfObjectTokeniser.md +0 -69
- package/docs/core/tokeniser/functions/objectToTokens.md +0 -25
- package/docs/core/tokeniser/functions/pdfObjectStreamTokeniser.md +0 -27
- package/docs/core/tokeniser/type-aliases/PdfTokeniser.md +0 -11
- package/docs/core/tokens/boolean-token/README.md +0 -11
- package/docs/core/tokens/boolean-token/classes/PdfBooleanToken.md +0 -139
- package/docs/core/tokens/byte-offset-token/README.md +0 -11
- package/docs/core/tokens/byte-offset-token/classes/PdfByteOffsetToken.md +0 -153
- package/docs/core/tokens/comment-token/README.md +0 -11
- package/docs/core/tokens/comment-token/classes/PdfCommentToken.md +0 -161
- package/docs/core/tokens/end-array-token/README.md +0 -11
- package/docs/core/tokens/end-array-token/classes/PdfEndArrayToken.md +0 -115
- package/docs/core/tokens/end-dictionary-token/README.md +0 -11
- package/docs/core/tokens/end-dictionary-token/classes/PdfEndDictionaryToken.md +0 -115
- package/docs/core/tokens/end-object-token/README.md +0 -11
- package/docs/core/tokens/end-object-token/classes/PdfEndObjectToken.md +0 -115
- package/docs/core/tokens/end-stream-token/README.md +0 -11
- package/docs/core/tokens/end-stream-token/classes/PdfEndStreamToken.md +0 -121
- package/docs/core/tokens/hexadecimal-token/README.md +0 -11
- package/docs/core/tokens/hexadecimal-token/classes/PdfHexadecimalToken.md +0 -127
- package/docs/core/tokens/name-token/README.md +0 -11
- package/docs/core/tokens/name-token/classes/PdfNameToken.md +0 -127
- package/docs/core/tokens/null-token/README.md +0 -11
- package/docs/core/tokens/null-token/classes/PdfNullToken.md +0 -115
- package/docs/core/tokens/number-token/README.md +0 -11
- package/docs/core/tokens/number-token/classes/PdfNumberToken.md +0 -271
- package/docs/core/tokens/object-reference-token/README.md +0 -11
- package/docs/core/tokens/object-reference-token/classes/PdfObjectReferenceToken.md +0 -137
- package/docs/core/tokens/start-array-token/README.md +0 -11
- package/docs/core/tokens/start-array-token/classes/PdfStartArrayToken.md +0 -115
- package/docs/core/tokens/start-dictionary-token/README.md +0 -11
- package/docs/core/tokens/start-dictionary-token/classes/PdfStartDictionaryToken.md +0 -115
- package/docs/core/tokens/start-object-token/README.md +0 -11
- package/docs/core/tokens/start-object-token/classes/PdfStartObjectToken.md +0 -147
- package/docs/core/tokens/start-stream-token/README.md +0 -11
- package/docs/core/tokens/start-stream-token/classes/PdfStartStreamToken.md +0 -147
- package/docs/core/tokens/start-xref-token/README.md +0 -11
- package/docs/core/tokens/start-xref-token/classes/PdfStartXRefToken.md +0 -115
- package/docs/core/tokens/stream-chunk-token/README.md +0 -11
- package/docs/core/tokens/stream-chunk-token/classes/PdfStreamChunkToken.md +0 -121
- package/docs/core/tokens/string-token/README.md +0 -11
- package/docs/core/tokens/string-token/classes/PdfStringToken.md +0 -127
- package/docs/core/tokens/token/README.md +0 -11
- package/docs/core/tokens/token/classes/PdfToken.md +0 -116
- package/docs/core/tokens/trailer-token/README.md +0 -11
- package/docs/core/tokens/trailer-token/classes/PdfTrailerToken.md +0 -127
- package/docs/core/tokens/whitespace-token/README.md +0 -11
- package/docs/core/tokens/whitespace-token/classes/PdfWhitespaceToken.md +0 -161
- package/docs/core/tokens/xref-table-entry-token/README.md +0 -11
- package/docs/core/tokens/xref-table-entry-token/classes/PdfXRefTableEntryToken.md +0 -157
- package/docs/core/tokens/xref-table-section-start-token/README.md +0 -11
- package/docs/core/tokens/xref-table-section-start-token/classes/PdfXRefTableSectionStartToken.md +0 -137
- package/docs/core/tokens/xref-table-start-token/README.md +0 -11
- package/docs/core/tokens/xref-table-start-token/classes/PdfXRefTableStartToken.md +0 -127
- package/docs/crypto/ciphers/aes128/README.md +0 -11
- package/docs/crypto/ciphers/aes128/functions/aes128.md +0 -39
- package/docs/crypto/ciphers/aes256/README.md +0 -11
- package/docs/crypto/ciphers/aes256/functions/aes256.md +0 -35
- package/docs/crypto/ciphers/rc4/README.md +0 -11
- package/docs/crypto/ciphers/rc4/functions/rc4.md +0 -35
- package/docs/crypto/constants/README.md +0 -11
- package/docs/crypto/constants/variables/DEFAULT_PADDING.md +0 -13
- package/docs/crypto/key-derivation/key-derivation/README.md +0 -13
- package/docs/crypto/key-derivation/key-derivation/functions/computeMasterKey.md +0 -57
- package/docs/crypto/key-derivation/key-derivation/functions/deriveObjectKey.md +0 -50
- package/docs/crypto/key-derivation/key-derivation/functions/padPassword.md +0 -33
- package/docs/crypto/key-derivation/key-derivation-aes256/README.md +0 -13
- package/docs/crypto/key-derivation/key-derivation-aes256/functions/computeAlgorithm2bHash.md +0 -45
- package/docs/crypto/key-derivation/key-derivation-aes256/functions/getFileKey.md +0 -66
- package/docs/crypto/key-derivation/key-derivation-aes256/functions/validatePasswordHash.md +0 -52
- package/docs/crypto/key-gen/key-gen-aes256/README.md +0 -12
- package/docs/crypto/key-gen/key-gen-aes256/functions/generateOandOe.md +0 -44
- package/docs/crypto/key-gen/key-gen-aes256/functions/generateUandUe.md +0 -38
- package/docs/crypto/key-gen/key-gen-rc4-128/README.md +0 -13
- package/docs/crypto/key-gen/key-gen-rc4-128/functions/computeOValueRc4_128.md +0 -38
- package/docs/crypto/key-gen/key-gen-rc4-128/functions/computeUValueRc4_128.md +0 -62
- package/docs/crypto/key-gen/key-gen-rc4-128/functions/decryptUserPasswordRc4_128.md +0 -38
- package/docs/crypto/key-gen/key-gen-rc4-40/README.md +0 -14
- package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeEncryptionKeyRc4_40.md +0 -49
- package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeORc4_40.md +0 -38
- package/docs/crypto/key-gen/key-gen-rc4-40/functions/computeURc4_40.md +0 -50
- package/docs/crypto/key-gen/key-gen-rc4-40/functions/decryptUserPasswordRc4_40.md +0 -38
- package/docs/crypto/types/README.md +0 -11
- package/docs/crypto/types/interfaces/Cipher.md +0 -39
- package/docs/crypto/utils/README.md +0 -13
- package/docs/crypto/utils/functions/int32ToLittleEndianBytes.md +0 -31
- package/docs/crypto/utils/functions/padPassword.md +0 -33
- package/docs/crypto/utils/functions/removePdfPasswordPadding.md +0 -32
- package/docs/filters/ascii85/README.md +0 -11
- package/docs/filters/ascii85/functions/ascii85.md +0 -27
- package/docs/filters/asciihex/README.md +0 -11
- package/docs/filters/asciihex/functions/asciiHex.md +0 -27
- package/docs/filters/flate/README.md +0 -11
- package/docs/filters/flate/functions/flate.md +0 -26
- package/docs/filters/lzw/README.md +0 -11
- package/docs/filters/lzw/functions/lzw.md +0 -27
- package/docs/filters/pass-through/README.md +0 -11
- package/docs/filters/pass-through/functions/passthroughFilter.md +0 -25
- package/docs/filters/runlength/README.md +0 -11
- package/docs/filters/runlength/functions/runLength.md +0 -27
- package/docs/filters/types/README.md +0 -19
- package/docs/filters/types/interfaces/PdfFilter.md +0 -39
- package/docs/filters/types/type-aliases/PdfStreamFilterType.md +0 -9
- package/docs/filters/types/variables/PDF_FILTER_TYPES.md +0 -51
- package/docs/index/README.md +0 -235
- package/docs/pdf/README.md +0 -31
- package/docs/pdf/errors/README.md +0 -11
- package/docs/pdf/errors/classes/FoundCompressedObjectError.md +0 -56
- package/docs/pdf/pdf-document/README.md +0 -11
- package/docs/pdf/pdf-document/classes/PdfDocument.md +0 -876
- package/docs/pdf/pdf-reader/README.md +0 -11
- package/docs/pdf/pdf-reader/classes/PdfReader.md +0 -82
- package/docs/pdf/pdf-revision/README.md +0 -11
- package/docs/pdf/pdf-revision/classes/PdfRevision.md +0 -508
- package/docs/pdf/pdf-xref-lookup/README.md +0 -11
- package/docs/pdf/pdf-xref-lookup/classes/PdfXrefLookup.md +0 -421
- package/docs/security/crypt-filters/aesv2/README.md +0 -11
- package/docs/security/crypt-filters/aesv2/classes/AesV2CryptFilter.md +0 -274
- package/docs/security/crypt-filters/aesv3/README.md +0 -11
- package/docs/security/crypt-filters/aesv3/classes/AesV3CryptFilter.md +0 -275
- package/docs/security/crypt-filters/base/README.md +0 -15
- package/docs/security/crypt-filters/base/classes/PdfCryptFilter.md +0 -221
- package/docs/security/crypt-filters/base/type-aliases/CryptFilterOptions.md +0 -43
- package/docs/security/crypt-filters/identity/README.md +0 -11
- package/docs/security/crypt-filters/identity/classes/IdentityCryptFilter.md +0 -249
- package/docs/security/crypt-filters/v2/README.md +0 -11
- package/docs/security/crypt-filters/v2/classes/V2CryptFilter.md +0 -279
- package/docs/security/handlers/base/README.md +0 -17
- package/docs/security/handlers/base/classes/PdfSecurityHandler.md +0 -384
- package/docs/security/handlers/base/classes/PdfStandardSecurityHandler.md +0 -694
- package/docs/security/handlers/base/type-aliases/PdfSecurityHandlerOptions.md +0 -27
- package/docs/security/handlers/base/type-aliases/PdfStandardSecurityHandlerOptions.md +0 -43
- package/docs/security/handlers/pubSec/README.md +0 -11
- package/docs/security/handlers/pubSec/classes/PdfPublicKeySecurityHandler.md +0 -503
- package/docs/security/handlers/utils/README.md +0 -14
- package/docs/security/handlers/utils/functions/createFromDictionary.md +0 -56
- package/docs/security/handlers/utils/functions/createFromEncryptionOptions.md +0 -40
- package/docs/security/handlers/utils/functions/createStandardSecurityHandlerFromDictionary.md +0 -55
- package/docs/security/handlers/utils/functions/getCryptFilter.md +0 -35
- package/docs/security/handlers/v1/README.md +0 -11
- package/docs/security/handlers/v1/classes/PdfV1SecurityHandler.md +0 -779
- package/docs/security/handlers/v2/README.md +0 -11
- package/docs/security/handlers/v2/classes/PdfV2SecurityHandler.md +0 -783
- package/docs/security/handlers/v4/README.md +0 -11
- package/docs/security/handlers/v4/classes/PdfV4SecurityHandler.md +0 -907
- package/docs/security/handlers/v5/README.md +0 -11
- package/docs/security/handlers/v5/classes/PdfV5SecurityHandler.md +0 -926
- package/docs/security/types/README.md +0 -19
- package/docs/security/types/type-aliases/CryptFilterType.md +0 -15
- package/docs/security/types/type-aliases/PdfCryptFilterDictionary.md +0 -12
- package/docs/security/types/type-aliases/PdfEncryptionAlgorithmOptions.md +0 -11
- package/docs/security/types/type-aliases/PdfEncryptionAlgorithmType.md +0 -17
- package/docs/security/types/type-aliases/PdfEncryptionDictionary.md +0 -13
- package/docs/security/types/type-aliases/PdfEncryptionDictionaryObject.md +0 -11
- package/docs/security/types/type-aliases/PdfEncryptionOptions.md +0 -90
- package/docs/security/types/type-aliases/PdfEncryptionRecipient.md +0 -24
- package/docs/security/types/type-aliases/PdfId.md +0 -13
- package/docs/signing/README.md +0 -127
- package/docs/signing/document-security-store/README.md +0 -19
- package/docs/signing/document-security-store/classes/PdfCertObject.md +0 -443
- package/docs/signing/document-security-store/classes/PdfCrlObject.md +0 -443
- package/docs/signing/document-security-store/classes/PdfDocumentSecurityStoreDictionary.md +0 -416
- package/docs/signing/document-security-store/classes/PdfDocumentSecurityStoreObject.md +0 -563
- package/docs/signing/document-security-store/classes/PdfOcspObject.md +0 -443
- package/docs/signing/document-security-store/type-aliases/PdfVriObject.md +0 -12
- package/docs/signing/signatures/README.md +0 -55
- package/docs/signing/signatures/adbe-pkcs7-detached/README.md +0 -11
- package/docs/signing/signatures/adbe-pkcs7-detached/classes/PdfAdbePkcs7DetachedSignatureObject.md +0 -669
- package/docs/signing/signatures/adbe-pkcs7-sha1/README.md +0 -11
- package/docs/signing/signatures/adbe-pkcs7-sha1/classes/PdfAdbePkcs7Sha1SignatureObject.md +0 -667
- package/docs/signing/signatures/adbe-x509-rsa-sha1/README.md +0 -11
- package/docs/signing/signatures/adbe-x509-rsa-sha1/classes/PdfAdbePkcsX509RsaSha1SignatureObject.md +0 -651
- package/docs/signing/signatures/base/README.md +0 -16
- package/docs/signing/signatures/base/classes/PdfSignatureDictionary.md +0 -420
- package/docs/signing/signatures/base/classes/PdfSignatureObject.md +0 -584
- package/docs/signing/signatures/base/type-aliases/PdfSignatureSignOptions.md +0 -51
- package/docs/signing/signatures/etsi-cades-detached/README.md +0 -11
- package/docs/signing/signatures/etsi-cades-detached/classes/PdfEtsiCadesDetachedSignatureObject.md +0 -693
- package/docs/signing/signatures/etsi-rfc3161/README.md +0 -11
- package/docs/signing/signatures/etsi-rfc3161/classes/PdfEtsiRfc3161SignatureObject.md +0 -614
- package/docs/signing/signer/README.md +0 -11
- package/docs/signing/signer/classes/PdfSigner.md +0 -58
- package/docs/signing/types/README.md +0 -16
- package/docs/signing/types/type-aliases/PdfSignatureDictionaryEntries.md +0 -95
- package/docs/signing/types/type-aliases/PdfSignatureSubType.md +0 -17
- package/docs/signing/types/type-aliases/PdfSignatureType.md +0 -14
- package/docs/signing/types/type-aliases/RevocationInfo.md +0 -43
- package/docs/signing/types/type-aliases/SignaturePolicyDocument.md +0 -35
- package/docs/signing/types/type-aliases/TimeStampAuthority.md +0 -35
- package/docs/signing/utils/README.md +0 -11
- package/docs/signing/utils/functions/fetchRevocationInfo.md +0 -70
- package/docs/types/README.md +0 -21
- package/docs/types/type-aliases/ByteArray.md +0 -9
- package/docs/types/type-aliases/ChangeType.md +0 -9
- package/docs/types/type-aliases/DecodeParms.md +0 -33
- package/docs/types/type-aliases/HashAlgorithm.md +0 -9
- package/docs/types/type-aliases/PdfEncryptionAlgorithm.md +0 -9
- package/docs/types/type-aliases/PdfPermissions.md +0 -63
- package/docs/types/type-aliases/PdfVersion.md +0 -9
- package/docs/types/variables/PERMISSION_FLAGS.md +0 -9
- package/docs/utils/IterableReadableStream/README.md +0 -11
- package/docs/utils/IterableReadableStream/classes/IterableReadableStream.md +0 -103
- package/docs/utils/algos/README.md +0 -28
- package/docs/utils/algos/functions/aes128CbcNoPaddingEncrypt.md +0 -43
- package/docs/utils/algos/functions/aes128cbcDecrypt.md +0 -47
- package/docs/utils/algos/functions/aes128cbcEncrypt.md +0 -47
- package/docs/utils/algos/functions/aes256CbcNoPaddingDecrypt.md +0 -43
- package/docs/utils/algos/functions/aes256CbcNoPaddingEncrypt.md +0 -43
- package/docs/utils/algos/functions/aes256cbcDecrypt.md +0 -43
- package/docs/utils/algos/functions/aes256cbcEncrypt.md +0 -43
- package/docs/utils/algos/functions/aes256ecbDecrypt.md +0 -41
- package/docs/utils/algos/functions/aes256ecbEncrypt.md +0 -41
- package/docs/utils/algos/functions/deflateData.md +0 -31
- package/docs/utils/algos/functions/getRandomBytes.md +0 -35
- package/docs/utils/algos/functions/hash.md +0 -41
- package/docs/utils/algos/functions/inflateData.md +0 -35
- package/docs/utils/algos/functions/md5.md +0 -31
- package/docs/utils/algos/functions/sha1.md +0 -31
- package/docs/utils/algos/functions/sha256.md +0 -31
- package/docs/utils/algos/functions/sha384.md +0 -31
- package/docs/utils/algos/functions/sha512.md +0 -31
- package/docs/utils/assert/README.md +0 -12
- package/docs/utils/assert/functions/assert.md +0 -39
- package/docs/utils/assert/functions/assertIfDefined.md +0 -46
- package/docs/utils/bytesToHex/README.md +0 -11
- package/docs/utils/bytesToHex/functions/bytesToHex.md +0 -31
- package/docs/utils/bytesToHexBytes/README.md +0 -11
- package/docs/utils/bytesToHexBytes/functions/bytesToHexBytes.md +0 -32
- package/docs/utils/bytesToString/README.md +0 -11
- package/docs/utils/bytesToString/functions/bytesToString.md +0 -31
- package/docs/utils/concatUint8Arrays/README.md +0 -11
- package/docs/utils/concatUint8Arrays/functions/concatUint8Arrays.md +0 -31
- package/docs/utils/escapeString/README.md +0 -11
- package/docs/utils/escapeString/functions/escapeString.md +0 -32
- package/docs/utils/hexBytesToBytes/README.md +0 -11
- package/docs/utils/hexBytesToBytes/functions/hexBytesToBytes.md +0 -33
- package/docs/utils/hexBytesToString/README.md +0 -11
- package/docs/utils/hexBytesToString/functions/hexBytesToString.md +0 -31
- package/docs/utils/hexToBytes/README.md +0 -11
- package/docs/utils/hexToBytes/functions/hexToBytes.md +0 -31
- package/docs/utils/padBytes/README.md +0 -11
- package/docs/utils/padBytes/functions/padBytes.md +0 -41
- package/docs/utils/predictors/README.md +0 -11
- package/docs/utils/predictors/classes/Predictor.md +0 -306
- package/docs/utils/replaceInBuffer/README.md +0 -11
- package/docs/utils/replaceInBuffer/functions/replaceInBuffer.md +0 -65
- package/docs/utils/stringToBytes/README.md +0 -11
- package/docs/utils/stringToBytes/functions/stringToBytes.md +0 -32
- package/docs/utils/stringToHexBytes/README.md +0 -11
- package/docs/utils/stringToHexBytes/functions/stringToHexBytes.md +0 -33
- package/docs/utils/unescapeString/README.md +0 -11
- package/docs/utils/unescapeString/functions/unescapeString.md +0 -34
- package/examples/001-create-pdf.ts +0 -112
- package/examples/002-create-encrypted-pdf.ts +0 -121
- package/examples/003-sign-pdf.ts +0 -347
- package/examples/004-incremental-update.ts +0 -206
- package/examples/005-modify-acroform.ts +0 -374
- package/examples/006-tokeniser-example.ts +0 -131
- package/examples/007-decoder-example.ts +0 -197
- package/packages/pdf-lite/README.md +0 -3
- package/packages/pdf-lite/node_modules/.bin/playwright +0 -16
- package/packages/pdf-lite/node_modules/.bin/tsc +0 -16
- package/packages/pdf-lite/node_modules/.bin/tsserver +0 -16
- package/packages/pdf-lite/node_modules/.bin/vitest +0 -16
- package/packages/pdf-lite/package.json +0 -68
- package/packages/pdf-lite/scripts/create-encryption-tests.sh +0 -41
- package/packages/pdf-lite/scripts/gen-signing-keys.sh +0 -290
- package/packages/pdf-lite/scripts/generate-all-signing-keys.sh +0 -70
- package/packages/pdf-lite/src/core/decoder.ts +0 -454
- package/packages/pdf-lite/src/core/index.ts +0 -2
- package/packages/pdf-lite/src/core/objects/pdf-array.ts +0 -54
- package/packages/pdf-lite/src/core/objects/pdf-boolean.ts +0 -19
- package/packages/pdf-lite/src/core/objects/pdf-comment.ts +0 -50
- package/packages/pdf-lite/src/core/objects/pdf-date.ts +0 -74
- package/packages/pdf-lite/src/core/objects/pdf-dictionary.ts +0 -171
- package/packages/pdf-lite/src/core/objects/pdf-hexadecimal.ts +0 -54
- package/packages/pdf-lite/src/core/objects/pdf-indirect-object.ts +0 -137
- package/packages/pdf-lite/src/core/objects/pdf-name.ts +0 -19
- package/packages/pdf-lite/src/core/objects/pdf-null.ts +0 -15
- package/packages/pdf-lite/src/core/objects/pdf-number.ts +0 -98
- package/packages/pdf-lite/src/core/objects/pdf-object-reference.ts +0 -30
- package/packages/pdf-lite/src/core/objects/pdf-object.ts +0 -107
- package/packages/pdf-lite/src/core/objects/pdf-start-xref.ts +0 -39
- package/packages/pdf-lite/src/core/objects/pdf-stream.ts +0 -687
- package/packages/pdf-lite/src/core/objects/pdf-string.ts +0 -38
- package/packages/pdf-lite/src/core/objects/pdf-trailer.ts +0 -57
- package/packages/pdf-lite/src/core/objects/pdf-xref-table.ts +0 -264
- package/packages/pdf-lite/src/core/streams/object-stream.ts +0 -20
- package/packages/pdf-lite/src/core/tokeniser.ts +0 -687
- package/packages/pdf-lite/src/core/tokens/boolean-token.ts +0 -20
- package/packages/pdf-lite/src/core/tokens/byte-offset-token.ts +0 -20
- package/packages/pdf-lite/src/core/tokens/comment-token.ts +0 -32
- package/packages/pdf-lite/src/core/tokens/end-array-token.ts +0 -10
- package/packages/pdf-lite/src/core/tokens/end-dictionary-token.ts +0 -10
- package/packages/pdf-lite/src/core/tokens/end-object-token.ts +0 -10
- package/packages/pdf-lite/src/core/tokens/end-stream-token.ts +0 -11
- package/packages/pdf-lite/src/core/tokens/hexadecimal-token.ts +0 -22
- package/packages/pdf-lite/src/core/tokens/name-token.ts +0 -19
- package/packages/pdf-lite/src/core/tokens/null-token.ts +0 -9
- package/packages/pdf-lite/src/core/tokens/number-token.ts +0 -164
- package/packages/pdf-lite/src/core/tokens/object-reference-token.ts +0 -24
- package/packages/pdf-lite/src/core/tokens/start-array-token.ts +0 -10
- package/packages/pdf-lite/src/core/tokens/start-dictionary-token.ts +0 -10
- package/packages/pdf-lite/src/core/tokens/start-object-token.ts +0 -28
- package/packages/pdf-lite/src/core/tokens/start-stream-token.ts +0 -52
- package/packages/pdf-lite/src/core/tokens/start-xref-token.ts +0 -10
- package/packages/pdf-lite/src/core/tokens/stream-chunk-token.ts +0 -8
- package/packages/pdf-lite/src/core/tokens/string-token.ts +0 -17
- package/packages/pdf-lite/src/core/tokens/token.ts +0 -43
- package/packages/pdf-lite/src/core/tokens/trailer-token.ts +0 -12
- package/packages/pdf-lite/src/core/tokens/whitespace-token.ts +0 -43
- package/packages/pdf-lite/src/core/tokens/xref-table-entry-token.ts +0 -65
- package/packages/pdf-lite/src/core/tokens/xref-table-section-start-token.ts +0 -31
- package/packages/pdf-lite/src/core/tokens/xref-table-start-token.ts +0 -13
- package/packages/pdf-lite/src/crypto/key-derivation/key-derivation-aes256.ts +0 -213
- package/packages/pdf-lite/src/crypto/types.ts +0 -6
- package/packages/pdf-lite/src/filters/lzw.ts +0 -144
- package/packages/pdf-lite/src/index.ts +0 -4
- package/packages/pdf-lite/src/pdf/index.ts +0 -4
- package/packages/pdf-lite/src/pdf/pdf-xref-lookup.ts +0 -527
- package/packages/pdf-lite/src/security/handlers/base.ts +0 -625
- package/packages/pdf-lite/src/security/handlers/pubSec.ts +0 -413
- package/packages/pdf-lite/src/security/handlers/utils.ts +0 -304
- package/packages/pdf-lite/src/security/handlers/v1.ts +0 -225
- package/packages/pdf-lite/src/security/handlers/v4.ts +0 -379
- package/packages/pdf-lite/src/security/handlers/v5.ts +0 -298
- package/packages/pdf-lite/src/signing/document-security-store.ts +0 -224
- package/packages/pdf-lite/src/signing/index.ts +0 -3
- package/packages/pdf-lite/src/signing/signatures/adbe-pkcs7-detached.ts +0 -154
- package/packages/pdf-lite/src/signing/signatures/adbe-pkcs7-sha1.ts +0 -161
- package/packages/pdf-lite/src/signing/signatures/adbe-x509-rsa-sha1.ts +0 -106
- package/packages/pdf-lite/src/signing/signatures/base.ts +0 -229
- package/packages/pdf-lite/src/signing/signatures/etsi-cades-detached.ts +0 -229
- package/packages/pdf-lite/src/signing/signatures/index.ts +0 -6
- package/packages/pdf-lite/src/signing/signer.ts +0 -120
- package/packages/pdf-lite/src/types.ts +0 -44
- package/packages/pdf-lite/src/utils/escapeString.ts +0 -49
- package/packages/pdf-lite/src/utils/unescapeString.ts +0 -123
- package/packages/pdf-lite/test/acceptance/__snapshots__/versions.node.test.ts.snap +0 -60766
- package/packages/pdf-lite/test/acceptance/fixtures/1.3/basic.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-aes-128.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-aes-256.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-rc4-128.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic-rc4-40.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/1.4/basic.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/1.5/basic.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/1.6/basic.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/1.7/basic.pdf +0 -0
- package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-aes-128.pdf +0 -43
- package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-aes-256.pdf +0 -43
- package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-rc4-128.pdf +0 -43
- package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic-rc4-40.pdf +0 -44
- package/packages/pdf-lite/test/acceptance/fixtures/2.0/basic.pdf +0 -79
- package/packages/pdf-lite/test/acceptance/versions.node.test.ts +0 -41
- package/packages/pdf-lite/test/unit/__snapshots__/decoder.node.test.ts.snap +0 -86947
- package/packages/pdf-lite/test/unit/__snapshots__/tokeniser.node.test.ts.snap +0 -131829
- package/packages/pdf-lite/test/unit/ciphers.test.ts +0 -61
- package/packages/pdf-lite/test/unit/decoder.node.test.ts +0 -21
- package/packages/pdf-lite/test/unit/decoder.test.ts +0 -567
- package/packages/pdf-lite/test/unit/filters.test.ts +0 -67
- package/packages/pdf-lite/test/unit/fixtures/basic.pdf +0 -0
- package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-aes-128.pdf +0 -0
- package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-aes-256.pdf +0 -0
- package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-rc4-128.pdf +0 -0
- package/packages/pdf-lite/test/unit/fixtures/encrypted_v1/basic-rc4-40.pdf +0 -43
- package/packages/pdf-lite/test/unit/fixtures/protectedAdobeLivecycle.pdf +0 -0
- package/packages/pdf-lite/test/unit/fixtures/rsa-2048/index.ts +0 -187
- package/packages/pdf-lite/test/unit/fixtures/template.pdf +0 -0
- package/packages/pdf-lite/test/unit/incremental-update.test.ts +0 -0
- package/packages/pdf-lite/test/unit/objects.test.ts +0 -0
- package/packages/pdf-lite/test/unit/pdf-document-signing.test.ts +0 -0
- package/packages/pdf-lite/test/unit/pdf-revision.test.ts +0 -195
- package/packages/pdf-lite/test/unit/pdf.browser.test.ts +0 -0
- package/packages/pdf-lite/test/unit/predictors.test.ts +0 -226
- package/packages/pdf-lite/test/unit/ref.test.ts +0 -158
- package/packages/pdf-lite/test/unit/security-handlers.test.ts +0 -645
- package/packages/pdf-lite/test/unit/serializer.test.ts +0 -81
- package/packages/pdf-lite/test/unit/signature-objects.test.ts +0 -814
- package/packages/pdf-lite/test/unit/string-escaping.test.ts +0 -84
- package/packages/pdf-lite/test/unit/tokeniser.node.test.ts +0 -38
- package/packages/pdf-lite/test/unit/tokeniser.test.ts +0 -1213
- package/packages/pdf-lite/test/unit/utils.test.ts +0 -248
- package/packages/pdf-lite/test/unit/xref-lookup.test.ts +0 -72
- package/packages/pdf-lite/tsconfig.json +0 -4
- package/packages/pdf-lite/tsconfig.prod.json +0 -8
- package/packages/pdf-lite/typedoc.json +0 -14
- package/packages/pdf-lite/vitest.config.ts +0 -43
- package/pnpm-workspace.yaml +0 -2
- package/renovate.json +0 -34
- package/scripts/build-examples.ts +0 -30
- package/scripts/bump-version.sh +0 -56
- package/scripts/gen-html-docs.sh +0 -21
- package/scripts/gen-md-docs.sh +0 -15
- package/scripts/prepare-release.sh +0 -33
- package/tsconfig.json +0 -22
- package/tsconfig.prod.json +0 -12
- package/typedoc.json +0 -34
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { deflate, Inflate } from 'pako'
|
|
2
|
-
import { bytesToHex } from './bytesToHex.js'
|
|
3
|
-
import { AlgorithmIdentifier } from 'pki-lite/algorithms/AlgorithmIdentifier'
|
|
4
|
-
import 'pki-lite-crypto-extended'
|
|
5
|
-
import { ByteArray } from '../types.js'
|
|
6
|
-
|
|
1
|
+
import { deflate, Inflate } from 'pako';
|
|
2
|
+
import { bytesToHex } from './bytesToHex.js';
|
|
3
|
+
import { AlgorithmIdentifier } from 'pki-lite/algorithms/AlgorithmIdentifier';
|
|
4
|
+
import 'pki-lite-crypto-extended';
|
|
7
5
|
/**
|
|
8
6
|
* Computes the SHA-1 hash of the input data.
|
|
9
7
|
*
|
|
@@ -15,10 +13,9 @@ import { ByteArray } from '../types.js'
|
|
|
15
13
|
* const hash = await sha1(new Uint8Array([1, 2, 3]))
|
|
16
14
|
* ```
|
|
17
15
|
*/
|
|
18
|
-
export async function sha1(input
|
|
19
|
-
return AlgorithmIdentifier.digestAlgorithm('SHA-1').digest(input)
|
|
16
|
+
export async function sha1(input) {
|
|
17
|
+
return AlgorithmIdentifier.digestAlgorithm('SHA-1').digest(input);
|
|
20
18
|
}
|
|
21
|
-
|
|
22
19
|
/**
|
|
23
20
|
* Computes the SHA-256 hash of the input data.
|
|
24
21
|
*
|
|
@@ -30,10 +27,9 @@ export async function sha1(input: ByteArray): Promise<ByteArray> {
|
|
|
30
27
|
* const hash = await sha256(new Uint8Array([1, 2, 3]))
|
|
31
28
|
* ```
|
|
32
29
|
*/
|
|
33
|
-
export async function sha256(input
|
|
34
|
-
return AlgorithmIdentifier.digestAlgorithm('SHA-256').digest(input)
|
|
30
|
+
export async function sha256(input) {
|
|
31
|
+
return AlgorithmIdentifier.digestAlgorithm('SHA-256').digest(input);
|
|
35
32
|
}
|
|
36
|
-
|
|
37
33
|
/**
|
|
38
34
|
* Computes the SHA-384 hash of the input data.
|
|
39
35
|
*
|
|
@@ -45,10 +41,9 @@ export async function sha256(input: ByteArray): Promise<ByteArray> {
|
|
|
45
41
|
* const hash = await sha384(new Uint8Array([1, 2, 3]))
|
|
46
42
|
* ```
|
|
47
43
|
*/
|
|
48
|
-
export async function sha384(input
|
|
49
|
-
return AlgorithmIdentifier.digestAlgorithm('SHA-384').digest(input)
|
|
44
|
+
export async function sha384(input) {
|
|
45
|
+
return AlgorithmIdentifier.digestAlgorithm('SHA-384').digest(input);
|
|
50
46
|
}
|
|
51
|
-
|
|
52
47
|
/**
|
|
53
48
|
* Computes the SHA-512 hash of the input data.
|
|
54
49
|
*
|
|
@@ -60,10 +55,9 @@ export async function sha384(input: ByteArray): Promise<ByteArray> {
|
|
|
60
55
|
* const hash = await sha512(new Uint8Array([1, 2, 3]))
|
|
61
56
|
* ```
|
|
62
57
|
*/
|
|
63
|
-
export async function sha512(input
|
|
64
|
-
return AlgorithmIdentifier.digestAlgorithm('SHA-512').digest(input)
|
|
58
|
+
export async function sha512(input) {
|
|
59
|
+
return AlgorithmIdentifier.digestAlgorithm('SHA-512').digest(input);
|
|
65
60
|
}
|
|
66
|
-
|
|
67
61
|
/**
|
|
68
62
|
* Computes the MD5 hash of the input data.
|
|
69
63
|
*
|
|
@@ -75,10 +69,9 @@ export async function sha512(input: ByteArray): Promise<ByteArray> {
|
|
|
75
69
|
* const hash = await md5(new Uint8Array([1, 2, 3]))
|
|
76
70
|
* ```
|
|
77
71
|
*/
|
|
78
|
-
export async function md5(input
|
|
79
|
-
return AlgorithmIdentifier.digestAlgorithm('MD5').digest(input)
|
|
72
|
+
export async function md5(input) {
|
|
73
|
+
return AlgorithmIdentifier.digestAlgorithm('MD5').digest(input);
|
|
80
74
|
}
|
|
81
|
-
|
|
82
75
|
/**
|
|
83
76
|
* Computes a cryptographic hash of the input data using the specified algorithm.
|
|
84
77
|
*
|
|
@@ -92,26 +85,22 @@ export async function md5(input: ByteArray): Promise<ByteArray> {
|
|
|
92
85
|
* const hash = await hash(data, 'SHA-256')
|
|
93
86
|
* ```
|
|
94
87
|
*/
|
|
95
|
-
export async function hash(
|
|
96
|
-
input: ByteArray,
|
|
97
|
-
algorithm: 'SHA-256' | 'SHA-384' | 'SHA-512' | 'MD5' | 'SHA-1' = 'SHA-256',
|
|
98
|
-
): Promise<ByteArray> {
|
|
88
|
+
export async function hash(input, algorithm = 'SHA-256') {
|
|
99
89
|
switch (algorithm) {
|
|
100
90
|
case 'SHA-256':
|
|
101
|
-
return sha256(input)
|
|
91
|
+
return sha256(input);
|
|
102
92
|
case 'SHA-384':
|
|
103
|
-
return sha384(input)
|
|
93
|
+
return sha384(input);
|
|
104
94
|
case 'SHA-512':
|
|
105
|
-
return sha512(input)
|
|
95
|
+
return sha512(input);
|
|
106
96
|
case 'MD5':
|
|
107
|
-
return md5(input)
|
|
97
|
+
return md5(input);
|
|
108
98
|
case 'SHA-1':
|
|
109
|
-
return sha1(input)
|
|
99
|
+
return sha1(input);
|
|
110
100
|
default:
|
|
111
|
-
throw new Error(`Unsupported hash algorithm: ${algorithm}`)
|
|
101
|
+
throw new Error(`Unsupported hash algorithm: ${algorithm}`);
|
|
112
102
|
}
|
|
113
103
|
}
|
|
114
|
-
|
|
115
104
|
/**
|
|
116
105
|
* Generates cryptographically secure random bytes.
|
|
117
106
|
*
|
|
@@ -124,11 +113,11 @@ export async function hash(
|
|
|
124
113
|
* const randomBytes = getRandomBytes(16) // 16 random bytes
|
|
125
114
|
* ```
|
|
126
115
|
*/
|
|
127
|
-
export function getRandomBytes(length
|
|
128
|
-
if (length <= 0)
|
|
129
|
-
|
|
116
|
+
export function getRandomBytes(length) {
|
|
117
|
+
if (length <= 0)
|
|
118
|
+
throw new Error('Length must be a positive integer');
|
|
119
|
+
return AlgorithmIdentifier.randomBytes(length);
|
|
130
120
|
}
|
|
131
|
-
|
|
132
121
|
/**
|
|
133
122
|
* Encrypts data using AES-128-CBC mode.
|
|
134
123
|
*
|
|
@@ -143,25 +132,17 @@ export function getRandomBytes(length: number): ByteArray {
|
|
|
143
132
|
* const encrypted = await aes128cbcEncrypt(key, plaintext, iv)
|
|
144
133
|
* ```
|
|
145
134
|
*/
|
|
146
|
-
export async function aes128cbcEncrypt(
|
|
147
|
-
key: ByteArray,
|
|
148
|
-
data: ByteArray,
|
|
149
|
-
iv: ByteArray = new Uint8Array(16), // Zero IV, as per PDF spec
|
|
150
|
-
): Promise<ByteArray> {
|
|
135
|
+
export async function aes128cbcEncrypt(key, data, iv = new Uint8Array(16)) {
|
|
151
136
|
if (key.length !== 16) {
|
|
152
|
-
throw new Error(
|
|
153
|
-
`AES-128 key must be exactly 16 bytes, got ${key.length}`,
|
|
154
|
-
)
|
|
137
|
+
throw new Error(`AES-128 key must be exactly 16 bytes, got ${key.length}`);
|
|
155
138
|
}
|
|
156
|
-
|
|
157
139
|
return AlgorithmIdentifier.contentEncryptionAlgorithm({
|
|
158
140
|
type: 'AES_128_CBC',
|
|
159
141
|
params: {
|
|
160
142
|
nonce: iv,
|
|
161
143
|
},
|
|
162
|
-
}).encrypt(data, key)
|
|
144
|
+
}).encrypt(data, key);
|
|
163
145
|
}
|
|
164
|
-
|
|
165
146
|
/**
|
|
166
147
|
* Decrypts data using AES-128-CBC mode.
|
|
167
148
|
*
|
|
@@ -176,28 +157,20 @@ export async function aes128cbcEncrypt(
|
|
|
176
157
|
* const decrypted = await aes128cbcDecrypt(key, ciphertext, iv)
|
|
177
158
|
* ```
|
|
178
159
|
*/
|
|
179
|
-
export async function aes128cbcDecrypt(
|
|
180
|
-
key: ByteArray,
|
|
181
|
-
encrypted: ByteArray,
|
|
182
|
-
iv: ByteArray = new Uint8Array(16), // Zero IV, as per PDF spec
|
|
183
|
-
): Promise<ByteArray> {
|
|
160
|
+
export async function aes128cbcDecrypt(key, encrypted, iv = new Uint8Array(16)) {
|
|
184
161
|
if (key.length !== 16) {
|
|
185
|
-
throw new Error(
|
|
186
|
-
`AES-128 key must be exactly 16 bytes, got ${key.length}`,
|
|
187
|
-
)
|
|
162
|
+
throw new Error(`AES-128 key must be exactly 16 bytes, got ${key.length}`);
|
|
188
163
|
}
|
|
189
164
|
if (encrypted.length < 16) {
|
|
190
|
-
throw new Error('Encrypted stream too short — no IV found')
|
|
165
|
+
throw new Error('Encrypted stream too short — no IV found');
|
|
191
166
|
}
|
|
192
|
-
|
|
193
167
|
return AlgorithmIdentifier.contentEncryptionAlgorithm({
|
|
194
168
|
type: 'AES_128_CBC',
|
|
195
169
|
params: {
|
|
196
170
|
nonce: iv,
|
|
197
171
|
},
|
|
198
|
-
}).decrypt(encrypted, key)
|
|
172
|
+
}).decrypt(encrypted, key);
|
|
199
173
|
}
|
|
200
|
-
|
|
201
174
|
/**
|
|
202
175
|
* Encrypts data using AES-256-CBC mode.
|
|
203
176
|
*
|
|
@@ -211,19 +184,14 @@ export async function aes128cbcDecrypt(
|
|
|
211
184
|
* const encrypted = await aes256cbcEncrypt(key, plaintext, iv)
|
|
212
185
|
* ```
|
|
213
186
|
*/
|
|
214
|
-
export async function aes256cbcEncrypt(
|
|
215
|
-
fileKey: ByteArray,
|
|
216
|
-
block: ByteArray,
|
|
217
|
-
iv: ByteArray = new Uint8Array(16), // Zero IV, as per PDF spec
|
|
218
|
-
): Promise<ByteArray> {
|
|
187
|
+
export async function aes256cbcEncrypt(fileKey, block, iv = new Uint8Array(16)) {
|
|
219
188
|
return AlgorithmIdentifier.contentEncryptionAlgorithm({
|
|
220
189
|
type: 'AES_256_CBC',
|
|
221
190
|
params: {
|
|
222
191
|
nonce: iv,
|
|
223
192
|
},
|
|
224
|
-
}).encrypt(block, fileKey)
|
|
193
|
+
}).encrypt(block, fileKey);
|
|
225
194
|
}
|
|
226
|
-
|
|
227
195
|
/**
|
|
228
196
|
* Decrypts data using AES-256-CBC mode.
|
|
229
197
|
*
|
|
@@ -237,19 +205,14 @@ export async function aes256cbcEncrypt(
|
|
|
237
205
|
* const decrypted = await aes256cbcDecrypt(key, ciphertext, iv)
|
|
238
206
|
* ```
|
|
239
207
|
*/
|
|
240
|
-
export async function aes256cbcDecrypt(
|
|
241
|
-
fileKey: ByteArray,
|
|
242
|
-
ciphertext: ByteArray,
|
|
243
|
-
iv: ByteArray = new Uint8Array(16), // Zero IV, as per PDF spec
|
|
244
|
-
): Promise<ByteArray> {
|
|
208
|
+
export async function aes256cbcDecrypt(fileKey, ciphertext, iv = new Uint8Array(16)) {
|
|
245
209
|
return AlgorithmIdentifier.contentEncryptionAlgorithm({
|
|
246
210
|
type: 'AES_256_CBC',
|
|
247
211
|
params: {
|
|
248
212
|
nonce: iv,
|
|
249
213
|
},
|
|
250
|
-
}).decrypt(ciphertext, fileKey)
|
|
214
|
+
}).decrypt(ciphertext, fileKey);
|
|
251
215
|
}
|
|
252
|
-
|
|
253
216
|
/**
|
|
254
217
|
* Encrypts data using AES-256-ECB mode.
|
|
255
218
|
*
|
|
@@ -263,22 +226,15 @@ export async function aes256cbcDecrypt(
|
|
|
263
226
|
* const encrypted = await aes256ecbEncrypt(key, plaintext)
|
|
264
227
|
* ```
|
|
265
228
|
*/
|
|
266
|
-
export async function aes256ecbEncrypt(
|
|
267
|
-
fileKey: ByteArray,
|
|
268
|
-
data: ByteArray,
|
|
269
|
-
): Promise<ByteArray> {
|
|
229
|
+
export async function aes256ecbEncrypt(fileKey, data) {
|
|
270
230
|
if (fileKey.length !== 32) {
|
|
271
|
-
throw new Error(
|
|
272
|
-
`AES-256 key must be exactly 32 bytes, got ${fileKey.length}`,
|
|
273
|
-
)
|
|
231
|
+
throw new Error(`AES-256 key must be exactly 32 bytes, got ${fileKey.length}`);
|
|
274
232
|
}
|
|
275
|
-
|
|
276
233
|
return AlgorithmIdentifier.contentEncryptionAlgorithm({
|
|
277
234
|
type: 'AES_256_ECB',
|
|
278
235
|
params: {},
|
|
279
|
-
}).encrypt(data, fileKey)
|
|
236
|
+
}).encrypt(data, fileKey);
|
|
280
237
|
}
|
|
281
|
-
|
|
282
238
|
/**
|
|
283
239
|
* Decrypts data using AES-256-ECB mode.
|
|
284
240
|
*
|
|
@@ -292,22 +248,15 @@ export async function aes256ecbEncrypt(
|
|
|
292
248
|
* const decrypted = await aes256ecbDecrypt(key, ciphertext)
|
|
293
249
|
* ```
|
|
294
250
|
*/
|
|
295
|
-
export async function aes256ecbDecrypt(
|
|
296
|
-
fileKey: ByteArray,
|
|
297
|
-
encrypted: ByteArray,
|
|
298
|
-
): Promise<ByteArray> {
|
|
251
|
+
export async function aes256ecbDecrypt(fileKey, encrypted) {
|
|
299
252
|
if (fileKey.length !== 32) {
|
|
300
|
-
throw new Error(
|
|
301
|
-
`AES-256 key must be exactly 32 bytes, got ${fileKey.length}`,
|
|
302
|
-
)
|
|
253
|
+
throw new Error(`AES-256 key must be exactly 32 bytes, got ${fileKey.length}`);
|
|
303
254
|
}
|
|
304
|
-
|
|
305
255
|
return AlgorithmIdentifier.contentEncryptionAlgorithm({
|
|
306
256
|
type: 'AES_256_ECB',
|
|
307
257
|
params: {},
|
|
308
|
-
}).decrypt(encrypted, fileKey)
|
|
258
|
+
}).decrypt(encrypted, fileKey);
|
|
309
259
|
}
|
|
310
|
-
|
|
311
260
|
/**
|
|
312
261
|
* Encrypts data using AES-128-CBC mode without PKCS#7 padding.
|
|
313
262
|
*
|
|
@@ -321,20 +270,15 @@ export async function aes256ecbDecrypt(
|
|
|
321
270
|
* const encrypted = await aes128CbcNoPaddingEncrypt(key, data, iv)
|
|
322
271
|
* ```
|
|
323
272
|
*/
|
|
324
|
-
export async function aes128CbcNoPaddingEncrypt(
|
|
325
|
-
key: ByteArray,
|
|
326
|
-
data: ByteArray,
|
|
327
|
-
iv: ByteArray,
|
|
328
|
-
): Promise<ByteArray> {
|
|
273
|
+
export async function aes128CbcNoPaddingEncrypt(key, data, iv) {
|
|
329
274
|
return AlgorithmIdentifier.contentEncryptionAlgorithm({
|
|
330
275
|
type: 'AES_128_CBC',
|
|
331
276
|
params: {
|
|
332
277
|
nonce: iv,
|
|
333
278
|
disablePadding: true,
|
|
334
279
|
},
|
|
335
|
-
}).encrypt(data, key)
|
|
280
|
+
}).encrypt(data, key);
|
|
336
281
|
}
|
|
337
|
-
|
|
338
282
|
/**
|
|
339
283
|
* Encrypts data using AES-256-CBC mode without PKCS#7 padding.
|
|
340
284
|
*
|
|
@@ -348,20 +292,15 @@ export async function aes128CbcNoPaddingEncrypt(
|
|
|
348
292
|
* const encrypted = await aes256CbcNoPaddingEncrypt(key, data, iv)
|
|
349
293
|
* ```
|
|
350
294
|
*/
|
|
351
|
-
export async function aes256CbcNoPaddingEncrypt(
|
|
352
|
-
key: ByteArray,
|
|
353
|
-
data: ByteArray,
|
|
354
|
-
iv: ByteArray,
|
|
355
|
-
): Promise<ByteArray> {
|
|
295
|
+
export async function aes256CbcNoPaddingEncrypt(key, data, iv) {
|
|
356
296
|
return AlgorithmIdentifier.contentEncryptionAlgorithm({
|
|
357
297
|
type: 'AES_256_CBC',
|
|
358
298
|
params: {
|
|
359
299
|
nonce: iv,
|
|
360
300
|
disablePadding: true,
|
|
361
301
|
},
|
|
362
|
-
}).encrypt(data, key)
|
|
302
|
+
}).encrypt(data, key);
|
|
363
303
|
}
|
|
364
|
-
|
|
365
304
|
/**
|
|
366
305
|
* Decrypts data using AES-256-CBC mode without PKCS#7 padding.
|
|
367
306
|
*
|
|
@@ -375,20 +314,15 @@ export async function aes256CbcNoPaddingEncrypt(
|
|
|
375
314
|
* const decrypted = await aes256CbcNoPaddingDecrypt(key, ciphertext, iv)
|
|
376
315
|
* ```
|
|
377
316
|
*/
|
|
378
|
-
export async function aes256CbcNoPaddingDecrypt(
|
|
379
|
-
key: ByteArray,
|
|
380
|
-
ciphertext: ByteArray,
|
|
381
|
-
iv: ByteArray = new Uint8Array(16),
|
|
382
|
-
): Promise<ByteArray> {
|
|
317
|
+
export async function aes256CbcNoPaddingDecrypt(key, ciphertext, iv = new Uint8Array(16)) {
|
|
383
318
|
return AlgorithmIdentifier.contentEncryptionAlgorithm({
|
|
384
319
|
type: 'AES_256_CBC',
|
|
385
320
|
params: {
|
|
386
321
|
nonce: iv,
|
|
387
322
|
disablePadding: true,
|
|
388
323
|
},
|
|
389
|
-
}).decrypt(ciphertext, key)
|
|
324
|
+
}).decrypt(ciphertext, key);
|
|
390
325
|
}
|
|
391
|
-
|
|
392
326
|
/**
|
|
393
327
|
* Compresses data using the DEFLATE algorithm.
|
|
394
328
|
*
|
|
@@ -400,14 +334,13 @@ export async function aes256CbcNoPaddingDecrypt(
|
|
|
400
334
|
* const compressed = deflateData(rawData)
|
|
401
335
|
* ```
|
|
402
336
|
*/
|
|
403
|
-
export function deflateData(data
|
|
404
|
-
const output = deflate(data)
|
|
337
|
+
export function deflateData(data) {
|
|
338
|
+
const output = deflate(data);
|
|
405
339
|
if (!output) {
|
|
406
|
-
return new Uint8Array(0)
|
|
340
|
+
return new Uint8Array(0);
|
|
407
341
|
}
|
|
408
|
-
return output
|
|
342
|
+
return output;
|
|
409
343
|
}
|
|
410
|
-
|
|
411
344
|
/**
|
|
412
345
|
* Decompresses data using the INFLATE algorithm (reverses DEFLATE).
|
|
413
346
|
*
|
|
@@ -420,27 +353,21 @@ export function deflateData(data: ByteArray): ByteArray {
|
|
|
420
353
|
* const decompressed = inflateData(compressedData)
|
|
421
354
|
* ```
|
|
422
355
|
*/
|
|
423
|
-
export function inflateData(data
|
|
356
|
+
export function inflateData(data) {
|
|
424
357
|
if (data.length === 0) {
|
|
425
|
-
return new Uint8Array(0) // Return empty array for empty input
|
|
358
|
+
return new Uint8Array(0); // Return empty array for empty input
|
|
426
359
|
}
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
const inflate = new Inflate()
|
|
433
|
-
inflate.push(data, true)
|
|
434
|
-
|
|
360
|
+
const isWhitespace = (byte) => {
|
|
361
|
+
return byte === 0x20 || byte === 0x09 || byte === 0x0a || byte === 0x0d;
|
|
362
|
+
};
|
|
363
|
+
const inflate = new Inflate();
|
|
364
|
+
inflate.push(data, true);
|
|
435
365
|
if (inflate.err || !inflate.result) {
|
|
436
366
|
if (isWhitespace(data[data.length - 1])) {
|
|
437
|
-
data = data.slice(0, -1) // Remove trailing whitespace]
|
|
438
|
-
return inflateData(data) // Retry inflation after removing whitespace
|
|
367
|
+
data = data.slice(0, -1); // Remove trailing whitespace]
|
|
368
|
+
return inflateData(data); // Retry inflation after removing whitespace
|
|
439
369
|
}
|
|
440
|
-
throw new Error(
|
|
441
|
-
`Inflate error: ${inflate.err} - ${inflate.msg}. Data hex: ${bytesToHex(data)}`,
|
|
442
|
-
) // Log the hex representation of the data for debugging
|
|
370
|
+
throw new Error(`Inflate error: ${inflate.err} - ${inflate.msg}. Data hex: ${bytesToHex(data)}`); // Log the hex representation of the data for debugging
|
|
443
371
|
}
|
|
444
|
-
|
|
445
|
-
return inflate.result as ByteArray
|
|
372
|
+
return inflate.result;
|
|
446
373
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asserts that a value is truthy, throwing an error if it is not.
|
|
3
|
+
*
|
|
4
|
+
* @param value - The value to check.
|
|
5
|
+
* @param message - Optional error message to throw if the assertion fails.
|
|
6
|
+
* @throws Error if the value is falsy.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* assert(user !== null, 'User must be defined')
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare function assert(value: unknown, message?: string): asserts value;
|
|
14
|
+
/**
|
|
15
|
+
* Conditionally asserts a condition only when a value is defined.
|
|
16
|
+
* Does nothing if the value is undefined or null.
|
|
17
|
+
*
|
|
18
|
+
* @param value - The value to check for definedness.
|
|
19
|
+
* @param condition - The condition to assert if value is defined.
|
|
20
|
+
* @param message - Optional error message to throw if the assertion fails.
|
|
21
|
+
* @throws Error if value is defined and condition is falsy.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* assertIfDefined(user, user?.age >= 18, 'User must be an adult')
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function assertIfDefined(value: unknown, condition: unknown, message?: string): asserts condition;
|
|
@@ -10,12 +10,11 @@
|
|
|
10
10
|
* assert(user !== null, 'User must be defined')
|
|
11
11
|
* ```
|
|
12
12
|
*/
|
|
13
|
-
export function assert(value
|
|
13
|
+
export function assert(value, message) {
|
|
14
14
|
if (!value) {
|
|
15
|
-
throw new Error(message)
|
|
15
|
+
throw new Error(message);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
|
|
19
18
|
/**
|
|
20
19
|
* Conditionally asserts a condition only when a value is defined.
|
|
21
20
|
* Does nothing if the value is undefined or null.
|
|
@@ -30,13 +29,9 @@ export function assert(value: unknown, message?: string): asserts value {
|
|
|
30
29
|
* assertIfDefined(user, user?.age >= 18, 'User must be an adult')
|
|
31
30
|
* ```
|
|
32
31
|
*/
|
|
33
|
-
export function assertIfDefined(
|
|
34
|
-
value: unknown,
|
|
35
|
-
condition: unknown,
|
|
36
|
-
message?: string,
|
|
37
|
-
): asserts condition {
|
|
32
|
+
export function assertIfDefined(value, condition, message) {
|
|
38
33
|
if (value === undefined || value === null) {
|
|
39
|
-
return
|
|
34
|
+
return;
|
|
40
35
|
}
|
|
41
|
-
assert(condition, message)
|
|
36
|
+
assert(condition, message);
|
|
42
37
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ByteArray } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Converts a byte array to a hexadecimal string.
|
|
4
|
+
*
|
|
5
|
+
* @param bytes - The byte array to convert.
|
|
6
|
+
* @returns A hexadecimal string representation of the bytes.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* bytesToHex(new Uint8Array([255, 0, 127])) // Returns 'FF007F'
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare function bytesToHex(bytes: ByteArray): string;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { bytesToString } from './bytesToString'
|
|
4
|
-
|
|
1
|
+
import { bytesToHexBytes } from './bytesToHexBytes';
|
|
2
|
+
import { bytesToString } from './bytesToString';
|
|
5
3
|
/**
|
|
6
4
|
* Converts a byte array to a hexadecimal string.
|
|
7
5
|
*
|
|
@@ -13,6 +11,6 @@ import { bytesToString } from './bytesToString'
|
|
|
13
11
|
* bytesToHex(new Uint8Array([255, 0, 127])) // Returns 'FF007F'
|
|
14
12
|
* ```
|
|
15
13
|
*/
|
|
16
|
-
export function bytesToHex(bytes
|
|
17
|
-
return bytesToString(bytesToHexBytes(bytes))
|
|
14
|
+
export function bytesToHex(bytes) {
|
|
15
|
+
return bytesToString(bytesToHexBytes(bytes));
|
|
18
16
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ByteArray } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Converts a byte array to a byte array containing hexadecimal character codes.
|
|
4
|
+
* Each byte becomes two bytes representing its hex digits.
|
|
5
|
+
*
|
|
6
|
+
* @param bytes - The byte array to convert.
|
|
7
|
+
* @returns A byte array with hexadecimal character codes.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* bytesToHexBytes(new Uint8Array([255])) // Returns bytes for 'FF'
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare function bytesToHexBytes(bytes: ByteArray): ByteArray;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const hexChars = '0123456789ABCDEF'
|
|
4
|
-
|
|
1
|
+
const hexChars = '0123456789ABCDEF';
|
|
5
2
|
/**
|
|
6
3
|
* Converts a byte array to a byte array containing hexadecimal character codes.
|
|
7
4
|
* Each byte becomes two bytes representing its hex digits.
|
|
@@ -14,14 +11,12 @@ const hexChars = '0123456789ABCDEF'
|
|
|
14
11
|
* bytesToHexBytes(new Uint8Array([255])) // Returns bytes for 'FF'
|
|
15
12
|
* ```
|
|
16
13
|
*/
|
|
17
|
-
export function bytesToHexBytes(bytes
|
|
18
|
-
const result = new Uint8Array(bytes.length * 2)
|
|
19
|
-
|
|
14
|
+
export function bytesToHexBytes(bytes) {
|
|
15
|
+
const result = new Uint8Array(bytes.length * 2);
|
|
20
16
|
for (let i = 0; i < bytes.length; i++) {
|
|
21
|
-
const byte = bytes[i]
|
|
22
|
-
result[i * 2] = hexChars.charCodeAt((byte >> 4) & 0x0f)
|
|
23
|
-
result[i * 2 + 1] = hexChars.charCodeAt(byte & 0x0f)
|
|
17
|
+
const byte = bytes[i];
|
|
18
|
+
result[i * 2] = hexChars.charCodeAt((byte >> 4) & 0x0f);
|
|
19
|
+
result[i * 2 + 1] = hexChars.charCodeAt(byte & 0x0f);
|
|
24
20
|
}
|
|
25
|
-
|
|
26
|
-
return result
|
|
21
|
+
return result;
|
|
27
22
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ByteArray } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Converts a byte array to a string using UTF-8 decoding.
|
|
4
|
+
*
|
|
5
|
+
* @param bytes - The byte array to decode.
|
|
6
|
+
* @returns The decoded string.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* bytesToString(new Uint8Array([72, 101, 108, 108, 111])) // Returns 'Hello'
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare function bytesToString(bytes: ByteArray): string;
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { ByteArray } from '../types'
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* Converts a byte array to a string using UTF-8 decoding.
|
|
5
3
|
*
|
|
@@ -11,7 +9,7 @@ import { ByteArray } from '../types'
|
|
|
11
9
|
* bytesToString(new Uint8Array([72, 101, 108, 108, 111])) // Returns 'Hello'
|
|
12
10
|
* ```
|
|
13
11
|
*/
|
|
14
|
-
export function bytesToString(bytes
|
|
15
|
-
const decoder = new TextDecoder()
|
|
16
|
-
return decoder.decode(bytes)
|
|
12
|
+
export function bytesToString(bytes) {
|
|
13
|
+
const decoder = new TextDecoder();
|
|
14
|
+
return decoder.decode(bytes);
|
|
17
15
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ByteArray } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Concatenates multiple Uint8Array instances into a single ByteArray.
|
|
4
|
+
*
|
|
5
|
+
* @param arrays - The arrays to concatenate.
|
|
6
|
+
* @returns A new ByteArray containing all input arrays concatenated in order.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const result = concatUint8Arrays(
|
|
11
|
+
* new Uint8Array([1, 2]),
|
|
12
|
+
* new Uint8Array([3, 4])
|
|
13
|
+
* ) // Returns Uint8Array([1, 2, 3, 4])
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare function concatUint8Arrays(...arrays: Uint8Array[]): ByteArray;
|
package/{packages/pdf-lite/src/utils/concatUint8Arrays.ts → dist/utils/concatUint8Arrays.js}
RENAMED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { ByteArray } from '../types'
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* Concatenates multiple Uint8Array instances into a single ByteArray.
|
|
5
3
|
*
|
|
@@ -14,13 +12,13 @@ import { ByteArray } from '../types'
|
|
|
14
12
|
* ) // Returns Uint8Array([1, 2, 3, 4])
|
|
15
13
|
* ```
|
|
16
14
|
*/
|
|
17
|
-
export function concatUint8Arrays(...arrays
|
|
18
|
-
const totalLength = arrays.reduce((acc, arr) => acc + arr.length, 0)
|
|
19
|
-
const result = new Uint8Array(totalLength)
|
|
20
|
-
let offset = 0
|
|
15
|
+
export function concatUint8Arrays(...arrays) {
|
|
16
|
+
const totalLength = arrays.reduce((acc, arr) => acc + arr.length, 0);
|
|
17
|
+
const result = new Uint8Array(totalLength);
|
|
18
|
+
let offset = 0;
|
|
21
19
|
for (const arr of arrays) {
|
|
22
|
-
result.set(arr, offset)
|
|
23
|
-
offset += arr.length
|
|
20
|
+
result.set(arr, offset);
|
|
21
|
+
offset += arr.length;
|
|
24
22
|
}
|
|
25
|
-
return result
|
|
23
|
+
return result;
|
|
26
24
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ByteArray } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Escapes special characters in a PDF string according to PDF specification.
|
|
4
|
+
* Escapes parentheses, backslashes, line feeds, and carriage returns.
|
|
5
|
+
*
|
|
6
|
+
* @param bytes - The byte array or string to escape.
|
|
7
|
+
* @returns A new byte array with escaped characters.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* escapeString('Hello (World)') // Escapes the parentheses
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare function escapeString(bytes: ByteArray | string): ByteArray;
|