@zip.js/zip.js 2.8.36 → 2.8.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/deno.json +4 -2
  2. package/dist/zip-core.js +356 -63
  3. package/dist/zip-core.min.js +1 -1
  4. package/dist/zip-fs-core.js +301 -63
  5. package/dist/zip-fs-core.min.js +1 -1
  6. package/dist/zip-fs-native.js +359 -66
  7. package/dist/zip-fs-native.min.js +1 -1
  8. package/dist/zip-fs.js +357 -64
  9. package/dist/zip-fs.min.js +1 -1
  10. package/dist/zip-legacy.js +358 -65
  11. package/dist/zip-legacy.min.js +1 -1
  12. package/dist/zip-native.js +359 -66
  13. package/dist/zip-native.min.js +1 -1
  14. package/dist/zip-web-worker-native.js +1 -1
  15. package/dist/zip-web-worker.js +1 -1
  16. package/dist/zip.js +357 -64
  17. package/dist/zip.min.js +1 -1
  18. package/index-native.cjs +359 -66
  19. package/index-native.min.js +1 -1
  20. package/index.cjs +357 -64
  21. package/index.d.cts +126 -4
  22. package/index.d.ts +126 -4
  23. package/index.min.js +1 -1
  24. package/lib/core/codec-pool.js +21 -4
  25. package/lib/core/codec-registry.js +116 -0
  26. package/lib/core/codec-worker.js +94 -18
  27. package/lib/core/configuration.js +2 -0
  28. package/lib/core/constants.js +5 -1
  29. package/lib/core/options.js +2 -0
  30. package/lib/core/streams/codec-stream.js +6 -2
  31. package/lib/core/streams/zip-entry-stream.js +50 -16
  32. package/lib/core/streams/zlib-js/zlib-streams.min.js +1 -1
  33. package/lib/core/web-worker-base.js +30 -8
  34. package/lib/core/web-worker-inline-native.js +1 -1
  35. package/lib/core/web-worker-inline-wasm.js +1 -1
  36. package/lib/core/zip-reader.js +29 -3
  37. package/lib/core/zip-writer.js +68 -25
  38. package/lib/zip-core-base.js +7 -0
  39. package/lib/zip-core-reader.js +2 -1
  40. package/lib/zip-core-writer.js +1 -0
  41. package/package.json +1 -1
  42. package/worker-message-property-names.js +1 -1
package/index.d.cts CHANGED
@@ -202,6 +202,60 @@ export function configure(configuration: Configuration): void;
202
202
  */
203
203
  export function resetConfiguration(): void;
204
204
 
205
+ /**
206
+ * Registers a codec for a custom compression method (e.g. Zstandard, method 93). Entries using a
207
+ * registered method can then be written with `ZipWriter#add` and read with `FileEntry#getData`.
208
+ *
209
+ * Codecs registered with `CompressionStream`/`DecompressionStream` classes run on the main thread.
210
+ * Codecs registered with a `codecURI` module URL also run in web workers: the module is imported
211
+ * dynamically on both sides of the worker boundary.
212
+ *
213
+ * @param codec The codec definition.
214
+ */
215
+ export function registerCodec(codec: CodecDefinition): void;
216
+
217
+ /**
218
+ * Unregisters a codec previously registered with {@link registerCodec}.
219
+ *
220
+ * @param compressionMethod The compression method of the codec.
221
+ */
222
+ export function unregisterCodec(compressionMethod: number): void;
223
+
224
+ /**
225
+ * Represents a codec definition passed to {@link registerCodec}.
226
+ */
227
+ export interface CodecDefinition {
228
+ /**
229
+ * The compression method stored in zip entry headers (e.g. `93` for Zstandard). The values `0`
230
+ * (store), `8` (deflate), `9` (deflate64) and `99` (AES) are reserved.
231
+ */
232
+ compressionMethod: number;
233
+ /**
234
+ * The format name identifying the codec (e.g. `"zstd"`). It is passed as the first argument to
235
+ * the constructors of `CompressionStream` and `DecompressionStream`.
236
+ */
237
+ format: string;
238
+ /**
239
+ * The URL of a module exporting the `CompressionStream` and/or `DecompressionStream` classes of
240
+ * the codec. Relative URLs are resolved against `Configuration#baseURI`; passing an absolute URL
241
+ * (e.g. via `import.meta.resolve()`) is recommended.
242
+ */
243
+ codecURI?: string;
244
+ /**
245
+ * The stream implementation used to compress data, constructed with `(format, { level, chunkSize })`.
246
+ */
247
+ CompressionStream?: typeof TransformStreamLike;
248
+ /**
249
+ * The stream implementation used to decompress data, constructed with `(format, { chunkSize })`.
250
+ */
251
+ DecompressionStream?: typeof TransformStreamLike;
252
+ /**
253
+ * The minimum "version needed to extract" value written in zip entry headers (e.g. `63` for
254
+ * Zstandard).
255
+ */
256
+ versionNeeded?: number;
257
+ }
258
+
205
259
  /**
206
260
  * Represents the configuration passed to {@link configure}.
207
261
  */
@@ -226,6 +280,14 @@ export interface Configuration extends WorkerConfiguration {
226
280
  * @defaultValue 5000
227
281
  */
228
282
  workerStarvationTimeout?: number;
283
+ /**
284
+ * The delay in milliseconds before a newly created web worker which has not sent any message is considered dead, terminated, and replaced with inline processing.
285
+ *
286
+ * It allows recovering from environments where web workers fail silently, e.g. extension pages blocking worker scripts via their Content Security Policy.
287
+ *
288
+ * @defaultValue 5000
289
+ */
290
+ workerStartupTimeout?: number;
229
291
  /**
230
292
  * The URI of the web worker.
231
293
  *
@@ -667,6 +729,14 @@ export interface HttpRangeOptions {
667
729
  * read with as many range requests as necessary, each response body being streamed, so that the
668
730
  * size of a request never depends on the size of the entry.
669
731
  *
732
+ * @remarks
733
+ * Because response bodies are streamed with backpressure, this value does not bound how much data
734
+ * is buffered in memory; it bounds the byte span, and therefore the lifetime, of each individual
735
+ * range request. Smaller windows keep each request short-lived, which avoids the idle or duration
736
+ * timeouts enforced by servers, CDNs and proxies when a slow consumer holds a connection open, and
737
+ * avoids relying on the server honoring very large ranges. Set it to `Infinity` to disable windowing
738
+ * and read each entry with a single range request covering its whole remaining length.
739
+ *
670
740
  * @defaultValue 16777216
671
741
  */
672
742
  maximumRangeSize?: number;
@@ -1419,7 +1489,9 @@ export interface EntryMetaData {
1419
1489
  *
1420
1490
  * - Writer vs Reader:
1421
1491
  * - The writer composes `externalFileAttributes` from the provided options (`externalFileAttributes`,
1422
- * `unixMode`/special flags, `msdosAttributesRaw`/`msdosAttributes`).
1492
+ * `unixMode`/special flags, `msdosAttributesRaw`/`msdosAttributes`). An explicitly provided
1493
+ * `externalFileAttributes` value is written verbatim (including `0`) unless mode-affecting options
1494
+ * are also set.
1423
1495
  * - The reader decodes the stored `externalFileAttributes` and exposes convenience fields such as
1424
1496
  * `msdosAttributesRaw`, `msdosAttributes`, `unixExternalUpper`, and `unixMode`.
1425
1497
  *
@@ -1976,11 +2048,21 @@ export interface ZipWriterConstructorOptions extends WorkerConfiguration {
1976
2048
  /**
1977
2049
  * `true` to store extended timestamp extra fields.
1978
2050
  *
1979
- * When set to `false`, the maximum last modification date cannot exceed November 31, 2107 and the maximum accuracy is 2 seconds.
2051
+ * When set to `false`, the maximum last modification date cannot exceed December 31, 2107 and the maximum accuracy is 2 seconds.
1980
2052
  *
1981
2053
  * @defaultValue true
1982
2054
  */
1983
2055
  extendedTimestamp?: boolean;
2056
+ /**
2057
+ * `true` to always store the NTFS extra field, `false` to never store it.
2058
+ *
2059
+ * By default, the NTFS extra field is stored only when it preserves information the extended timestamp extra field cannot
2060
+ * represent: a last modification date outside its supported range, or explicit {@link ZipWriterConstructorOptions#lastAccessDate}
2061
+ * or {@link ZipWriterConstructorOptions#creationDate} values.
2062
+ *
2063
+ * This option is ignored if the {@link ZipWriterConstructorOptions#extendedTimestamp} option is set to `false`.
2064
+ */
2065
+ ntfsTimestamp?: boolean;
1984
2066
  /**
1985
2067
  * `true` to use the ZipCrypto algorithm to encrypt the content of the entry. Setting it to `true` will also
1986
2068
  * set the {@link ZipWriterConstructorOptions#dataDescriptor} to `true`.
@@ -2033,7 +2115,10 @@ export interface ZipWriterConstructorOptions extends WorkerConfiguration {
2033
2115
  /**
2034
2116
  * The external file attribute.
2035
2117
  *
2036
- * @defaultValue 0
2118
+ * When set explicitly, the value is written verbatim (including `0`), unless `unixMode`, `setuid`, `setgid`
2119
+ * or `sticky` is also set, in which case these options override the upper 16 bits while the lower 16 bits
2120
+ * are preserved. When omitted, the value is derived from the other options (e.g. the MS-DOS directory
2121
+ * attribute for folder entries, Unix default permissions when `msDosCompatible` is `false`).
2037
2122
  */
2038
2123
  externalFileAttributes?: number;
2039
2124
  /**
@@ -2096,7 +2181,10 @@ export interface ZipWriterConstructorOptions extends WorkerConfiguration {
2096
2181
  */
2097
2182
  supportZip64SplitFile?: boolean;
2098
2183
  /**
2099
- * `true`to produce zip files compatible with the USDZ specification.
2184
+ * `true`to produce zip files compatible with the USDZ specification: the data of the entries is aligned on 64-byte
2185
+ * boundaries and stored uncompressed unless the {@link ZipWriterConstructorOptions#level} or
2186
+ * {@link ZipWriterAddDataOptions#compressionMethod} options are set explicitly. Setting the
2187
+ * {@link ZipWriterConstructorOptions#password} option throws an {@link ERR_UNSUPPORTED_ENCRYPTION_USDZ} error.
2100
2188
  *
2101
2189
  * @defaultValue false
2102
2190
  */
@@ -2826,6 +2914,18 @@ export const ERR_UNSUPPORTED_ENCRYPTION: string;
2826
2914
  * Unsupported compression error
2827
2915
  */
2828
2916
  export const ERR_UNSUPPORTED_COMPRESSION: string;
2917
+ /**
2918
+ * Invalid codec definition error
2919
+ */
2920
+ export const ERR_INVALID_CODEC_DEFINITION: string;
2921
+ /**
2922
+ * Reserved compression method error
2923
+ */
2924
+ export const ERR_RESERVED_COMPRESSION_METHOD: string;
2925
+ /**
2926
+ * Invalid codec module error
2927
+ */
2928
+ export const ERR_INVALID_CODEC_MODULE: string;
2829
2929
  /**
2830
2930
  * Invalid signature error
2831
2931
  */
@@ -2836,6 +2936,17 @@ export const ERR_INVALID_SIGNATURE: string;
2836
2936
  export const ERR_INVALID_UNCOMPRESSED_SIZE: string;
2837
2937
  /**
2838
2938
  * Invalid compressed data error
2939
+ *
2940
+ * @remarks
2941
+ * The way malformed compressed data is reported is not uniform across codec
2942
+ * backends. Bytes trailing a complete DEFLATE stream (e.g. a wrong
2943
+ * `compressedSize`) are tolerated by the bundled WASM and pure-JS codecs, which
2944
+ * decompress the valid data and ignore the extra bytes, but are rejected by the
2945
+ * native `DecompressionStream` with its own `TypeError` (on Node,
2946
+ * `ERR_TRAILING_JUNK_AFTER_STREAM_END`) rather than this error. Any data that is
2947
+ * returned is always validated against the entry's uncompressed size (and CRC
2948
+ * when `checkSignature` is set), so it is never silently truncated; the backends
2949
+ * differ only in whether trailing bytes are ignored or raised as an error.
2839
2950
  */
2840
2951
  export const ERR_INVALID_COMPRESSED_DATA: string;
2841
2952
  /**
@@ -2874,6 +2985,10 @@ export const ERR_INVALID_EXTRAFIELD_DATA: string;
2874
2985
  * Invalid encryption strength error
2875
2986
  */
2876
2987
  export const ERR_INVALID_ENCRYPTION_STRENGTH: string;
2988
+ /**
2989
+ * Unsupported encryption in USDZ files error
2990
+ */
2991
+ export const ERR_UNSUPPORTED_ENCRYPTION_USDZ: string;
2877
2992
  /**
2878
2993
  * Invalid format error
2879
2994
  */
@@ -2892,6 +3007,13 @@ export const ERR_OVERLAPPING_ENTRY: string;
2892
3007
  * @remarks The thrown error carries a `reason` property describing the ambiguity: `"appended data"`, `"prepended data"`, `"trailing central directory data"`, `"mismatched zip64 end of central directory record"`, or `"duplicate filename"`.
2893
3008
  */
2894
3009
  export const ERR_AMBIGUOUS_ARCHIVE: string;
3010
+ /**
3011
+ * Encrypted central directory error
3012
+ *
3013
+ * @remarks Thrown when reading an archive using the Central Directory Encryption feature of the PKWARE Strong
3014
+ * Encryption Specification, which is not supported.
3015
+ */
3016
+ export const ERR_ENCRYPTED_CENTRAL_DIRECTORY: string;
2895
3017
  /**
2896
3018
  * Iteration completed too soon error
2897
3019
  */
package/index.d.ts CHANGED
@@ -202,6 +202,60 @@ export function configure(configuration: Configuration): void;
202
202
  */
203
203
  export function resetConfiguration(): void;
204
204
 
205
+ /**
206
+ * Registers a codec for a custom compression method (e.g. Zstandard, method 93). Entries using a
207
+ * registered method can then be written with `ZipWriter#add` and read with `FileEntry#getData`.
208
+ *
209
+ * Codecs registered with `CompressionStream`/`DecompressionStream` classes run on the main thread.
210
+ * Codecs registered with a `codecURI` module URL also run in web workers: the module is imported
211
+ * dynamically on both sides of the worker boundary.
212
+ *
213
+ * @param codec The codec definition.
214
+ */
215
+ export function registerCodec(codec: CodecDefinition): void;
216
+
217
+ /**
218
+ * Unregisters a codec previously registered with {@link registerCodec}.
219
+ *
220
+ * @param compressionMethod The compression method of the codec.
221
+ */
222
+ export function unregisterCodec(compressionMethod: number): void;
223
+
224
+ /**
225
+ * Represents a codec definition passed to {@link registerCodec}.
226
+ */
227
+ export interface CodecDefinition {
228
+ /**
229
+ * The compression method stored in zip entry headers (e.g. `93` for Zstandard). The values `0`
230
+ * (store), `8` (deflate), `9` (deflate64) and `99` (AES) are reserved.
231
+ */
232
+ compressionMethod: number;
233
+ /**
234
+ * The format name identifying the codec (e.g. `"zstd"`). It is passed as the first argument to
235
+ * the constructors of `CompressionStream` and `DecompressionStream`.
236
+ */
237
+ format: string;
238
+ /**
239
+ * The URL of a module exporting the `CompressionStream` and/or `DecompressionStream` classes of
240
+ * the codec. Relative URLs are resolved against `Configuration#baseURI`; passing an absolute URL
241
+ * (e.g. via `import.meta.resolve()`) is recommended.
242
+ */
243
+ codecURI?: string;
244
+ /**
245
+ * The stream implementation used to compress data, constructed with `(format, { level, chunkSize })`.
246
+ */
247
+ CompressionStream?: typeof TransformStreamLike;
248
+ /**
249
+ * The stream implementation used to decompress data, constructed with `(format, { chunkSize })`.
250
+ */
251
+ DecompressionStream?: typeof TransformStreamLike;
252
+ /**
253
+ * The minimum "version needed to extract" value written in zip entry headers (e.g. `63` for
254
+ * Zstandard).
255
+ */
256
+ versionNeeded?: number;
257
+ }
258
+
205
259
  /**
206
260
  * Represents the configuration passed to {@link configure}.
207
261
  */
@@ -226,6 +280,14 @@ export interface Configuration extends WorkerConfiguration {
226
280
  * @defaultValue 5000
227
281
  */
228
282
  workerStarvationTimeout?: number;
283
+ /**
284
+ * The delay in milliseconds before a newly created web worker which has not sent any message is considered dead, terminated, and replaced with inline processing.
285
+ *
286
+ * It allows recovering from environments where web workers fail silently, e.g. extension pages blocking worker scripts via their Content Security Policy.
287
+ *
288
+ * @defaultValue 5000
289
+ */
290
+ workerStartupTimeout?: number;
229
291
  /**
230
292
  * The URI of the web worker.
231
293
  *
@@ -667,6 +729,14 @@ export interface HttpRangeOptions {
667
729
  * read with as many range requests as necessary, each response body being streamed, so that the
668
730
  * size of a request never depends on the size of the entry.
669
731
  *
732
+ * @remarks
733
+ * Because response bodies are streamed with backpressure, this value does not bound how much data
734
+ * is buffered in memory; it bounds the byte span, and therefore the lifetime, of each individual
735
+ * range request. Smaller windows keep each request short-lived, which avoids the idle or duration
736
+ * timeouts enforced by servers, CDNs and proxies when a slow consumer holds a connection open, and
737
+ * avoids relying on the server honoring very large ranges. Set it to `Infinity` to disable windowing
738
+ * and read each entry with a single range request covering its whole remaining length.
739
+ *
670
740
  * @defaultValue 16777216
671
741
  */
672
742
  maximumRangeSize?: number;
@@ -1419,7 +1489,9 @@ export interface EntryMetaData {
1419
1489
  *
1420
1490
  * - Writer vs Reader:
1421
1491
  * - The writer composes `externalFileAttributes` from the provided options (`externalFileAttributes`,
1422
- * `unixMode`/special flags, `msdosAttributesRaw`/`msdosAttributes`).
1492
+ * `unixMode`/special flags, `msdosAttributesRaw`/`msdosAttributes`). An explicitly provided
1493
+ * `externalFileAttributes` value is written verbatim (including `0`) unless mode-affecting options
1494
+ * are also set.
1423
1495
  * - The reader decodes the stored `externalFileAttributes` and exposes convenience fields such as
1424
1496
  * `msdosAttributesRaw`, `msdosAttributes`, `unixExternalUpper`, and `unixMode`.
1425
1497
  *
@@ -1976,11 +2048,21 @@ export interface ZipWriterConstructorOptions extends WorkerConfiguration {
1976
2048
  /**
1977
2049
  * `true` to store extended timestamp extra fields.
1978
2050
  *
1979
- * When set to `false`, the maximum last modification date cannot exceed November 31, 2107 and the maximum accuracy is 2 seconds.
2051
+ * When set to `false`, the maximum last modification date cannot exceed December 31, 2107 and the maximum accuracy is 2 seconds.
1980
2052
  *
1981
2053
  * @defaultValue true
1982
2054
  */
1983
2055
  extendedTimestamp?: boolean;
2056
+ /**
2057
+ * `true` to always store the NTFS extra field, `false` to never store it.
2058
+ *
2059
+ * By default, the NTFS extra field is stored only when it preserves information the extended timestamp extra field cannot
2060
+ * represent: a last modification date outside its supported range, or explicit {@link ZipWriterConstructorOptions#lastAccessDate}
2061
+ * or {@link ZipWriterConstructorOptions#creationDate} values.
2062
+ *
2063
+ * This option is ignored if the {@link ZipWriterConstructorOptions#extendedTimestamp} option is set to `false`.
2064
+ */
2065
+ ntfsTimestamp?: boolean;
1984
2066
  /**
1985
2067
  * `true` to use the ZipCrypto algorithm to encrypt the content of the entry. Setting it to `true` will also
1986
2068
  * set the {@link ZipWriterConstructorOptions#dataDescriptor} to `true`.
@@ -2033,7 +2115,10 @@ export interface ZipWriterConstructorOptions extends WorkerConfiguration {
2033
2115
  /**
2034
2116
  * The external file attribute.
2035
2117
  *
2036
- * @defaultValue 0
2118
+ * When set explicitly, the value is written verbatim (including `0`), unless `unixMode`, `setuid`, `setgid`
2119
+ * or `sticky` is also set, in which case these options override the upper 16 bits while the lower 16 bits
2120
+ * are preserved. When omitted, the value is derived from the other options (e.g. the MS-DOS directory
2121
+ * attribute for folder entries, Unix default permissions when `msDosCompatible` is `false`).
2037
2122
  */
2038
2123
  externalFileAttributes?: number;
2039
2124
  /**
@@ -2096,7 +2181,10 @@ export interface ZipWriterConstructorOptions extends WorkerConfiguration {
2096
2181
  */
2097
2182
  supportZip64SplitFile?: boolean;
2098
2183
  /**
2099
- * `true`to produce zip files compatible with the USDZ specification.
2184
+ * `true`to produce zip files compatible with the USDZ specification: the data of the entries is aligned on 64-byte
2185
+ * boundaries and stored uncompressed unless the {@link ZipWriterConstructorOptions#level} or
2186
+ * {@link ZipWriterAddDataOptions#compressionMethod} options are set explicitly. Setting the
2187
+ * {@link ZipWriterConstructorOptions#password} option throws an {@link ERR_UNSUPPORTED_ENCRYPTION_USDZ} error.
2100
2188
  *
2101
2189
  * @defaultValue false
2102
2190
  */
@@ -2826,6 +2914,18 @@ export const ERR_UNSUPPORTED_ENCRYPTION: string;
2826
2914
  * Unsupported compression error
2827
2915
  */
2828
2916
  export const ERR_UNSUPPORTED_COMPRESSION: string;
2917
+ /**
2918
+ * Invalid codec definition error
2919
+ */
2920
+ export const ERR_INVALID_CODEC_DEFINITION: string;
2921
+ /**
2922
+ * Reserved compression method error
2923
+ */
2924
+ export const ERR_RESERVED_COMPRESSION_METHOD: string;
2925
+ /**
2926
+ * Invalid codec module error
2927
+ */
2928
+ export const ERR_INVALID_CODEC_MODULE: string;
2829
2929
  /**
2830
2930
  * Invalid signature error
2831
2931
  */
@@ -2836,6 +2936,17 @@ export const ERR_INVALID_SIGNATURE: string;
2836
2936
  export const ERR_INVALID_UNCOMPRESSED_SIZE: string;
2837
2937
  /**
2838
2938
  * Invalid compressed data error
2939
+ *
2940
+ * @remarks
2941
+ * The way malformed compressed data is reported is not uniform across codec
2942
+ * backends. Bytes trailing a complete DEFLATE stream (e.g. a wrong
2943
+ * `compressedSize`) are tolerated by the bundled WASM and pure-JS codecs, which
2944
+ * decompress the valid data and ignore the extra bytes, but are rejected by the
2945
+ * native `DecompressionStream` with its own `TypeError` (on Node,
2946
+ * `ERR_TRAILING_JUNK_AFTER_STREAM_END`) rather than this error. Any data that is
2947
+ * returned is always validated against the entry's uncompressed size (and CRC
2948
+ * when `checkSignature` is set), so it is never silently truncated; the backends
2949
+ * differ only in whether trailing bytes are ignored or raised as an error.
2839
2950
  */
2840
2951
  export const ERR_INVALID_COMPRESSED_DATA: string;
2841
2952
  /**
@@ -2874,6 +2985,10 @@ export const ERR_INVALID_EXTRAFIELD_DATA: string;
2874
2985
  * Invalid encryption strength error
2875
2986
  */
2876
2987
  export const ERR_INVALID_ENCRYPTION_STRENGTH: string;
2988
+ /**
2989
+ * Unsupported encryption in USDZ files error
2990
+ */
2991
+ export const ERR_UNSUPPORTED_ENCRYPTION_USDZ: string;
2877
2992
  /**
2878
2993
  * Invalid format error
2879
2994
  */
@@ -2892,6 +3007,13 @@ export const ERR_OVERLAPPING_ENTRY: string;
2892
3007
  * @remarks The thrown error carries a `reason` property describing the ambiguity: `"appended data"`, `"prepended data"`, `"trailing central directory data"`, `"mismatched zip64 end of central directory record"`, or `"duplicate filename"`.
2893
3008
  */
2894
3009
  export const ERR_AMBIGUOUS_ARCHIVE: string;
3010
+ /**
3011
+ * Encrypted central directory error
3012
+ *
3013
+ * @remarks Thrown when reading an archive using the Central Directory Encryption feature of the PKWARE Strong
3014
+ * Encryption Specification, which is not supported.
3015
+ */
3016
+ export const ERR_ENCRYPTED_CENTRAL_DIRECTORY: string;
2895
3017
  /**
2896
3018
  * Iteration completed too soon error
2897
3019
  */