pdf-lite 1.0.1-alpha.2 → 1.0.1-alpha.3
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
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { PdfCommentToken } from '../core/tokens/comment-token';
|
|
2
|
+
import { PdfHexadecimalToken } from '../core/tokens/hexadecimal-token';
|
|
3
|
+
import { PdfNameToken } from '../core/tokens/name-token';
|
|
4
|
+
import { concatUint8Arrays } from '../utils/concatUint8Arrays';
|
|
5
|
+
import { PdfDocumentSecurityStoreObject } from './document-security-store';
|
|
6
|
+
import { PdfSignatureObject } from './signatures';
|
|
7
|
+
/**
|
|
8
|
+
* Handles digital signing operations for PDF documents.
|
|
9
|
+
* Processes signature objects and optionally stores revocation information in the DSS.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const signer = new PdfSigner()
|
|
14
|
+
* const signedDoc = await signer.sign(document)
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export class PdfSigner {
|
|
18
|
+
/** Whether to use the Document Security Store for revocation information. */
|
|
19
|
+
useDocumentSecurityStore = true;
|
|
20
|
+
/**
|
|
21
|
+
* Signs all signature objects in the document.
|
|
22
|
+
* Computes byte ranges, generates signatures, and optionally adds revocation info to DSS.
|
|
23
|
+
*
|
|
24
|
+
* @param document - The PDF document to sign.
|
|
25
|
+
* @returns The signed document.
|
|
26
|
+
*/
|
|
27
|
+
async sign(document) {
|
|
28
|
+
const signatures = [
|
|
29
|
+
...document.objects.filter((x) => x instanceof PdfSignatureObject),
|
|
30
|
+
];
|
|
31
|
+
const dss = this.useDocumentSecurityStore
|
|
32
|
+
? (document.objects.find((x) => x instanceof PdfDocumentSecurityStoreObject) ?? new PdfDocumentSecurityStoreObject(document))
|
|
33
|
+
: undefined;
|
|
34
|
+
for (let i = 0; i < signatures.length; i++) {
|
|
35
|
+
const signature = signatures[i];
|
|
36
|
+
const tokens = document.tokensWithObjects();
|
|
37
|
+
const signableTokens = [];
|
|
38
|
+
let contentsOffset = 0;
|
|
39
|
+
let contentsLength = 0;
|
|
40
|
+
let byteCount = 0;
|
|
41
|
+
let seen = 0;
|
|
42
|
+
for (let j = 0; j < tokens.length; j++) {
|
|
43
|
+
let { token, object } = tokens[j];
|
|
44
|
+
if (!(object instanceof PdfSignatureObject)) {
|
|
45
|
+
signableTokens.push(token);
|
|
46
|
+
}
|
|
47
|
+
else if (!(token instanceof PdfNameToken) ||
|
|
48
|
+
token.name !== 'Contents') {
|
|
49
|
+
signableTokens.push(token);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
while (token instanceof PdfHexadecimalToken === false) {
|
|
53
|
+
byteCount += token.byteLength;
|
|
54
|
+
token = tokens[++j].token;
|
|
55
|
+
}
|
|
56
|
+
const contentsToken = token;
|
|
57
|
+
const tokenStr = contentsToken.toString();
|
|
58
|
+
const start = tokenStr.indexOf('<');
|
|
59
|
+
contentsOffset = byteCount + start;
|
|
60
|
+
contentsLength = tokenStr.indexOf('>') - start + 1;
|
|
61
|
+
seen++;
|
|
62
|
+
}
|
|
63
|
+
byteCount += token.byteLength;
|
|
64
|
+
if (seen === i + 1 &&
|
|
65
|
+
PdfCommentToken.isEofCommentToken(token)) {
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
const byteRange = [
|
|
70
|
+
0,
|
|
71
|
+
contentsOffset,
|
|
72
|
+
contentsOffset + contentsLength,
|
|
73
|
+
byteCount - (contentsOffset + contentsLength),
|
|
74
|
+
];
|
|
75
|
+
signature.setByteRange(byteRange);
|
|
76
|
+
const allBytes = document.toBytes();
|
|
77
|
+
const toSign = concatUint8Arrays(allBytes.slice(byteRange[0], byteRange[1]), allBytes.slice(byteRange[2], byteRange[3] + byteRange[2]));
|
|
78
|
+
const { signedBytes, revocationInfo } = await signature.sign({
|
|
79
|
+
bytes: toSign,
|
|
80
|
+
embedRevocationInfo: !Boolean(dss),
|
|
81
|
+
});
|
|
82
|
+
signature.setSignedBytes(signedBytes);
|
|
83
|
+
if (dss && revocationInfo) {
|
|
84
|
+
await dss.addRevocationInfo(revocationInfo);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (dss && !dss.isEmpty()) {
|
|
88
|
+
await document.setDocumentSecurityStore(dss);
|
|
89
|
+
}
|
|
90
|
+
return document;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { HashAlgorithm } from 'pki-lite/core/crypto/index.js'
|
|
2
|
-
import { PdfDictionary } from '../core/objects/pdf-dictionary'
|
|
3
|
-
import { PdfName } from '../core/objects/pdf-name'
|
|
4
|
-
import { PdfHexadecimal } from '../core/objects/pdf-hexadecimal'
|
|
5
|
-
import { PdfArray } from '../core/objects/pdf-array'
|
|
6
|
-
import { PdfNumber } from '../core/objects/pdf-number'
|
|
7
|
-
import { PdfString } from '../core/objects/pdf-string'
|
|
8
|
-
import { ByteArray } from '../types'
|
|
9
|
-
|
|
1
|
+
import { HashAlgorithm } from 'pki-lite/core/crypto/index.js';
|
|
2
|
+
import { PdfDictionary } from '../core/objects/pdf-dictionary';
|
|
3
|
+
import { PdfName } from '../core/objects/pdf-name';
|
|
4
|
+
import { PdfHexadecimal } from '../core/objects/pdf-hexadecimal';
|
|
5
|
+
import { PdfArray } from '../core/objects/pdf-array';
|
|
6
|
+
import { PdfNumber } from '../core/objects/pdf-number';
|
|
7
|
+
import { PdfString } from '../core/objects/pdf-string';
|
|
8
|
+
import { ByteArray } from '../types';
|
|
10
9
|
/**
|
|
11
10
|
* PDF signature subfilter types defining the signature format.
|
|
12
11
|
* - 'adbe.pkcs7.detached': PKCS#7 detached signature
|
|
@@ -15,72 +14,65 @@ import { ByteArray } from '../types'
|
|
|
15
14
|
* - 'ETSI.CAdES.detached': CAdES detached signature
|
|
16
15
|
* - 'ETSI.RFC3161': RFC 3161 timestamp signature
|
|
17
16
|
*/
|
|
18
|
-
export type PdfSignatureSubType =
|
|
19
|
-
| 'adbe.pkcs7.detached'
|
|
20
|
-
| 'adbe.pkcs7.sha1'
|
|
21
|
-
| 'adbe.x509.rsa_sha1'
|
|
22
|
-
| 'ETSI.CAdES.detached'
|
|
23
|
-
| 'ETSI.RFC3161'
|
|
24
|
-
|
|
17
|
+
export type PdfSignatureSubType = 'adbe.pkcs7.detached' | 'adbe.pkcs7.sha1' | 'adbe.x509.rsa_sha1' | 'ETSI.CAdES.detached' | 'ETSI.RFC3161';
|
|
25
18
|
/**
|
|
26
19
|
* PDF signature type.
|
|
27
20
|
* - 'Sig': Standard digital signature
|
|
28
21
|
* - 'DocTimeStamp': Document timestamp
|
|
29
22
|
*/
|
|
30
|
-
export type PdfSignatureType = 'Sig' | 'DocTimeStamp'
|
|
31
|
-
|
|
23
|
+
export type PdfSignatureType = 'Sig' | 'DocTimeStamp';
|
|
32
24
|
/**
|
|
33
25
|
* Entries in a PDF signature dictionary.
|
|
34
26
|
*/
|
|
35
27
|
export type PdfSignatureDictionaryEntries = {
|
|
36
|
-
Type: PdfName<PdfSignatureType
|
|
37
|
-
Filter: PdfName
|
|
38
|
-
SubFilter: PdfName<PdfSignatureSubType
|
|
39
|
-
Contents: PdfHexadecimal
|
|
40
|
-
ByteRange: PdfArray<PdfNumber
|
|
41
|
-
Reason?: PdfString
|
|
42
|
-
M?: PdfString
|
|
43
|
-
Name?: PdfString
|
|
44
|
-
Reference?: PdfArray<PdfDictionary
|
|
45
|
-
Location?: PdfString
|
|
46
|
-
ContactInfo?: PdfString
|
|
47
|
-
V?: PdfName<'2.2'
|
|
48
|
-
Changes?: PdfArray<PdfNumber
|
|
49
|
-
Cert?: PdfArray<PdfString | PdfHexadecimal> | PdfString | PdfHexadecimal
|
|
50
|
-
}
|
|
51
|
-
|
|
28
|
+
Type: PdfName<PdfSignatureType>;
|
|
29
|
+
Filter: PdfName;
|
|
30
|
+
SubFilter: PdfName<PdfSignatureSubType>;
|
|
31
|
+
Contents: PdfHexadecimal;
|
|
32
|
+
ByteRange: PdfArray<PdfNumber>;
|
|
33
|
+
Reason?: PdfString;
|
|
34
|
+
M?: PdfString;
|
|
35
|
+
Name?: PdfString;
|
|
36
|
+
Reference?: PdfArray<PdfDictionary>;
|
|
37
|
+
Location?: PdfString;
|
|
38
|
+
ContactInfo?: PdfString;
|
|
39
|
+
V?: PdfName<'2.2'>;
|
|
40
|
+
Changes?: PdfArray<PdfNumber>;
|
|
41
|
+
Cert?: PdfArray<PdfString | PdfHexadecimal> | PdfString | PdfHexadecimal;
|
|
42
|
+
};
|
|
52
43
|
/**
|
|
53
44
|
* Configuration for a timestamp authority (TSA).
|
|
54
45
|
*/
|
|
55
46
|
export type TimeStampAuthority = {
|
|
56
47
|
/** URL of the timestamp authority service. */
|
|
57
|
-
url: string
|
|
48
|
+
url: string;
|
|
58
49
|
/** Optional username for authentication. */
|
|
59
|
-
username?: string
|
|
50
|
+
username?: string;
|
|
60
51
|
/** Optional password for authentication. */
|
|
61
|
-
password?: string
|
|
62
|
-
}
|
|
63
|
-
|
|
52
|
+
password?: string;
|
|
53
|
+
};
|
|
64
54
|
/**
|
|
65
55
|
* Revocation information for certificate validation.
|
|
66
56
|
*/
|
|
67
57
|
export type RevocationInfo = {
|
|
68
58
|
/** Certificate Revocation Lists (CRLs). */
|
|
69
|
-
crls?: ByteArray[]
|
|
59
|
+
crls?: ByteArray[];
|
|
70
60
|
/** OCSP responses. */
|
|
71
|
-
ocsps?: ByteArray[]
|
|
61
|
+
ocsps?: ByteArray[];
|
|
72
62
|
/** Other revocation information types. */
|
|
73
|
-
otherRevInfo?: {
|
|
74
|
-
|
|
75
|
-
|
|
63
|
+
otherRevInfo?: {
|
|
64
|
+
type: string;
|
|
65
|
+
value: ByteArray;
|
|
66
|
+
}[];
|
|
67
|
+
};
|
|
76
68
|
/**
|
|
77
69
|
* Signature policy document reference for CAdES signatures.
|
|
78
70
|
*/
|
|
79
71
|
export type SignaturePolicyDocument = {
|
|
80
72
|
/** Object Identifier for the signature policy. */
|
|
81
|
-
oid: string
|
|
73
|
+
oid: string;
|
|
82
74
|
/** Hash of the policy document. */
|
|
83
|
-
hash: ByteArray
|
|
75
|
+
hash: ByteArray;
|
|
84
76
|
/** Hash algorithm used for the policy document. */
|
|
85
|
-
hashAlgorithm: HashAlgorithm
|
|
86
|
-
}
|
|
77
|
+
hashAlgorithm: HashAlgorithm;
|
|
78
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { RevocationInfo } from './types';
|
|
2
|
+
import { ByteArray } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Fetches revocation information (CRLs and OCSPs) for certificates.
|
|
5
|
+
* Uses the certificate's embedded URLs to retrieve revocation data.
|
|
6
|
+
*
|
|
7
|
+
* @param options - Configuration for fetching revocation info.
|
|
8
|
+
* @param options.certificates - Array of DER-encoded certificates.
|
|
9
|
+
* @param options.issuerCertificate - Optional issuer certificate for OCSP requests.
|
|
10
|
+
* @param options.ocspUrls - Optional additional OCSP URLs.
|
|
11
|
+
* @param options.crlUrls - Optional additional CRL URLs.
|
|
12
|
+
* @param options.retrieveOcsps - Whether to fetch OCSP responses (default: true).
|
|
13
|
+
* @param options.retrieveCrls - Whether to fetch CRLs (default: true).
|
|
14
|
+
* @returns The fetched revocation information.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const revInfo = await fetchRevocationInfo({
|
|
19
|
+
* certificates: [certBytes],
|
|
20
|
+
* retrieveCrls: true,
|
|
21
|
+
* retrieveOcsps: true
|
|
22
|
+
* })
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function fetchRevocationInfo(options: {
|
|
26
|
+
certificates: ByteArray[];
|
|
27
|
+
issuerCertificate?: ByteArray;
|
|
28
|
+
ocspUrls?: string[];
|
|
29
|
+
crlUrls?: string[];
|
|
30
|
+
retrieveOcsps?: boolean;
|
|
31
|
+
retrieveCrls?: boolean;
|
|
32
|
+
}): Promise<RevocationInfo>;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import { Certificate } from 'pki-lite/x509/Certificate'
|
|
2
|
-
import { RevocationInfo } from './types'
|
|
3
|
-
import { ByteArray } from '../types'
|
|
4
|
-
|
|
1
|
+
import { Certificate } from 'pki-lite/x509/Certificate';
|
|
5
2
|
/**
|
|
6
3
|
* Fetches revocation information (CRLs and OCSPs) for certificates.
|
|
7
4
|
* Uses the certificate's embedded URLs to retrieve revocation data.
|
|
@@ -24,48 +21,32 @@ import { ByteArray } from '../types'
|
|
|
24
21
|
* })
|
|
25
22
|
* ```
|
|
26
23
|
*/
|
|
27
|
-
export async function fetchRevocationInfo(options
|
|
28
|
-
certificates
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
crlUrls?: string[] // URLs to fetch CRLs from
|
|
32
|
-
retrieveOcsps?: boolean // Whether to fetch OCSPs
|
|
33
|
-
retrieveCrls?: boolean // Whether to fetch CRLs
|
|
34
|
-
}): Promise<RevocationInfo> {
|
|
35
|
-
const { certificates, retrieveCrls = true, retrieveOcsps = true } = options
|
|
36
|
-
|
|
37
|
-
const crls: ByteArray[] = []
|
|
38
|
-
const ocsps: ByteArray[] = []
|
|
39
|
-
|
|
24
|
+
export async function fetchRevocationInfo(options) {
|
|
25
|
+
const { certificates, retrieveCrls = true, retrieveOcsps = true } = options;
|
|
26
|
+
const crls = [];
|
|
27
|
+
const ocsps = [];
|
|
40
28
|
for (const certificateBytes of certificates) {
|
|
41
|
-
const certificate = Certificate.fromDer(certificateBytes)
|
|
42
|
-
|
|
29
|
+
const certificate = Certificate.fromDer(certificateBytes);
|
|
43
30
|
if (retrieveCrls) {
|
|
44
|
-
const crl = await certificate.requestCrl()
|
|
45
|
-
|
|
31
|
+
const crl = await certificate.requestCrl();
|
|
46
32
|
if (crl) {
|
|
47
|
-
crls.push(crl.toDer())
|
|
33
|
+
crls.push(crl.toDer());
|
|
48
34
|
}
|
|
49
35
|
}
|
|
50
|
-
|
|
51
36
|
if (retrieveOcsps) {
|
|
52
37
|
const ocsp = await certificate.requestOcsp({
|
|
53
38
|
issuerCertificate: options.issuerCertificate
|
|
54
|
-
? Certificate.fromDer(
|
|
55
|
-
options.issuerCertificate as ByteArray,
|
|
56
|
-
)
|
|
39
|
+
? Certificate.fromDer(options.issuerCertificate)
|
|
57
40
|
: undefined,
|
|
58
|
-
})
|
|
59
|
-
|
|
41
|
+
});
|
|
60
42
|
if (ocsp) {
|
|
61
|
-
ocsps.push(ocsp.toDer())
|
|
43
|
+
ocsps.push(ocsp.toDer());
|
|
62
44
|
}
|
|
63
45
|
}
|
|
64
46
|
}
|
|
65
|
-
|
|
66
47
|
return {
|
|
67
48
|
crls,
|
|
68
49
|
ocsps,
|
|
69
50
|
otherRevInfo: [],
|
|
70
|
-
}
|
|
51
|
+
};
|
|
71
52
|
}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type ByteArray = Uint8Array<ArrayBuffer>;
|
|
2
|
+
export type HashAlgorithm = 'SHA-1' | 'SHA-256' | 'SHA-384' | 'SHA-512';
|
|
3
|
+
export type ChangeType = 'add' | 'update' | 'delete';
|
|
4
|
+
export type PdfEncryptionAlgorithm = 'RC4-40' | 'RC4-128' | 'AES-128-CBC' | 'AES-256-CBC' | 'none';
|
|
5
|
+
export type DecodeParms = {
|
|
6
|
+
Predictor?: number;
|
|
7
|
+
Columns?: number;
|
|
8
|
+
Colors?: number;
|
|
9
|
+
BitsPerComponent?: number;
|
|
10
|
+
};
|
|
11
|
+
export type PdfPermissions = {
|
|
12
|
+
all?: boolean;
|
|
13
|
+
print?: boolean;
|
|
14
|
+
modify?: boolean;
|
|
15
|
+
copy?: boolean;
|
|
16
|
+
annotate?: boolean;
|
|
17
|
+
fill?: boolean;
|
|
18
|
+
extract?: boolean;
|
|
19
|
+
assemble?: boolean;
|
|
20
|
+
printHighQuality?: boolean;
|
|
21
|
+
};
|
|
22
|
+
export declare const PERMISSION_FLAGS: Record<keyof PdfPermissions, number>;
|
|
23
|
+
export type PdfVersion = 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 2.0;
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A ReadableStream that supports async iteration.
|
|
3
|
+
* Extends the standard ReadableStream with Symbol.asyncIterator support.
|
|
4
|
+
*
|
|
5
|
+
* @typeParam T - The type of chunks yielded by the stream.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const stream = new IterableReadableStream<Uint8Array>(...)
|
|
10
|
+
* for await (const chunk of stream) {
|
|
11
|
+
* console.log(chunk)
|
|
12
|
+
* }
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare class IterableReadableStream<T> extends ReadableStream<T> {
|
|
16
|
+
/**
|
|
17
|
+
* Returns an async iterator for the stream.
|
|
18
|
+
*
|
|
19
|
+
* @returns An async iterator that yields chunks from the stream.
|
|
20
|
+
*/
|
|
21
|
+
[Symbol.asyncIterator](): {
|
|
22
|
+
next(): Promise<IteratorResult<T>>;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
@@ -12,19 +12,19 @@
|
|
|
12
12
|
* }
|
|
13
13
|
* ```
|
|
14
14
|
*/
|
|
15
|
-
export class IterableReadableStream
|
|
15
|
+
export class IterableReadableStream extends ReadableStream {
|
|
16
16
|
/**
|
|
17
17
|
* Returns an async iterator for the stream.
|
|
18
18
|
*
|
|
19
19
|
* @returns An async iterator that yields chunks from the stream.
|
|
20
20
|
*/
|
|
21
21
|
[Symbol.asyncIterator]() {
|
|
22
|
-
const reader = this.getReader()
|
|
22
|
+
const reader = this.getReader();
|
|
23
23
|
return {
|
|
24
|
-
async next()
|
|
25
|
-
const result = await reader.read()
|
|
26
|
-
return result
|
|
24
|
+
async next() {
|
|
25
|
+
const result = await reader.read();
|
|
26
|
+
return result;
|
|
27
27
|
},
|
|
28
|
-
}
|
|
28
|
+
};
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import 'pki-lite-crypto-extended';
|
|
2
|
+
import { ByteArray } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Computes the SHA-1 hash of the input data.
|
|
5
|
+
*
|
|
6
|
+
* @param input - The data to hash.
|
|
7
|
+
* @returns A promise that resolves to the SHA-1 hash as a byte array.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const hash = await sha1(new Uint8Array([1, 2, 3]))
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare function sha1(input: ByteArray): Promise<ByteArray>;
|
|
15
|
+
/**
|
|
16
|
+
* Computes the SHA-256 hash of the input data.
|
|
17
|
+
*
|
|
18
|
+
* @param input - The data to hash.
|
|
19
|
+
* @returns A promise that resolves to the SHA-256 hash as a byte array.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const hash = await sha256(new Uint8Array([1, 2, 3]))
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function sha256(input: ByteArray): Promise<ByteArray>;
|
|
27
|
+
/**
|
|
28
|
+
* Computes the SHA-384 hash of the input data.
|
|
29
|
+
*
|
|
30
|
+
* @param input - The data to hash.
|
|
31
|
+
* @returns A promise that resolves to the SHA-384 hash as a byte array.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const hash = await sha384(new Uint8Array([1, 2, 3]))
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function sha384(input: ByteArray): Promise<ByteArray>;
|
|
39
|
+
/**
|
|
40
|
+
* Computes the SHA-512 hash of the input data.
|
|
41
|
+
*
|
|
42
|
+
* @param input - The data to hash.
|
|
43
|
+
* @returns A promise that resolves to the SHA-512 hash as a byte array.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const hash = await sha512(new Uint8Array([1, 2, 3]))
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function sha512(input: ByteArray): Promise<ByteArray>;
|
|
51
|
+
/**
|
|
52
|
+
* Computes the MD5 hash of the input data.
|
|
53
|
+
*
|
|
54
|
+
* @param input - The data to hash.
|
|
55
|
+
* @returns A promise that resolves to the MD5 hash as a byte array.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* const hash = await md5(new Uint8Array([1, 2, 3]))
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare function md5(input: ByteArray): Promise<ByteArray>;
|
|
63
|
+
/**
|
|
64
|
+
* Computes a cryptographic hash of the input data using the specified algorithm.
|
|
65
|
+
*
|
|
66
|
+
* @param input - The data to hash.
|
|
67
|
+
* @param algorithm - The hash algorithm to use. Defaults to 'SHA-256'.
|
|
68
|
+
* @returns A promise that resolves to the hash as a byte array.
|
|
69
|
+
* @throws Error if an unsupported hash algorithm is specified.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* const hash = await hash(data, 'SHA-256')
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare function hash(input: ByteArray, algorithm?: 'SHA-256' | 'SHA-384' | 'SHA-512' | 'MD5' | 'SHA-1'): Promise<ByteArray>;
|
|
77
|
+
/**
|
|
78
|
+
* Generates cryptographically secure random bytes.
|
|
79
|
+
*
|
|
80
|
+
* @param length - The number of random bytes to generate.
|
|
81
|
+
* @returns A byte array containing random bytes.
|
|
82
|
+
* @throws Error if length is not a positive integer.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```typescript
|
|
86
|
+
* const randomBytes = getRandomBytes(16) // 16 random bytes
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
export declare function getRandomBytes(length: number): ByteArray;
|
|
90
|
+
/**
|
|
91
|
+
* Encrypts data using AES-128-CBC mode.
|
|
92
|
+
*
|
|
93
|
+
* @param key - The 16-byte encryption key.
|
|
94
|
+
* @param data - The data to encrypt.
|
|
95
|
+
* @param iv - The 16-byte initialization vector. Defaults to zero IV.
|
|
96
|
+
* @returns A promise that resolves to the encrypted data.
|
|
97
|
+
* @throws Error if the key is not exactly 16 bytes.
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```typescript
|
|
101
|
+
* const encrypted = await aes128cbcEncrypt(key, plaintext, iv)
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
export declare function aes128cbcEncrypt(key: ByteArray, data: ByteArray, iv?: ByteArray): Promise<ByteArray>;
|
|
105
|
+
/**
|
|
106
|
+
* Decrypts data using AES-128-CBC mode.
|
|
107
|
+
*
|
|
108
|
+
* @param key - The 16-byte decryption key.
|
|
109
|
+
* @param encrypted - The encrypted data to decrypt.
|
|
110
|
+
* @param iv - The 16-byte initialization vector. Defaults to zero IV.
|
|
111
|
+
* @returns A promise that resolves to the decrypted data.
|
|
112
|
+
* @throws Error if the key is not exactly 16 bytes or encrypted data is too short.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```typescript
|
|
116
|
+
* const decrypted = await aes128cbcDecrypt(key, ciphertext, iv)
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
export declare function aes128cbcDecrypt(key: ByteArray, encrypted: ByteArray, iv?: ByteArray): Promise<ByteArray>;
|
|
120
|
+
/**
|
|
121
|
+
* Encrypts data using AES-256-CBC mode.
|
|
122
|
+
*
|
|
123
|
+
* @param fileKey - The 32-byte encryption key.
|
|
124
|
+
* @param block - The data to encrypt.
|
|
125
|
+
* @param iv - The 16-byte initialization vector. Defaults to zero IV.
|
|
126
|
+
* @returns A promise that resolves to the encrypted data.
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```typescript
|
|
130
|
+
* const encrypted = await aes256cbcEncrypt(key, plaintext, iv)
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
export declare function aes256cbcEncrypt(fileKey: ByteArray, block: ByteArray, iv?: ByteArray): Promise<ByteArray>;
|
|
134
|
+
/**
|
|
135
|
+
* Decrypts data using AES-256-CBC mode.
|
|
136
|
+
*
|
|
137
|
+
* @param fileKey - The 32-byte decryption key.
|
|
138
|
+
* @param ciphertext - The encrypted data to decrypt.
|
|
139
|
+
* @param iv - The 16-byte initialization vector. Defaults to zero IV.
|
|
140
|
+
* @returns A promise that resolves to the decrypted data.
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```typescript
|
|
144
|
+
* const decrypted = await aes256cbcDecrypt(key, ciphertext, iv)
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
export declare function aes256cbcDecrypt(fileKey: ByteArray, ciphertext: ByteArray, iv?: ByteArray): Promise<ByteArray>;
|
|
148
|
+
/**
|
|
149
|
+
* Encrypts data using AES-256-ECB mode.
|
|
150
|
+
*
|
|
151
|
+
* @param fileKey - The 32-byte encryption key.
|
|
152
|
+
* @param data - The data to encrypt.
|
|
153
|
+
* @returns A promise that resolves to the encrypted data.
|
|
154
|
+
* @throws Error if the key is not exactly 32 bytes.
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* const encrypted = await aes256ecbEncrypt(key, plaintext)
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
export declare function aes256ecbEncrypt(fileKey: ByteArray, data: ByteArray): Promise<ByteArray>;
|
|
162
|
+
/**
|
|
163
|
+
* Decrypts data using AES-256-ECB mode.
|
|
164
|
+
*
|
|
165
|
+
* @param fileKey - The 32-byte decryption key.
|
|
166
|
+
* @param encrypted - The encrypted data to decrypt.
|
|
167
|
+
* @returns A promise that resolves to the decrypted data.
|
|
168
|
+
* @throws Error if the key is not exactly 32 bytes.
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```typescript
|
|
172
|
+
* const decrypted = await aes256ecbDecrypt(key, ciphertext)
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
export declare function aes256ecbDecrypt(fileKey: ByteArray, encrypted: ByteArray): Promise<ByteArray>;
|
|
176
|
+
/**
|
|
177
|
+
* Encrypts data using AES-128-CBC mode without PKCS#7 padding.
|
|
178
|
+
*
|
|
179
|
+
* @param key - The 16-byte encryption key.
|
|
180
|
+
* @param data - The data to encrypt. Must be a multiple of 16 bytes.
|
|
181
|
+
* @param iv - The 16-byte initialization vector.
|
|
182
|
+
* @returns A promise that resolves to the encrypted data.
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```typescript
|
|
186
|
+
* const encrypted = await aes128CbcNoPaddingEncrypt(key, data, iv)
|
|
187
|
+
* ```
|
|
188
|
+
*/
|
|
189
|
+
export declare function aes128CbcNoPaddingEncrypt(key: ByteArray, data: ByteArray, iv: ByteArray): Promise<ByteArray>;
|
|
190
|
+
/**
|
|
191
|
+
* Encrypts data using AES-256-CBC mode without PKCS#7 padding.
|
|
192
|
+
*
|
|
193
|
+
* @param key - The 32-byte encryption key.
|
|
194
|
+
* @param data - The data to encrypt. Must be a multiple of 16 bytes.
|
|
195
|
+
* @param iv - The 16-byte initialization vector.
|
|
196
|
+
* @returns A promise that resolves to the encrypted data.
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* ```typescript
|
|
200
|
+
* const encrypted = await aes256CbcNoPaddingEncrypt(key, data, iv)
|
|
201
|
+
* ```
|
|
202
|
+
*/
|
|
203
|
+
export declare function aes256CbcNoPaddingEncrypt(key: ByteArray, data: ByteArray, iv: ByteArray): Promise<ByteArray>;
|
|
204
|
+
/**
|
|
205
|
+
* Decrypts data using AES-256-CBC mode without PKCS#7 padding.
|
|
206
|
+
*
|
|
207
|
+
* @param key - The 32-byte decryption key.
|
|
208
|
+
* @param ciphertext - The encrypted data to decrypt.
|
|
209
|
+
* @param iv - The 16-byte initialization vector. Defaults to zero IV.
|
|
210
|
+
* @returns A promise that resolves to the decrypted data.
|
|
211
|
+
*
|
|
212
|
+
* @example
|
|
213
|
+
* ```typescript
|
|
214
|
+
* const decrypted = await aes256CbcNoPaddingDecrypt(key, ciphertext, iv)
|
|
215
|
+
* ```
|
|
216
|
+
*/
|
|
217
|
+
export declare function aes256CbcNoPaddingDecrypt(key: ByteArray, ciphertext: ByteArray, iv?: ByteArray): Promise<ByteArray>;
|
|
218
|
+
/**
|
|
219
|
+
* Compresses data using the DEFLATE algorithm.
|
|
220
|
+
*
|
|
221
|
+
* @param data - The data to compress.
|
|
222
|
+
* @returns The compressed data as a byte array.
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* ```typescript
|
|
226
|
+
* const compressed = deflateData(rawData)
|
|
227
|
+
* ```
|
|
228
|
+
*/
|
|
229
|
+
export declare function deflateData(data: ByteArray): ByteArray;
|
|
230
|
+
/**
|
|
231
|
+
* Decompresses data using the INFLATE algorithm (reverses DEFLATE).
|
|
232
|
+
*
|
|
233
|
+
* @param data - The compressed data to decompress.
|
|
234
|
+
* @returns The decompressed data as a byte array.
|
|
235
|
+
* @throws Error if inflation fails due to invalid or corrupted data.
|
|
236
|
+
*
|
|
237
|
+
* @example
|
|
238
|
+
* ```typescript
|
|
239
|
+
* const decompressed = inflateData(compressedData)
|
|
240
|
+
* ```
|
|
241
|
+
*/
|
|
242
|
+
export declare function inflateData(data: ByteArray): ByteArray;
|