@zip.js/zip.js 2.8.61 → 2.10.0
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/README.md +40 -0
- package/deno.json +1 -1
- package/dist/zip-core-external.js +15 -15
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +15 -14
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +168 -57
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +170 -56
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +168 -57
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +170 -56
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +170 -56
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +15 -14
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +15 -14
- package/dist/zip-native.min.js +1 -1
- package/dist/zip.js +15 -14
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +170 -56
- package/index-native.min.js +1 -1
- package/index.cjs +170 -56
- package/index.d.cts +104 -9
- package/index.d.ts +104 -9
- package/index.min.js +1 -1
- package/lib/core/streams/codecs/crc32.js +1 -1
- package/lib/core/util/decode-cp437.js +5 -12
- package/lib/core/version.js +1 -1
- package/lib/core/zip-fs.js +155 -44
- package/lib/core/zip-reader.js +7 -0
- package/lib/zip-core-reader.js +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -75,6 +75,46 @@ console.log(helloWorldText);
|
|
|
75
75
|
|
|
76
76
|
Run the code on JSFiddle: https://jsfiddle.net/tm9fhvab/
|
|
77
77
|
|
|
78
|
+
## Hello world with the filesystem API
|
|
79
|
+
|
|
80
|
+
The filesystem API stores the entries in a tree instead of a flat list. It needs
|
|
81
|
+
a single import, it infers the Reader and the Writer from the type of the data,
|
|
82
|
+
and it reaches an entry from its name instead of searching it in an array.
|
|
83
|
+
|
|
84
|
+
```js
|
|
85
|
+
import { ZipFS } from "@zip.js/zip.js";
|
|
86
|
+
// "jsr:@zip-js/zip-js" for Deno
|
|
87
|
+
|
|
88
|
+
// ----
|
|
89
|
+
// Write the zip file
|
|
90
|
+
// ----
|
|
91
|
+
|
|
92
|
+
// Creates a ZipFS object and adds two entries to it. The name of an entry is a
|
|
93
|
+
// path, so the "folder" directory is created by the second call.
|
|
94
|
+
const zipFs = new ZipFS();
|
|
95
|
+
zipFs.addText("hello.txt", "Hello world!");
|
|
96
|
+
zipFs.addText("folder/hello.txt", "Hello world from a directory!");
|
|
97
|
+
|
|
98
|
+
// Retrieves the Blob object containing the zip content.
|
|
99
|
+
const zipFileBlob = await zipFs.exportBlob();
|
|
100
|
+
|
|
101
|
+
// ----
|
|
102
|
+
// Read the zip file
|
|
103
|
+
// ----
|
|
104
|
+
|
|
105
|
+
// Imports the zip content into a new ZipFS object, then retrieves the content
|
|
106
|
+
// of the entries from their full name.
|
|
107
|
+
const importedZipFs = new ZipFS();
|
|
108
|
+
await importedZipFs.importBlob(zipFileBlob);
|
|
109
|
+
const helloWorldText = await importedZipFs.find("hello.txt").getText();
|
|
110
|
+
const nestedText = await importedZipFs.find("folder/hello.txt").getText();
|
|
111
|
+
|
|
112
|
+
// Displays "Hello world!" and "Hello world from a directory!".
|
|
113
|
+
console.log(helloWorldText, nestedText);
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Run the code on JSFiddle: https://jsfiddle.net/gcnret0x/
|
|
117
|
+
|
|
78
118
|
## Hello world with Streams
|
|
79
119
|
|
|
80
120
|
```js
|
package/deno.json
CHANGED
|
@@ -520,7 +520,7 @@ function getDataView(array) {
|
|
|
520
520
|
// Every table MUST stay a PACKED_SMI array: build with array literals (not `new Array(n)`,
|
|
521
521
|
// which is HOLEY) and store the signed int32 XOR result (no `>>> 0`). An unsigned or holey
|
|
522
522
|
// table becomes a V8 FixedDoubleArray whose every hot-loop lookup unboxes a double (~1.6x
|
|
523
|
-
// slower). Signedness is irrelevant to the result
|
|
523
|
+
// slower). Signedness is irrelevant to the result: the reads mask/shift it and the final
|
|
524
524
|
// `~crc` normalizes it. Do NOT reintroduce `>>> 0` here or switch to `new Array(256)`.
|
|
525
525
|
const T = [[], [], [], [], [], [], [], []];
|
|
526
526
|
for (let n = 0; n < 256; n++) {
|
|
@@ -3506,21 +3506,14 @@ async function terminateWorkers() {
|
|
|
3506
3506
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
3507
3507
|
*/
|
|
3508
3508
|
|
|
3509
|
-
|
|
3510
|
-
|
|
3511
|
-
const CP437 = "\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");
|
|
3512
|
-
const VALID_CP437 = CP437.length == 256;
|
|
3509
|
+
const CP437 = "\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\u00B6\u00A7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9\u00FF\u00D6\u00DC\u00A2\u00A3\u00A5\u20A7\u0192\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0".split("");
|
|
3513
3510
|
|
|
3514
3511
|
function decodeCP437(stringValue) {
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3518
|
-
result += CP437[stringValue[indexCharacter]];
|
|
3519
|
-
}
|
|
3520
|
-
return result;
|
|
3521
|
-
} else {
|
|
3522
|
-
return new TextDecoder().decode(stringValue);
|
|
3512
|
+
let result = "";
|
|
3513
|
+
for (let indexCharacter = 0; indexCharacter < stringValue.length; indexCharacter++) {
|
|
3514
|
+
result += CP437[stringValue[indexCharacter]];
|
|
3523
3515
|
}
|
|
3516
|
+
return result;
|
|
3524
3517
|
}
|
|
3525
3518
|
|
|
3526
3519
|
/*
|
|
@@ -4754,6 +4747,7 @@ const WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA = "unknown zip64 extensible data";
|
|
|
4754
4747
|
const WARNING_WRAPPED_ENTRIES_COUNT = "wrapped entries count";
|
|
4755
4748
|
const WARNING_APPENDED_DATA = "appended data";
|
|
4756
4749
|
const WARNING_PREPENDED_DATA = "prepended data";
|
|
4750
|
+
const WARNING_PREPENDED_CENTRAL_DIRECTORY = "prepended central directory";
|
|
4757
4751
|
const WARNING_TRAILING_CENTRAL_DIRECTORY_DATA = "trailing central directory data";
|
|
4758
4752
|
const WARNING_DUPLICATE_FILENAME = "duplicate filename";
|
|
4759
4753
|
const WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY = "mismatched zip64 end of central directory record";
|
|
@@ -4847,6 +4841,7 @@ class ZipReader {
|
|
|
4847
4841
|
let diskNumber = getUint16$1(endOfDirectoryView, 6);
|
|
4848
4842
|
let filesLength = getUint16$1(endOfDirectoryView, 10);
|
|
4849
4843
|
let prependedDataLength = 0;
|
|
4844
|
+
let prependedCentralDirectory;
|
|
4850
4845
|
let startOffset;
|
|
4851
4846
|
let zip64EndOfDirectory;
|
|
4852
4847
|
let zip64EndOfDirectoryVersion2;
|
|
@@ -4950,6 +4945,7 @@ class ZipReader {
|
|
|
4950
4945
|
directoryDataOffset = expectedDirectoryDataOffset;
|
|
4951
4946
|
if (directoryDataOffset > originalDirectoryDataOffset) {
|
|
4952
4947
|
prependedDataLength += directoryDataOffset - originalDirectoryDataOffset;
|
|
4948
|
+
prependedCentralDirectory = storedPointsAtDirectory;
|
|
4953
4949
|
}
|
|
4954
4950
|
directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength);
|
|
4955
4951
|
directoryView = getDataView(directoryArray);
|
|
@@ -5177,6 +5173,9 @@ class ZipReader {
|
|
|
5177
5173
|
if (prependedDataLength || (filesLength && startOffset > SPLIT_ZIP_FILE_SIGNATURE_LENGTH)) {
|
|
5178
5174
|
addWarning(warnings, WARNING_PREPENDED_DATA);
|
|
5179
5175
|
}
|
|
5176
|
+
if (prependedCentralDirectory) {
|
|
5177
|
+
addWarning(warnings, WARNING_PREPENDED_CENTRAL_DIRECTORY);
|
|
5178
|
+
}
|
|
5180
5179
|
if (extractPrependedData) {
|
|
5181
5180
|
zipReader.prependedData = startOffset > splitZipSignatureLength ?
|
|
5182
5181
|
await readUint8Array(reader, splitZipSignatureLength, startOffset - splitZipSignatureLength) :
|
|
@@ -6237,6 +6236,7 @@ var zipReader = /*#__PURE__*/Object.freeze({
|
|
|
6237
6236
|
WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD: WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,
|
|
6238
6237
|
WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES: WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,
|
|
6239
6238
|
WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY: WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,
|
|
6239
|
+
WARNING_PREPENDED_CENTRAL_DIRECTORY: WARNING_PREPENDED_CENTRAL_DIRECTORY,
|
|
6240
6240
|
WARNING_PREPENDED_DATA: WARNING_PREPENDED_DATA,
|
|
6241
6241
|
WARNING_TRAILING_CENTRAL_DIRECTORY_DATA: WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,
|
|
6242
6242
|
WARNING_UNKNOWN_VERSION: WARNING_UNKNOWN_VERSION,
|
|
@@ -8553,7 +8553,7 @@ function formatSupported(StreamClass, format) {
|
|
|
8553
8553
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
8554
8554
|
*/
|
|
8555
8555
|
|
|
8556
|
-
const VERSION = "2.
|
|
8556
|
+
const VERSION = "2.10.0";
|
|
8557
8557
|
|
|
8558
8558
|
/*
|
|
8559
8559
|
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|
|
@@ -9387,4 +9387,4 @@ function terminateWorkersAndModule() {
|
|
|
9387
9387
|
|
|
9388
9388
|
configureExternalAssets();
|
|
9389
9389
|
|
|
9390
|
-
export { BlobReader, BlobWriter, Data64URIReader, Data64URIWriter, ERR_AMBIGUOUS_ARCHIVE, ERR_BAD_FORMAT, ERR_CENTRAL_DIRECTORY_NOT_FOUND, ERR_DUPLICATED_NAME, ERR_ENCRYPTED, ERR_ENCRYPTED_CENTRAL_DIRECTORY, ERR_ENTRY_DATA_OUT_OF_BOUNDS, ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND, ERR_EOCDR_NOT_FOUND, ERR_EXTRAFIELD_ZIP64_NOT_FOUND, ERR_HTTP_RANGE, ERR_HTTP_RESOURCE_CHANGED, ERR_INVALID_AUTHENTICATION_CODE, ERR_INVALID_CODEC_DEFINITION, ERR_INVALID_CODEC_MODULE, ERR_INVALID_COMMENT, ERR_INVALID_COMMENT_TYPE, ERR_INVALID_COMPRESSED_DATA, ERR_INVALID_CRC32, ERR_INVALID_DATE, ERR_INVALID_ENCRYPTION_STRENGTH, ERR_INVALID_ENTRY_COMMENT, ERR_INVALID_ENTRY_COMMENT_TYPE, ERR_INVALID_ENTRY_NAME, ERR_INVALID_EXTRAFIELD, ERR_INVALID_EXTRAFIELD_DATA, ERR_INVALID_EXTRAFIELD_DATA_TYPE, ERR_INVALID_EXTRAFIELD_TYPE, ERR_INVALID_FILENAME_VALIDATION, ERR_INVALID_FUNCTION_OPTION, ERR_INVALID_GID, ERR_INVALID_LEVEL, ERR_INVALID_MAX_APPENDED_DATA_SIZE, ERR_INVALID_MAX_WORKERS, ERR_INVALID_MSDOS_ATTRIBUTES, ERR_INVALID_MSDOS_DATA, ERR_INVALID_PASSWORD, ERR_INVALID_PASSWORD_TYPE, ERR_INVALID_SIGNAL, ERR_INVALID_SIGNATURE, ERR_INVALID_SIGNATURE_DATA, ERR_INVALID_STRICTNESS, ERR_INVALID_UID, ERR_INVALID_UNCOMPRESSED_SIZE, ERR_INVALID_UNIX_EXTRA_FIELD_TYPE, ERR_INVALID_UNIX_ID_SIZE, ERR_INVALID_UNIX_MODE, ERR_INVALID_VERSION, ERR_ITERATOR_COMPLETED_TOO_SOON, ERR_LOCAL_FILE_HEADER_NOT_FOUND, ERR_OVERLAPPING_ENTRY, ERR_RESERVED_COMPRESSION_METHOD, ERR_SPLIT_ZIP_FILE, ERR_UNDEFINED_COMPRESSION_METHOD, ERR_UNDEFINED_READER, ERR_UNDEFINED_UNCOMPRESSED_SIZE, ERR_UNDETERMINED_SIZE, ERR_UNSAFE_FILENAME, ERR_UNSUPPORTED_COMPRESSION$1 as ERR_UNSUPPORTED_COMPRESSION, ERR_UNSUPPORTED_CONTEXT, ERR_UNSUPPORTED_CRYPTO_API, ERR_UNSUPPORTED_ENCRYPTION, ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH, ERR_UNSUPPORTED_ENCRYPTION_USDZ, ERR_UNSUPPORTED_FORMAT, ERR_UNSUPPORTED_UINT64, ERR_WORKER_STARTUP_TIMEOUT, ERR_WRITER_NOT_INITIALIZED, ERR_ZIP_NOT_EMPTY, HttpRangeReader, HttpReader, Reader, SplitDataReader, SplitDataWriter, TextReader, TextWriter, Uint8ArrayReader, Uint8ArrayWriter, VERSION, WARNING_APPENDED_DATA, WARNING_COMPRESSED_PATCHED_DATA, WARNING_DUPLICATE_FILENAME, WARNING_MALFORMED_EXTRA_FIELD, WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG, WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD, WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES, WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY, WARNING_PREPENDED_DATA, WARNING_TRAILING_CENTRAL_DIRECTORY_DATA, WARNING_UNKNOWN_VERSION, WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA, WARNING_UNSORTED_CENTRAL_DIRECTORY, WARNING_WRAPPED_ENTRIES_COUNT, Writer, ZipReader, ZipReaderStream, ZipWriter, ZipWriterStream, configure, createBlobTempStream, createOPFSTempStream, createSyncAccessHandleTempStream, getMimeType, getRegisteredCodecs, getSupportedCompressionMethods, isZipFile, registerCodec, resetConfiguration, terminateWorkersAndModule as terminateWorkers, unregisterCodec };
|
|
9390
|
+
export { BlobReader, BlobWriter, Data64URIReader, Data64URIWriter, ERR_AMBIGUOUS_ARCHIVE, ERR_BAD_FORMAT, ERR_CENTRAL_DIRECTORY_NOT_FOUND, ERR_DUPLICATED_NAME, ERR_ENCRYPTED, ERR_ENCRYPTED_CENTRAL_DIRECTORY, ERR_ENTRY_DATA_OUT_OF_BOUNDS, ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND, ERR_EOCDR_NOT_FOUND, ERR_EXTRAFIELD_ZIP64_NOT_FOUND, ERR_HTTP_RANGE, ERR_HTTP_RESOURCE_CHANGED, ERR_INVALID_AUTHENTICATION_CODE, ERR_INVALID_CODEC_DEFINITION, ERR_INVALID_CODEC_MODULE, ERR_INVALID_COMMENT, ERR_INVALID_COMMENT_TYPE, ERR_INVALID_COMPRESSED_DATA, ERR_INVALID_CRC32, ERR_INVALID_DATE, ERR_INVALID_ENCRYPTION_STRENGTH, ERR_INVALID_ENTRY_COMMENT, ERR_INVALID_ENTRY_COMMENT_TYPE, ERR_INVALID_ENTRY_NAME, ERR_INVALID_EXTRAFIELD, ERR_INVALID_EXTRAFIELD_DATA, ERR_INVALID_EXTRAFIELD_DATA_TYPE, ERR_INVALID_EXTRAFIELD_TYPE, ERR_INVALID_FILENAME_VALIDATION, ERR_INVALID_FUNCTION_OPTION, ERR_INVALID_GID, ERR_INVALID_LEVEL, ERR_INVALID_MAX_APPENDED_DATA_SIZE, ERR_INVALID_MAX_WORKERS, ERR_INVALID_MSDOS_ATTRIBUTES, ERR_INVALID_MSDOS_DATA, ERR_INVALID_PASSWORD, ERR_INVALID_PASSWORD_TYPE, ERR_INVALID_SIGNAL, ERR_INVALID_SIGNATURE, ERR_INVALID_SIGNATURE_DATA, ERR_INVALID_STRICTNESS, ERR_INVALID_UID, ERR_INVALID_UNCOMPRESSED_SIZE, ERR_INVALID_UNIX_EXTRA_FIELD_TYPE, ERR_INVALID_UNIX_ID_SIZE, ERR_INVALID_UNIX_MODE, ERR_INVALID_VERSION, ERR_ITERATOR_COMPLETED_TOO_SOON, ERR_LOCAL_FILE_HEADER_NOT_FOUND, ERR_OVERLAPPING_ENTRY, ERR_RESERVED_COMPRESSION_METHOD, ERR_SPLIT_ZIP_FILE, ERR_UNDEFINED_COMPRESSION_METHOD, ERR_UNDEFINED_READER, ERR_UNDEFINED_UNCOMPRESSED_SIZE, ERR_UNDETERMINED_SIZE, ERR_UNSAFE_FILENAME, ERR_UNSUPPORTED_COMPRESSION$1 as ERR_UNSUPPORTED_COMPRESSION, ERR_UNSUPPORTED_CONTEXT, ERR_UNSUPPORTED_CRYPTO_API, ERR_UNSUPPORTED_ENCRYPTION, ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH, ERR_UNSUPPORTED_ENCRYPTION_USDZ, ERR_UNSUPPORTED_FORMAT, ERR_UNSUPPORTED_UINT64, ERR_WORKER_STARTUP_TIMEOUT, ERR_WRITER_NOT_INITIALIZED, ERR_ZIP_NOT_EMPTY, HttpRangeReader, HttpReader, Reader, SplitDataReader, SplitDataWriter, TextReader, TextWriter, Uint8ArrayReader, Uint8ArrayWriter, VERSION, WARNING_APPENDED_DATA, WARNING_COMPRESSED_PATCHED_DATA, WARNING_DUPLICATE_FILENAME, WARNING_MALFORMED_EXTRA_FIELD, WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG, WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD, WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES, WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY, WARNING_PREPENDED_CENTRAL_DIRECTORY, WARNING_PREPENDED_DATA, WARNING_TRAILING_CENTRAL_DIRECTORY_DATA, WARNING_UNKNOWN_VERSION, WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA, WARNING_UNSORTED_CENTRAL_DIRECTORY, WARNING_WRAPPED_ENTRIES_COUNT, Writer, ZipReader, ZipReaderStream, ZipWriter, ZipWriterStream, configure, createBlobTempStream, createOPFSTempStream, createSyncAccessHandleTempStream, getMimeType, getRegisteredCodecs, getSupportedCompressionMethods, isZipFile, registerCodec, resetConfiguration, terminateWorkersAndModule as terminateWorkers, unregisterCodec };
|