UNPKG

fast-extract

Version:

Extract contents from various archive types (tar, tar.bz2, tar.gz, tar.xz, tgz, zip)

159 lines (158 loc) 15.4 kB
import type { TransformCallback, TransformOptions, Transform as TransformT } from 'stream'; import type { OptionsInternal } from '../../types.js'; interface Iterator { forEach(fn: (entry: unknown) => void, options: { concurrency: number; }, callback: (err?: Error | null) => void): void; destroy(error?: Error | null): void; } type IteratorConstructor = new (stream: NodeJS.ReadWriteStream) => Iterator; export default function createIteratorTransform(IteratorClass: IteratorConstructor): { new (options?: OptionsInternal | TransformOptions<TransformT>): { _iterator: Iterator | null; _callback: ((error?: Error | null) => void) | null; _stream: NodeJS.ReadWriteStream | null; _concurrency: number; _transform(chunk: unknown, encoding: BufferEncoding, callback: TransformCallback): void; _flush(callback: TransformCallback): void; destroy(error?: Error | null): /*elided*/ any; allowHalfOpen: boolean; addListener<E extends keyof import("node:stream").DuplexEventMap>(eventName: E, listener: (...args: import("node:stream").DuplexEventMap[E]) => void): /*elided*/ any; addListener(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any; emit<E extends keyof import("node:stream").DuplexEventMap>(eventName: E, ...args: import("node:stream").DuplexEventMap[E]): boolean; emit(eventName: string | symbol, ...args: any[]): boolean; listenerCount<E extends keyof import("node:stream").DuplexEventMap>(eventName: E, listener?: ((...args: import("node:stream").DuplexEventMap[E]) => void) | undefined): number; listenerCount(eventName: string | symbol, listener?: ((...args: any[]) => void) | undefined): number; listeners<E extends keyof import("node:stream").DuplexEventMap>(eventName: E): ((...args: import("node:stream").DuplexEventMap[E]) => void)[]; listeners(eventName: string | symbol): ((...args: any[]) => void)[]; off<E extends keyof import("node:stream").DuplexEventMap>(eventName: E, listener: (...args: import("node:stream").DuplexEventMap[E]) => void): /*elided*/ any; off(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any; on<E extends keyof import("node:stream").DuplexEventMap>(eventName: E, listener: (...args: import("node:stream").DuplexEventMap[E]) => void): /*elided*/ any; on(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any; once<E extends keyof import("node:stream").DuplexEventMap>(eventName: E, listener: (...args: import("node:stream").DuplexEventMap[E]) => void): /*elided*/ any; once(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any; prependListener<E extends keyof import("node:stream").DuplexEventMap>(eventName: E, listener: (...args: import("node:stream").DuplexEventMap[E]) => void): /*elided*/ any; prependListener(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any; prependOnceListener<E extends keyof import("node:stream").DuplexEventMap>(eventName: E, listener: (...args: import("node:stream").DuplexEventMap[E]) => void): /*elided*/ any; prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any; rawListeners<E extends keyof import("node:stream").DuplexEventMap>(eventName: E): ((...args: import("node:stream").DuplexEventMap[E]) => void)[]; rawListeners(eventName: string | symbol): ((...args: any[]) => void)[]; removeAllListeners<E extends keyof import("node:stream").DuplexEventMap>(eventName?: E | undefined): /*elided*/ any; removeAllListeners(eventName?: string | symbol): /*elided*/ any; removeListener<E extends keyof import("node:stream").DuplexEventMap>(eventName: E, listener: (...args: import("node:stream").DuplexEventMap[E]) => void): /*elided*/ any; removeListener(eventName: string | symbol, listener: (...args: any[]) => void): /*elided*/ any; pipe<T extends NodeJS.WritableStream>(destination: T, options?: import("node:stream").PipeOptions): T; eventNames(): (string | symbol)[]; getMaxListeners(): number; setMaxListeners(n: number): /*elided*/ any; [EventEmitter.captureRejectionSymbol]?(error: Error, event: string | symbol, ...args: any[]): void; readonly readableAborted: boolean; readable: boolean; readonly readableDidRead: boolean; readonly readableEncoding: BufferEncoding | null; readonly readableEnded: boolean; readableFlowing: boolean | null; readonly readableHighWaterMark: number; readonly readableLength: number; readonly readableObjectMode: boolean; destroyed: boolean; readonly closed: boolean; readonly errored: Error | null; _construct?(callback: (error?: Error | null) => void): void; _read(size: number): void; read(size?: number): any; setEncoding(encoding: BufferEncoding): /*elided*/ any; pause(): /*elided*/ any; resume(): /*elided*/ any; isPaused(): boolean; unpipe(destination?: NodeJS.WritableStream): /*elided*/ any; unshift(chunk: any, encoding?: BufferEncoding): void; wrap(stream: NodeJS.ReadableStream): /*elided*/ any; push(chunk: any, encoding?: BufferEncoding): boolean; compose(stream: NodeJS.WritableStream | import("node:stream/web").WritableStream | import("node:stream/web").TransformStream | ((source: any) => void), options?: import("node:events").Abortable): import("node:stream").Duplex; iterator(options?: import("node:stream").ReadableIteratorOptions): NodeJS.AsyncIterator<any>; map(fn: (data: any, options?: import("node:events").Abortable) => any, options?: import("node:stream").ReadableOperatorOptions): import("node:stream").Readable; filter(fn: (data: any, options?: import("node:events").Abortable) => boolean | Promise<boolean>, options?: import("node:stream").ReadableOperatorOptions): import("node:stream").Readable; forEach(fn: (data: any, options?: import("node:events").Abortable) => void | Promise<void>, options?: Pick<import("node:stream").ReadableOperatorOptions, "concurrency" | "signal">): Promise<void>; toArray(options?: import("node:events").Abortable): Promise<any[]>; some(fn: (data: any, options?: import("node:events").Abortable) => boolean | Promise<boolean>, options?: Pick<import("node:stream").ReadableOperatorOptions, "concurrency" | "signal">): Promise<boolean>; find<T>(fn: (data: any, options?: import("node:events").Abortable) => data is T, options?: Pick<import("node:stream").ReadableOperatorOptions, "concurrency" | "signal">): Promise<T | undefined>; find(fn: (data: any, options?: import("node:events").Abortable) => boolean | Promise<boolean>, options?: Pick<import("node:stream").ReadableOperatorOptions, "concurrency" | "signal">): Promise<any>; every(fn: (data: any, options?: import("node:events").Abortable) => boolean | Promise<boolean>, options?: Pick<import("node:stream").ReadableOperatorOptions, "concurrency" | "signal">): Promise<boolean>; flatMap(fn: (data: any, options?: import("node:events").Abortable) => any, options?: Pick<import("node:stream").ReadableOperatorOptions, "concurrency" | "signal">): import("node:stream").Readable; drop(limit: number, options?: import("node:events").Abortable): import("node:stream").Readable; take(limit: number, options?: import("node:events").Abortable): import("node:stream").Readable; reduce<T>(fn: (previous: any, data: any, options?: import("node:events").Abortable) => T): Promise<T>; reduce<T>(fn: (previous: T, data: any, options?: import("node:events").Abortable) => T, initial: T, options?: import("node:events").Abortable): Promise<T>; _destroy(error: Error | null, callback: (error?: Error | null) => void): void; [Symbol.asyncIterator](): NodeJS.AsyncIterator<any>; [Symbol.asyncDispose](): Promise<void>; writable: boolean; readonly writableAborted: boolean; readonly writableEnded: boolean; readonly writableFinished: boolean; readonly writableHighWaterMark: number; readonly writableLength: number; readonly writableObjectMode: boolean; readonly writableCorked: number; readonly writableNeedDrain: boolean; _write(chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; _writev?(chunks: { chunk: any; encoding: BufferEncoding; }[], callback: (error?: Error | null) => void): void; _final(callback: (error?: Error | null) => void): void; write(chunk: any, callback?: (error: Error | null | undefined) => void): boolean; write(chunk: any, encoding: BufferEncoding, callback?: (error: Error | null | undefined) => void): boolean; setDefaultEncoding(encoding: BufferEncoding): /*elided*/ any; end(cb?: () => void): /*elided*/ any; end(chunk: any, cb?: () => void): /*elided*/ any; end(chunk: any, encoding: BufferEncoding, cb?: () => void): /*elided*/ any; cork(): void; uncork(): void; }; from(src: NodeJS.ReadableStream | NodeJS.WritableStream | import("node:buffer").Blob | string | Iterable<any> | AsyncIterable<any> | ((source: AsyncIterable<any>) => AsyncIterable<any>) | ((source: AsyncIterable<any>) => Promise<void>) | Promise<any> | import("node:stream/web").ReadableWritablePair | import("node:stream/web").ReadableStream | import("node:stream/web").WritableStream): import("node:stream").Duplex; toWeb(streamDuplex: NodeJS.ReadWriteStream, options?: import("node:stream").DuplexToWebOptions): import("node:stream/web").ReadableWritablePair; fromWeb(duplexStream: import("node:stream/web").ReadableWritablePair, options?: Pick<import("node:stream").DuplexOptions, "allowHalfOpen" | "decodeStrings" | "encoding" | "highWaterMark" | "objectMode" | "signal">): import("node:stream").Duplex; promises: typeof import("node:stream/promises"); Stream: typeof import("node:stream"); duplexPair(options?: import("node:stream").DuplexOptions): [import("node:stream").Duplex, import("node:stream").Duplex]; addAbortSignal<T extends NodeJS.ReadableStream | NodeJS.WritableStream | import("node:stream/web").ReadableStream | import("node:stream/web").WritableStream>(signal: AbortSignal, stream: T): T; getDefaultHighWaterMark(objectMode: boolean): number; setDefaultHighWaterMark(objectMode: boolean, value: number): void; finished: typeof import("node:stream").finished; pipeline: typeof import("node:stream").pipeline; compose(stream: import("node:stream").ComposeSource<any> | import("node:stream").ComposeDestination<any>): import("node:stream").Duplex; compose<S extends import("node:stream").ComposeSource<any> | import("node:stream").ComposeTransform<any, any>, D extends import("node:stream").ComposeTransform<S, any> | import("node:stream").ComposeDestination<S>>(source: S, destination: D): import("node:stream").Duplex; compose<S extends import("node:stream").ComposeSource<any> | import("node:stream").ComposeTransform<any, any>, T extends import("node:stream").ComposeTransform<S, any>, D extends import("node:stream").ComposeTransform<T, any> | import("node:stream").ComposeDestination<T>>(source: S, transform: T, destination: D): import("node:stream").Duplex; compose<S extends import("node:stream").ComposeSource<any> | import("node:stream").ComposeTransform<any, any>, T1 extends import("node:stream").ComposeTransform<S, any>, T2 extends import("node:stream").ComposeTransform<T1, any>, D extends import("node:stream").ComposeTransform<T2, any> | import("node:stream").ComposeDestination<T2>>(source: S, transform1: T1, transform2: T2, destination: D): import("node:stream").Duplex; compose<S extends import("node:stream").ComposeSource<any> | import("node:stream").ComposeTransform<any, any>, T1 extends import("node:stream").ComposeTransform<S, any>, T2 extends import("node:stream").ComposeTransform<T1, any>, T3 extends import("node:stream").ComposeTransform<T2, any>, D extends import("node:stream").ComposeTransform<T3, any> | import("node:stream").ComposeDestination<T3>>(source: S, transform1: T1, transform2: T2, transform3: T3, destination: D): import("node:stream").Duplex; compose<S extends import("node:stream").ComposeSource<any> | import("node:stream").ComposeTransform<any, any>, T1 extends import("node:stream").ComposeTransform<S, any>, T2 extends import("node:stream").ComposeTransform<T1, any>, T3 extends import("node:stream").ComposeTransform<T2, any>, T4 extends import("node:stream").ComposeTransform<T3, any>, D extends import("node:stream").ComposeTransform<T4, any> | import("node:stream").ComposeDestination<T4>>(source: S, transform1: T1, transform2: T2, transform3: T3, transform4: T4, destination: D): import("node:stream").Duplex; compose(...streams: [import("node:stream").ComposeSource<any>, ...import("node:stream").ComposeTransform<any, any>[], import("node:stream").ComposeDestination<any>]): import("node:stream").Duplex; isErrored(stream: NodeJS.ReadableStream | NodeJS.WritableStream | import("node:stream/web").ReadableStream | import("node:stream/web").WritableStream): boolean; isReadable(stream: NodeJS.ReadableStream | import("node:stream/web").ReadableStream): boolean | null; isWritable(stream: NodeJS.WritableStream | import("node:stream/web").WritableStream): boolean | null; Readable: typeof import("node:stream").Readable; Writable: typeof import("node:stream").Writable; Duplex: typeof import("node:stream").Duplex; Transform: typeof TransformT; PassThrough: typeof import("node:stream").PassThrough; EventEmitter: typeof import("node:events"); addAbortListener(signal: AbortSignal, resource: (event: Event) => void): Disposable; getEventListeners(emitter: import("node:events"), name: string | symbol): ((...args: any[]) => void)[]; getEventListeners(emitter: EventTarget, name: string): ((...args: any[]) => void)[]; getMaxListeners(emitter: import("node:events") | EventTarget): number; listenerCount(emitter: import("node:events"), eventName: string | symbol): number; listenerCount(emitter: EventTarget, eventName: string): number; on(emitter: import("node:events"), eventName: string | symbol, options?: import("node:events").OnOptions): NodeJS.AsyncIterator<any[]>; on(emitter: EventTarget, eventName: string, options?: import("node:events").OnOptions): NodeJS.AsyncIterator<any[]>; once(emitter: import("node:events"), eventName: string | symbol, options?: import("node:events").OnceOptions): Promise<any[]>; once(emitter: EventTarget, eventName: string, options?: import("node:events").OnceOptions): Promise<any[]>; setMaxListeners(n: number, ...eventTargets: ReadonlyArray<import("node:events") | EventTarget>): void; readonly captureRejectionSymbol: typeof import("node:events").captureRejectionSymbol; captureRejections: boolean; defaultMaxListeners: number; readonly errorMonitor: typeof import("node:events").errorMonitor; EventEmitterAsyncResource: typeof import("node:events").EventEmitterAsyncResource; }; export {};