@chr33s/pdf-common 5.0.6 → 5.0.7

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/base64.d.ts CHANGED
@@ -1,6 +1,10 @@
1
+ /** Encodes a Uint8Array to a base64 string. */
1
2
  export declare const encodeToBase64: (bytes: Uint8Array) => string;
3
+ /** Decodes a base64 string to a Uint8Array. */
2
4
  export declare const decodeFromBase64: (base64: string) => Uint8Array;
5
+ /** Decodes a base64 data URI (or plain base64 string) to a Uint8Array. */
3
6
  export declare const decodeFromBase64DataUri: (dataUri: string) => Uint8Array;
7
+ /** Base64 encoder/decoder for ArrayBuffer (encode) and string (decode). */
4
8
  export declare const base64: {
5
9
  encode: (arrayBuffer: ArrayBuffer) => string;
6
10
  decode: (base64: string) => ArrayBuffer;
package/dist/base64.js CHANGED
@@ -1,8 +1,11 @@
1
1
  import { Buffer } from "node:buffer";
2
+ /** Encodes a Uint8Array to a base64 string. */
2
3
  export const encodeToBase64 = (bytes) => Buffer.from(bytes).toString("base64");
4
+ /** Decodes a base64 string to a Uint8Array. */
3
5
  export const decodeFromBase64 = (base64) => new Uint8Array(Buffer.from(base64, "base64"));
4
6
  // This regex is designed to be as flexible as possible. It will parse certain invalid data URIs.
5
7
  const DATA_URI_PREFIX_REGEX = /^(data)?:?([\w/+]+)?;?(charset=[\w-]+|base64)?.*,/i;
8
+ /** Decodes a base64 data URI (or plain base64 string) to a Uint8Array. */
6
9
  export const decodeFromBase64DataUri = (dataUri) => {
7
10
  const trimmedUri = dataUri.trim();
8
11
  const prefix = trimmedUri.substring(0, 100);
@@ -20,5 +23,6 @@ const decode = (base64) => {
20
23
  const bytes = decodeFromBase64(base64);
21
24
  return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
22
25
  };
26
+ /** Base64 encoder/decoder for ArrayBuffer (encode) and string (decode). */
23
27
  export const base64 = { encode, decode };
24
28
  //# sourceMappingURL=base64.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base64.js","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAiB,EAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAEnG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAc,EAAE,CAC7D,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEhD,iGAAiG;AACjG,MAAM,qBAAqB,GAAG,oDAAoD,CAAC;AAEnF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAe,EAAc,EAAE;IACrE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAElC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAEhD,0DAA0D;IAC1D,IAAI,CAAC,GAAG;QAAE,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAE9C,wEAAwE;IACxE,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;IACxB,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEpD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,WAAwB,EAAU,EAAE,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAEjG,MAAM,MAAM,GAAG,CAAC,MAAc,EAAe,EAAE;IAC7C,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAgB,CAAC;AAClG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"base64.js","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAiB,EAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAEnG,+CAA+C;AAC/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAc,EAAE,CAC7D,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEhD,iGAAiG;AACjG,MAAM,qBAAqB,GAAG,oDAAoD,CAAC;AAEnF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAe,EAAc,EAAE;IACrE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAElC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAEhD,0DAA0D;IAC1D,IAAI,CAAC,GAAG;QAAE,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAE9C,wEAAwE;IACxE,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;IACxB,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEpD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,WAAwB,EAAU,EAAE,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAEjG,MAAM,MAAM,GAAG,CAAC,MAAc,EAAe,EAAE;IAC7C,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAgB,CAAC;AAClG,CAAC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC"}
@@ -1,3 +1,13 @@
1
1
  export type CompressionFormat = "deflate" | "deflate-raw" | "gzip";
2
+ /**
3
+ * Compresses data using the specified compression format.
4
+ * @param data The data to compress
5
+ * @param format Compression format: 'deflate' (default), 'deflate-raw', or 'gzip'
6
+ */
2
7
  export declare function deflate(data: Uint8Array, format?: CompressionFormat): Promise<Uint8Array<ArrayBuffer>>;
8
+ /**
9
+ * Decompresses data using the specified compression format.
10
+ * @param data The compressed data
11
+ * @param format Compression format: 'deflate' (default), 'deflate-raw', or 'gzip'
12
+ */
3
13
  export declare function inflate(data: Uint8Array, format?: CompressionFormat): Promise<Uint8Array<ArrayBuffer>>;
@@ -20,10 +20,20 @@ async function readAllChunks(stream) {
20
20
  }
21
21
  return concatUint8Arrays(chunks);
22
22
  }
23
+ /**
24
+ * Compresses data using the specified compression format.
25
+ * @param data The data to compress
26
+ * @param format Compression format: 'deflate' (default), 'deflate-raw', or 'gzip'
27
+ */
23
28
  export async function deflate(data, format = "deflate") {
24
29
  const stream = new Blob([data]).stream().pipeThrough(new CompressionStream(format));
25
30
  return readAllChunks(stream);
26
31
  }
32
+ /**
33
+ * Decompresses data using the specified compression format.
34
+ * @param data The compressed data
35
+ * @param format Compression format: 'deflate' (default), 'deflate-raw', or 'gzip'
36
+ */
27
37
  export async function inflate(data, format = "deflate") {
28
38
  const stream = new Blob([data]).stream().pipeThrough(new DecompressionStream(format));
29
39
  return readAllChunks(stream);
@@ -1 +1 @@
1
- {"version":3,"file":"compression.js","sourceRoot":"","sources":["../src/compression.ts"],"names":[],"mappings":"AAEA,SAAS,iBAAiB,CAAC,MAAoB;IAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAkC;IAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI;YAAE,MAAM;QAChB,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAgB,EAAE,SAA4B,SAAS;IACnF,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACpF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAgB,EAAE,SAA4B,SAAS;IACnF,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"compression.js","sourceRoot":"","sources":["../src/compression.ts"],"names":[],"mappings":"AAEA,SAAS,iBAAiB,CAAC,MAAoB;IAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAkC;IAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI;YAAE,MAAM;QAChB,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAgB,EAAE,SAA4B,SAAS;IACnF,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACpF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAgB,EAAE,SAA4B,SAAS;IACnF,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
@@ -1,17 +1,21 @@
1
1
  import type { Mode } from "./mode.js";
2
2
  import type { Padding } from "./padding.js";
3
3
  import { WordArray } from "./word-array.js";
4
+ /** Result of an AES cipher operation. */
4
5
  export interface CipherResult {
5
6
  ciphertext: WordArray;
6
7
  }
8
+ /** Options for AES encryption/decryption. */
7
9
  export interface AESOptions {
8
10
  mode?: Mode;
9
11
  padding?: Padding;
10
12
  iv?: WordArray;
11
13
  }
14
+ /** AES cipher interface with encrypt and decrypt methods. */
12
15
  export interface AESStatic {
13
16
  encrypt(message: WordArray, key: WordArray, options?: AESOptions): CipherResult;
14
17
  decrypt(ciphertext: WordArray, key: WordArray, options?: AESOptions): CipherResult;
15
18
  }
19
+ /** AES cipher for symmetric encryption and decryption. */
16
20
  export declare const AES: AESStatic;
17
21
  export default AES;
@@ -52,6 +52,7 @@ function decrypt(ciphertext, key, options = {}) {
52
52
  ciphertext: result,
53
53
  };
54
54
  }
55
+ /** AES cipher for symmetric encryption and decryption. */
55
56
  export const AES = {
56
57
  encrypt,
57
58
  decrypt,
@@ -1 +1 @@
1
- {"version":3,"file":"aes.js","sourceRoot":"","sources":["../../src/crypto/aes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aes.js","sourceRoot":"","sources":["../../src/crypto/aes.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { WordArray } from "./word-array.js";
2
+ /** Computes MD5 hash of a message. */
2
3
  export declare function MD5(message: WordArray | string): WordArray;
3
4
  export default MD5;
@@ -1,5 +1,6 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { WordArray } from "./word-array.js";
3
+ /** Computes MD5 hash of a message. */
3
4
  export function MD5(message) {
4
5
  const data = typeof message === "string" ? message : message.toUint8Array();
5
6
  const hash = createHash("md5").update(data).digest();
@@ -1 +1 @@
1
- {"version":3,"file":"md5.js","sourceRoot":"","sources":["../../src/crypto/md5.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,UAAU,GAAG,CAAC,OAA2B;IAC7C,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IAC5E,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IACrD,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"md5.js","sourceRoot":"","sources":["../../src/crypto/md5.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,sCAAsC;AACtC,MAAM,UAAU,GAAG,CAAC,OAA2B;IAC7C,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IAC5E,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IACrD,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,eAAe,GAAG,CAAC"}
@@ -1,5 +1,8 @@
1
+ /** Block cipher mode of operation. */
1
2
  export interface Mode {
2
3
  name: string;
3
4
  }
5
+ /** Cipher Block Chaining mode. */
4
6
  export declare const CBC: Mode;
7
+ /** Electronic Codebook mode. */
5
8
  export declare const ECB: Mode;
@@ -1,6 +1,8 @@
1
+ /** Cipher Block Chaining mode. */
1
2
  export const CBC = {
2
3
  name: "CBC",
3
4
  };
5
+ /** Electronic Codebook mode. */
4
6
  export const ECB = {
5
7
  name: "ECB",
6
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mode.js","sourceRoot":"","sources":["../../src/crypto/mode.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,GAAG,GAAS;IACvB,IAAI,EAAE,KAAK;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAS;IACvB,IAAI,EAAE,KAAK;CACZ,CAAC"}
1
+ {"version":3,"file":"mode.js","sourceRoot":"","sources":["../../src/crypto/mode.ts"],"names":[],"mappings":"AAKA,kCAAkC;AAClC,MAAM,CAAC,MAAM,GAAG,GAAS;IACvB,IAAI,EAAE,KAAK;CACZ,CAAC;AAEF,gCAAgC;AAChC,MAAM,CAAC,MAAM,GAAG,GAAS;IACvB,IAAI,EAAE,KAAK;CACZ,CAAC"}
@@ -1,7 +1,10 @@
1
1
  import { WordArray } from "./word-array.js";
2
+ /** Block padding scheme interface. */
2
3
  export interface Padding {
3
4
  pad(data: WordArray, blockSize: number): void;
4
5
  unpad(data: WordArray): void;
5
6
  }
7
+ /** PKCS#7 block padding scheme. */
6
8
  export declare const Pkcs7: Padding;
9
+ /** No-operation padding scheme. */
7
10
  export declare const NoPadding: Padding;
@@ -1,4 +1,5 @@
1
1
  import { WordArray } from "./word-array.js";
2
+ /** PKCS#7 block padding scheme. */
2
3
  export const Pkcs7 = {
3
4
  pad(data, blockSize) {
4
5
  const blockSizeBytes = blockSize * 4;
@@ -16,6 +17,7 @@ export const Pkcs7 = {
16
17
  data.sigBytes -= nPaddingBytes;
17
18
  },
18
19
  };
20
+ /** No-operation padding scheme. */
19
21
  export const NoPadding = {
20
22
  pad(_data, _blockSize) {
21
23
  // No padding
@@ -1 +1 @@
1
- {"version":3,"file":"padding.js","sourceRoot":"","sources":["../../src/crypto/padding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAO5C,MAAM,CAAC,MAAM,KAAK,GAAY;IAC5B,GAAG,CAAC,IAAe,EAAE,SAAiB;QACpC,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,CAAC;QACrC,MAAM,aAAa,GAAG,cAAc,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC;QACxE,MAAM,WAAW,GACf,CAAC,aAAa,IAAI,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,aAAa,CAAC;QAEvF,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAe;QACnB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;QACnE,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC;IACjC,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAY;IAChC,GAAG,CAAC,KAAgB,EAAE,UAAkB;QACtC,aAAa;IACf,CAAC;IACD,KAAK,CAAC,KAAgB;QACpB,eAAe;IACjB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"padding.js","sourceRoot":"","sources":["../../src/crypto/padding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAQ5C,mCAAmC;AACnC,MAAM,CAAC,MAAM,KAAK,GAAY;IAC5B,GAAG,CAAC,IAAe,EAAE,SAAiB;QACpC,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,CAAC;QACrC,MAAM,aAAa,GAAG,cAAc,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC;QACxE,MAAM,WAAW,GACf,CAAC,aAAa,IAAI,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,aAAa,CAAC;QAEvF,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAe;QACnB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;QACnE,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC;IACjC,CAAC;CACF,CAAC;AAEF,mCAAmC;AACnC,MAAM,CAAC,MAAM,SAAS,GAAY;IAChC,GAAG,CAAC,KAAgB,EAAE,UAAkB;QACtC,aAAa;IACf,CAAC;IACD,KAAK,CAAC,KAAgB;QACpB,eAAe;IACjB,CAAC;CACF,CAAC"}
@@ -1,10 +1,13 @@
1
1
  import { WordArray } from "./word-array.js";
2
+ /** Result of an RC4 cipher operation. */
2
3
  export interface CipherResult {
3
4
  ciphertext: WordArray;
4
5
  }
6
+ /** RC4 stream cipher interface. */
5
7
  export interface RC4Static {
6
8
  encrypt(message: WordArray, key: WordArray): CipherResult;
7
9
  decrypt(ciphertext: WordArray, key: WordArray): CipherResult;
8
10
  }
11
+ /** RC4 stream cipher for symmetric encryption and decryption. */
9
12
  export declare const RC4: RC4Static;
10
13
  export default RC4;
@@ -40,6 +40,7 @@ function encrypt(message, key) {
40
40
  function decrypt(ciphertext, key) {
41
41
  return encrypt(ciphertext, key);
42
42
  }
43
+ /** RC4 stream cipher for symmetric encryption and decryption. */
43
44
  export const RC4 = {
44
45
  encrypt,
45
46
  decrypt,
@@ -1 +1 @@
1
- {"version":3,"file":"rc4.js","sourceRoot":"","sources":["../../src/crypto/rc4.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAW5C,SAAS,UAAU,CAAC,IAAgB,EAAE,GAAe;IACnD,iCAAiC;IACjC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;QAC5C,qBAAqB;QACrB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACd,CAAC;IAED,4CAA4C;IAC5C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,CAAC,GAAG,CAAC,CAAC;IACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QACnB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACtB,qBAAqB;QACrB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACZ,4CAA4C;QAC5C,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,OAAkB,EAAE,GAAc;IACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;IACpC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAErD,OAAO;QACL,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,UAAqB,EAAE,GAAc;IACpD,OAAO,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,GAAc;IAC5B,OAAO;IACP,OAAO;CACR,CAAC;AAEF,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"rc4.js","sourceRoot":"","sources":["../../src/crypto/rc4.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAa5C,SAAS,UAAU,CAAC,IAAgB,EAAE,GAAe;IACnD,iCAAiC;IACjC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;QAC5C,qBAAqB;QACrB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACd,CAAC;IAED,4CAA4C;IAC5C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,CAAC,GAAG,CAAC,CAAC;IACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QACnB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACtB,qBAAqB;QACrB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACZ,4CAA4C;QAC5C,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,OAAkB,EAAE,GAAc;IACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;IACpC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAErD,OAAO;QACL,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,UAAqB,EAAE,GAAc;IACpD,OAAO,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,iEAAiE;AACjE,MAAM,CAAC,MAAM,GAAG,GAAc;IAC5B,OAAO;IACP,OAAO;CACR,CAAC;AAEF,eAAe,GAAG,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import { WordArray } from "./word-array.js";
2
+ /** Computes SHA-256 hash of a message. */
2
3
  export declare function SHA256(message: WordArray | string): WordArray;
3
4
  export default SHA256;
@@ -1,5 +1,6 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { WordArray } from "./word-array.js";
3
+ /** Computes SHA-256 hash of a message. */
3
4
  export function SHA256(message) {
4
5
  const data = typeof message === "string" ? message : message.toUint8Array();
5
6
  const hash = createHash("sha256").update(data).digest();
@@ -1 +1 @@
1
- {"version":3,"file":"sha256.js","sourceRoot":"","sources":["../../src/crypto/sha256.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,UAAU,MAAM,CAAC,OAA2B;IAChD,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IAC5E,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IACxD,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"sha256.js","sourceRoot":"","sources":["../../src/crypto/sha256.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,0CAA0C;AAC1C,MAAM,UAAU,MAAM,CAAC,OAA2B;IAChD,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IAC5E,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IACxD,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,eAAe,MAAM,CAAC"}
@@ -1,7 +1,9 @@
1
+ /** String encoder/decoder interface for WordArray conversion. */
1
2
  export interface Encoder {
2
3
  stringify(wordArray: WordArray): string;
3
4
  parse(str: string): WordArray;
4
5
  }
6
+ /** An array of 32-bit words for cryptographic operations. */
5
7
  export declare class WordArray {
6
8
  words: number[];
7
9
  sigBytes: number;
@@ -24,5 +26,7 @@ export declare class WordArray {
24
26
  clamp(): void;
25
27
  clone(): WordArray;
26
28
  }
29
+ /** Hexadecimal string encoder for WordArray. */
27
30
  export declare const Hex: Encoder;
31
+ /** Latin-1 string encoder for WordArray. */
28
32
  export declare const Latin1: Encoder;
@@ -1,4 +1,5 @@
1
1
  import { randomBytes } from "node:crypto";
2
+ /** An array of 32-bit words for cryptographic operations. */
2
3
  export class WordArray {
3
4
  words;
4
5
  sigBytes;
@@ -72,6 +73,7 @@ export class WordArray {
72
73
  return new WordArray(this.words.slice(0), this.sigBytes);
73
74
  }
74
75
  }
76
+ /** Hexadecimal string encoder for WordArray. */
75
77
  export const Hex = {
76
78
  stringify(wordArray) {
77
79
  const words = wordArray.words;
@@ -93,6 +95,7 @@ export const Hex = {
93
95
  return new WordArray(words, hexStrLength / 2);
94
96
  },
95
97
  };
98
+ /** Latin-1 string encoder for WordArray. */
96
99
  export const Latin1 = {
97
100
  stringify(wordArray) {
98
101
  const words = wordArray.words;
@@ -1 +1 @@
1
- {"version":3,"file":"word-array.js","sourceRoot":"","sources":["../../src/crypto/word-array.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"word-array.js","sourceRoot":"","sources":["../../src/crypto/word-array.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chr33s/pdf-common",
3
- "version": "5.0.6",
3
+ "version": "5.0.7",
4
4
  "description": "Common pdf utilities and types",
5
5
  "type": "module",
6
6
  "sideEffects": false,
package/src/base64.ts CHANGED
@@ -1,13 +1,16 @@
1
1
  import { Buffer } from "node:buffer";
2
2
 
3
+ /** Encodes a Uint8Array to a base64 string. */
3
4
  export const encodeToBase64 = (bytes: Uint8Array): string => Buffer.from(bytes).toString("base64");
4
5
 
6
+ /** Decodes a base64 string to a Uint8Array. */
5
7
  export const decodeFromBase64 = (base64: string): Uint8Array =>
6
8
  new Uint8Array(Buffer.from(base64, "base64"));
7
9
 
8
10
  // This regex is designed to be as flexible as possible. It will parse certain invalid data URIs.
9
11
  const DATA_URI_PREFIX_REGEX = /^(data)?:?([\w/+]+)?;?(charset=[\w-]+|base64)?.*,/i;
10
12
 
13
+ /** Decodes a base64 data URI (or plain base64 string) to a Uint8Array. */
11
14
  export const decodeFromBase64DataUri = (dataUri: string): Uint8Array => {
12
15
  const trimmedUri = dataUri.trim();
13
16
 
@@ -31,4 +34,5 @@ const decode = (base64: string): ArrayBuffer => {
31
34
  return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength) as ArrayBuffer;
32
35
  };
33
36
 
37
+ /** Base64 encoder/decoder for ArrayBuffer (encode) and string (decode). */
34
38
  export const base64 = { encode, decode };
@@ -24,11 +24,21 @@ async function readAllChunks(stream: ReadableStream<Uint8Array>) {
24
24
  return concatUint8Arrays(chunks);
25
25
  }
26
26
 
27
+ /**
28
+ * Compresses data using the specified compression format.
29
+ * @param data The data to compress
30
+ * @param format Compression format: 'deflate' (default), 'deflate-raw', or 'gzip'
31
+ */
27
32
  export async function deflate(data: Uint8Array, format: CompressionFormat = "deflate") {
28
33
  const stream = new Blob([data]).stream().pipeThrough(new CompressionStream(format));
29
34
  return readAllChunks(stream);
30
35
  }
31
36
 
37
+ /**
38
+ * Decompresses data using the specified compression format.
39
+ * @param data The compressed data
40
+ * @param format Compression format: 'deflate' (default), 'deflate-raw', or 'gzip'
41
+ */
32
42
  export async function inflate(data: Uint8Array, format: CompressionFormat = "deflate") {
33
43
  const stream = new Blob([data]).stream().pipeThrough(new DecompressionStream(format));
34
44
  return readAllChunks(stream);
package/src/crypto/aes.ts CHANGED
@@ -6,16 +6,19 @@ import type { Padding } from "./padding.js";
6
6
  import { Pkcs7 } from "./padding.js";
7
7
  import { WordArray } from "./word-array.js";
8
8
 
9
+ /** Result of an AES cipher operation. */
9
10
  export interface CipherResult {
10
11
  ciphertext: WordArray;
11
12
  }
12
13
 
14
+ /** Options for AES encryption/decryption. */
13
15
  export interface AESOptions {
14
16
  mode?: Mode;
15
17
  padding?: Padding;
16
18
  iv?: WordArray;
17
19
  }
18
20
 
21
+ /** AES cipher interface with encrypt and decrypt methods. */
19
22
  export interface AESStatic {
20
23
  encrypt(message: WordArray, key: WordArray, options?: AESOptions): CipherResult;
21
24
  decrypt(ciphertext: WordArray, key: WordArray, options?: AESOptions): CipherResult;
@@ -85,6 +88,7 @@ function decrypt(ciphertext: WordArray, key: WordArray, options: AESOptions = {}
85
88
  };
86
89
  }
87
90
 
91
+ /** AES cipher for symmetric encryption and decryption. */
88
92
  export const AES: AESStatic = {
89
93
  encrypt,
90
94
  decrypt,
package/src/crypto/md5.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { WordArray } from "./word-array.js";
3
3
 
4
+ /** Computes MD5 hash of a message. */
4
5
  export function MD5(message: WordArray | string): WordArray {
5
6
  const data = typeof message === "string" ? message : message.toUint8Array();
6
7
  const hash = createHash("md5").update(data).digest();
@@ -1,11 +1,14 @@
1
+ /** Block cipher mode of operation. */
1
2
  export interface Mode {
2
3
  name: string;
3
4
  }
4
5
 
6
+ /** Cipher Block Chaining mode. */
5
7
  export const CBC: Mode = {
6
8
  name: "CBC",
7
9
  };
8
10
 
11
+ /** Electronic Codebook mode. */
9
12
  export const ECB: Mode = {
10
13
  name: "ECB",
11
14
  };
@@ -1,10 +1,12 @@
1
1
  import { WordArray } from "./word-array.js";
2
2
 
3
+ /** Block padding scheme interface. */
3
4
  export interface Padding {
4
5
  pad(data: WordArray, blockSize: number): void;
5
6
  unpad(data: WordArray): void;
6
7
  }
7
8
 
9
+ /** PKCS#7 block padding scheme. */
8
10
  export const Pkcs7: Padding = {
9
11
  pad(data: WordArray, blockSize: number): void {
10
12
  const blockSizeBytes = blockSize * 4;
@@ -26,6 +28,7 @@ export const Pkcs7: Padding = {
26
28
  },
27
29
  };
28
30
 
31
+ /** No-operation padding scheme. */
29
32
  export const NoPadding: Padding = {
30
33
  pad(_data: WordArray, _blockSize: number): void {
31
34
  // No padding
package/src/crypto/rc4.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  import { WordArray } from "./word-array.js";
2
2
 
3
+ /** Result of an RC4 cipher operation. */
3
4
  export interface CipherResult {
4
5
  ciphertext: WordArray;
5
6
  }
6
7
 
8
+ /** RC4 stream cipher interface. */
7
9
  export interface RC4Static {
8
10
  encrypt(message: WordArray, key: WordArray): CipherResult;
9
11
  decrypt(ciphertext: WordArray, key: WordArray): CipherResult;
@@ -57,6 +59,7 @@ function decrypt(ciphertext: WordArray, key: WordArray): CipherResult {
57
59
  return encrypt(ciphertext, key);
58
60
  }
59
61
 
62
+ /** RC4 stream cipher for symmetric encryption and decryption. */
60
63
  export const RC4: RC4Static = {
61
64
  encrypt,
62
65
  decrypt,
@@ -1,6 +1,7 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { WordArray } from "./word-array.js";
3
3
 
4
+ /** Computes SHA-256 hash of a message. */
4
5
  export function SHA256(message: WordArray | string): WordArray {
5
6
  const data = typeof message === "string" ? message : message.toUint8Array();
6
7
  const hash = createHash("sha256").update(data).digest();
@@ -1,10 +1,12 @@
1
1
  import { randomBytes } from "node:crypto";
2
2
 
3
+ /** String encoder/decoder interface for WordArray conversion. */
3
4
  export interface Encoder {
4
5
  stringify(wordArray: WordArray): string;
5
6
  parse(str: string): WordArray;
6
7
  }
7
8
 
9
+ /** An array of 32-bit words for cryptographic operations. */
8
10
  export class WordArray {
9
11
  words: number[];
10
12
  sigBytes: number;
@@ -93,6 +95,7 @@ export class WordArray {
93
95
  }
94
96
  }
95
97
 
98
+ /** Hexadecimal string encoder for WordArray. */
96
99
  export const Hex: Encoder = {
97
100
  stringify(wordArray: WordArray): string {
98
101
  const words = wordArray.words;
@@ -120,6 +123,7 @@ export const Hex: Encoder = {
120
123
  },
121
124
  };
122
125
 
126
+ /** Latin-1 string encoder for WordArray. */
123
127
  export const Latin1: Encoder = {
124
128
  stringify(wordArray: WordArray): string {
125
129
  const words = wordArray.words;