diff --git a/types/node/index.d.ts b/types/node/index.d.ts index 9980eee71d..6f0c42528b 100644 --- a/types/node/index.d.ts +++ b/types/node/index.d.ts @@ -1439,13 +1439,27 @@ declare module "zlib" { dictionary?: any; // deflate/inflate only, empty dictionary by default } - export interface Gzip extends stream.Transform { } - export interface Gunzip extends stream.Transform { } - export interface Deflate extends stream.Transform { } - export interface Inflate extends stream.Transform { } - export interface DeflateRaw extends stream.Transform { } - export interface InflateRaw extends stream.Transform { } - export interface Unzip extends stream.Transform { } + export interface Zlib { + readonly bytesRead: number; + close(callback?: Function): void; + flush(callback?: Function): void; + } + + export interface ZlibParams { + params(level: number, strategy: number, callback?: Function): void; + } + + export interface ZlibReset { + reset(): void; + } + + export interface Gzip extends stream.Transform, Zlib { } + export interface Gunzip extends stream.Transform, Zlib { } + export interface Deflate extends stream.Transform, Zlib, ZlibReset, ZlibParams { } + export interface Inflate extends stream.Transform, Zlib, ZlibReset { } + export interface DeflateRaw extends stream.Transform, Zlib, ZlibReset, ZlibParams { } + export interface InflateRaw extends stream.Transform, Zlib, ZlibReset { } + export interface Unzip extends stream.Transform, Zlib { } export function createGzip(options?: ZlibOptions): Gzip; export function createGunzip(options?: ZlibOptions): Gunzip; diff --git a/types/node/node-tests.ts b/types/node/node-tests.ts index 8742a476c5..40703d813a 100644 --- a/types/node/node-tests.ts +++ b/types/node/node-tests.ts @@ -798,13 +798,16 @@ function stream_readable_pipe_test() { var z = zlib.createGzip({ finishFlush: zlib.constants.Z_FINISH }); var w = fs.createWriteStream('file.txt.gz'); + assert(typeof z.bytesRead === 'number'); assert(typeof r.bytesRead === 'number'); assert(typeof r.path === 'string'); assert(rs.path instanceof Buffer); r.pipe(z).pipe(w); + z.flush(); r.close(); + z.close(); rs.close(); }