mirror of
https://github.com/nodejs/node.git
synced 2026-10-28 18:25:13 +08:00
Add ZIP archive support to the node:zlib module through three classes and a set of helpers: - ZipEntry: a single archive member, with buffered reads (content()), bounded-memory streaming reads (contentIterator()), and create()/createStream() for building members. - ZipFile: random access to an archive backed by a file descriptor, reading members lazily without retaining their content and writing new members in place; opened with open()/openSync(). - ZipBuffer: a zero-copy, in-memory view over an archive already held in a Buffer. createZipArchive() serializes a sequence of entries into an archive byte stream, and setMaxZipContentSize() bounds the default in-memory decompression size. Every operation has both an asynchronous and a synchronous form. Signed-off-by: Philipp Dunkel <pip@pipobscure.com> PR-URL: https://github.com/nodejs/node/pull/64339 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Aviv Keller <me@aviv.sh>
139 lines
7.6 KiB
JSON
139 lines
7.6 KiB
JSON
{
|
|
"AbortController": "globals.html#class-abortcontroller",
|
|
"AbortSignal": "globals.html#class-abortsignal",
|
|
"AesCbcParams": "webcrypto.html#class-aescbcparams",
|
|
"AesCtrParams": "webcrypto.html#class-aesctrparams",
|
|
"AesDerivedKeyParams": "webcrypto.html#class-aesderivedkeyparams",
|
|
"AesGcmParams": "webcrypto.html#class-aesgcmparams",
|
|
"AesKeyAlgorithm": "webcrypto.html#class-aeskeyalgorithm",
|
|
"AesKeyGenParams": "webcrypto.html#class-aeskeygenparams",
|
|
"Algorithm": "webcrypto.html#class-algorithm",
|
|
"AlgorithmIdentifier": "webcrypto.html#class-algorithmidentifier",
|
|
"AsyncHook": "async_hooks.html#async_hookscreatehookoptions",
|
|
"AsyncLocalStorage": "async_context.html#class-asynclocalstorage",
|
|
"AsyncResource": "async_hooks.html#class-asyncresource",
|
|
"Blob": "buffer.html#class-blob",
|
|
"BroadcastChannel": "worker_threads.html#class-broadcastchannel-extends-eventtarget",
|
|
"brotli options": "zlib.html#class-brotlioptions",
|
|
"Buffer": "buffer.html#class-buffer",
|
|
"ByteLengthQueuingStrategy": "webstreams.html#class-bytelengthqueuingstrategy",
|
|
"Channel": "diagnostics_channel.html#class-channel",
|
|
"ChildProcess": "child_process.html#class-childprocess",
|
|
"Cipher": "crypto.html#class-cipher",
|
|
"Cipheriv": "crypto.html#class-cipheriv",
|
|
"ClientHttp2Session": "http2.html#class-clienthttp2session",
|
|
"ClientHttp2Stream": "http2.html#class-clienthttp2stream",
|
|
"CountQueuingStrategy": "webstreams.html#class-countqueuingstrategy",
|
|
"Crypto": "webcrypto.html#class-crypto",
|
|
"CryptoKey": "webcrypto.html#class-cryptokey",
|
|
"CryptoKeyPair": "webcrypto.html#class-cryptokeypair",
|
|
"CustomEvent": "events.html#class-customevent",
|
|
"DatabaseSync": "sqlite.html#class-databasesync",
|
|
"Decipher": "crypto.html#class-decipher",
|
|
"Decipheriv": "crypto.html#class-decipheriv",
|
|
"DiffieHellman": "crypto.html#class-diffiehellman",
|
|
"DiffieHellmanGroup": "crypto.html#class-diffiehellmangroup",
|
|
"Disposable": "https://tc39.es/proposal-explicit-resource-management/#sec-disposable-interface",
|
|
"Domain": "domain.html#class-domain",
|
|
"Duplex": "stream.html#class-streamduplex",
|
|
"ECDH": "crypto.html#class-ecdh",
|
|
"EcdhKeyDeriveParams": "webcrypto.html#class-ecdhkeyderiveparams",
|
|
"EcdsaParams": "webcrypto.html#class-ecdsaparams",
|
|
"EcKeyAlgorithm": "webcrypto.html#class-eckeyalgorithm",
|
|
"EcKeyGenParams": "webcrypto.html#class-eckeygenparams",
|
|
"EcKeyImportParams": "webcrypto.html#class-eckeyimportparams",
|
|
"Ed448Params": "webcrypto.html#class-ed448params",
|
|
"Event": "events.html#class-event",
|
|
"EventEmitter": "events.html#class-eventemitter",
|
|
"EventListener": "events.html#event-listener",
|
|
"EventTarget": "events.html#class-eventtarget",
|
|
"File": "buffer.html#class-file",
|
|
"FileHandle": "fs.html#class-filehandle",
|
|
"Handle": "net.html#serverlistenhandle-backlog-callback",
|
|
"Hash": "crypto.html#class-hash",
|
|
"Histogram": "perf_hooks.html#class-histogram",
|
|
"HkdfParams": "webcrypto.html#class-hkdfparams",
|
|
"Hmac": "crypto.html#class-hmac",
|
|
"HmacImportParams": "webcrypto.html#class-hmacimportparams",
|
|
"HmacKeyAlgorithm": "webcrypto.html#class-hmackeyalgorithm",
|
|
"HmacKeyGenParams": "webcrypto.html#class-hmackeygenparams",
|
|
"HTTP/2 Headers Object": "http2.html#headers-object",
|
|
"HTTP/2 Settings Object": "http2.html#settings-object",
|
|
"Http2SecureServer": "http2.html#class-http2secureserver",
|
|
"Http2Server": "http2.html#class-http2server",
|
|
"Http2Session": "http2.html#class-http2session",
|
|
"Http2Stream": "http2.html#class-http2stream",
|
|
"Immediate": "timers.html#class-immediate",
|
|
"import.meta": "esm.html#importmeta",
|
|
"IntervalHistogram": "perf_hooks.html#class-intervalhistogram-extends-histogram",
|
|
"KeyAlgorithm": "webcrypto.html#class-keyalgorithm",
|
|
"KeyObject": "crypto.html#class-keyobject",
|
|
"LockManager": "worker_threads.html#class-lockmanager",
|
|
"MessagePort": "worker_threads.html#class-messageport",
|
|
"MIMEParams": "util.html#class-utilmimeparams",
|
|
"MockModuleContext": "test.html#class-mockmodulecontext",
|
|
"module": "modules.html#the-module-object",
|
|
"ModuleRequest": "vm.html#type-modulerequest",
|
|
"net.BlockList": "net.html#class-netblocklist",
|
|
"net.BoundSocket": "net.html#class-netboundsocket",
|
|
"NodeEventTarget": "events.html#class-nodeeventtarget",
|
|
"os.constants.dlopen": "os.html#dlopen-constants",
|
|
"Pbkdf2Params": "webcrypto.html#class-pbkdf2params",
|
|
"PerformanceEntry": "perf_hooks.html#class-performanceentry",
|
|
"PerformanceNodeTiming": "perf_hooks.html#class-performancenodetiming",
|
|
"PerformanceObserver": "perf_hooks.html#class-performanceobserver",
|
|
"PerformanceObserverEntryList": "perf_hooks.html#class-performanceobserverentrylist",
|
|
"Readable": "stream.html#class-streamreadable",
|
|
"ReadableByteStreamController": "webstreams.html#class-readablebytestreamcontroller",
|
|
"ReadableStream": "webstreams.html#class-readablestream",
|
|
"ReadableStreamBYOBReader": "webstreams.html#class-readablestreambyobreader",
|
|
"ReadableStreamBYOBRequest": "webstreams.html#class-readablestreambyobrequest",
|
|
"ReadableStreamDefaultController": "webstreams.html#class-readablestreamdefaultcontroller",
|
|
"ReadableStreamDefaultReader": "webstreams.html#class-readablestreamdefaultreader",
|
|
"readlinePromises.Interface": "readline.html#class-readlinepromisesinterface",
|
|
"RecordableHistogram": "perf_hooks.html#class-recordablehistogram-extends-histogram",
|
|
"require": "modules.html#requireid",
|
|
"RsaHashedImportParams": "webcrypto.html#class-rsahashedimportparams",
|
|
"RsaHashedKeyAlgorithm": "webcrypto.html#class-rsahashedkeyalgorithm",
|
|
"RsaHashedKeyGenParams": "webcrypto.html#class-rsahashedkeygenparams",
|
|
"RsaOaepParams": "webcrypto.html#class-rsaoaepparams",
|
|
"RsaPssParams": "webcrypto.html#class-rsapssparams",
|
|
"ServerHttp2Session": "http2.html#class-serverhttp2session",
|
|
"ServerHttp2Stream": "http2.html#class-serverhttp2stream",
|
|
"Session": "sqlite.html#class-session",
|
|
"Share": "stream_iter.html#class-share",
|
|
"Shareable": "stream_iter.html#interface-shareable",
|
|
"Sign": "crypto.html#class-sign",
|
|
"StatementSync": "sqlite.html#class-statementsync",
|
|
"Stream": "stream.html#stream",
|
|
"SubtleCrypto": "webcrypto.html#class-subtlecrypto",
|
|
"SuiteContext": "test.html#class-suitecontext",
|
|
"SyncShare": "stream_iter.html#class-syncshare",
|
|
"SyncShareable": "stream_iter.html#interface-syncshareable",
|
|
"TestContext": "test.html#class-testcontext",
|
|
"TestsStream": "test.html#class-testsstream",
|
|
"TextDecoderStream": "webstreams.html#class-textdecoderstream",
|
|
"TextEncoderStream": "webstreams.html#class-textencoderstream",
|
|
"Timeout": "timers.html#class-timeout",
|
|
"Timer": "timers.html#timers",
|
|
"Tracing": "tracing.html#tracing-object",
|
|
"TracingChannel": "diagnostics_channel.html#class-tracingchannel",
|
|
"Transform": "stream.html#class-streamtransform",
|
|
"TransformStream": "webstreams.html#class-transformstream",
|
|
"TransformStreamDefaultController": "webstreams.html#class-transformstreamdefaultcontroller",
|
|
"URL": "url.html#the-whatwg-url-api",
|
|
"URLSearchParams": "url.html#class-urlsearchparams",
|
|
"Verify": "crypto.html#class-verify",
|
|
"Worker": "worker_threads.html#class-worker",
|
|
"Writable": "stream.html#class-streamwritable",
|
|
"WritableStream": "webstreams.html#class-writablestream",
|
|
"WritableStreamDefaultController": "webstreams.html#class-writablestreamdefaultcontroller",
|
|
"WritableStreamDefaultWriter": "webstreams.html#class-writablestreamdefaultwriter",
|
|
"X509Certificate": "crypto.html#class-x509certificate",
|
|
"ZipBuffer": "zlib.html#class-zlibzipbuffer",
|
|
"ZipEntry": "zlib.html#class-zlibzipentry",
|
|
"ZipFile": "zlib.html#class-zlibzipfile",
|
|
"zlib options": "zlib.html#class-options",
|
|
"zstd options": "zlib.html#class-zstdoptions"
|
|
}
|