97 lines
2.8 KiB
TypeScript
97 lines
2.8 KiB
TypeScript
/// <reference types="node"/>
|
|
import * as stream from 'stream';
|
|
import {ZlibOptions} from 'zlib';
|
|
|
|
declare namespace gzipSize {
|
|
type Options = ZlibOptions;
|
|
|
|
interface GzipSizeStream extends stream.PassThrough {
|
|
/**
|
|
Contains the gzip size of the stream after it is finished. Since this happens asynchronously, it is recommended you use the `gzip-size` event instead.
|
|
*/
|
|
gzipSize?: number;
|
|
|
|
addListener(event: 'gzip-size', listener: (size: number) => void): this;
|
|
addListener(
|
|
event: string | symbol,
|
|
listener: (...args: any[]) => void
|
|
): this;
|
|
on(event: 'gzip-size', listener: (size: number) => void): this;
|
|
on(event: string | symbol, listener: (...args: any[]) => void): this;
|
|
once(event: 'gzip-size', listener: (size: number) => void): this;
|
|
once(event: string | symbol, listener: (...args: any[]) => void): this;
|
|
removeListener(event: 'gzip-size', listener: (size: number) => void): this;
|
|
removeListener(
|
|
event: string | symbol,
|
|
listener: (...args: any[]) => void
|
|
): this;
|
|
off(event: 'gzip-size', listener: (size: number) => void): this;
|
|
off(event: string | symbol, listener: (...args: any[]) => void): this;
|
|
emit(event: 'gzip-size', size: number): boolean;
|
|
emit(event: string | symbol, ...args: any[]): boolean;
|
|
prependListener(event: 'gzip-size', listener: (size: number) => void): this;
|
|
prependListener(
|
|
event: string | symbol,
|
|
listener: (...args: any[]) => void
|
|
): this;
|
|
prependOnceListener(
|
|
event: 'gzip-size',
|
|
listener: (size: number) => void
|
|
): this;
|
|
prependOnceListener(
|
|
event: string | symbol,
|
|
listener: (...args: any[]) => void
|
|
): this;
|
|
}
|
|
}
|
|
|
|
declare const gzipSize: {
|
|
/**
|
|
Get the gzipped size of a string or buffer.
|
|
|
|
@returns The gzipped size of `input`.
|
|
*/
|
|
(input: string | Buffer, options?: gzipSize.Options): Promise<number>;
|
|
|
|
/**
|
|
Synchronously get the gzipped size of a string or buffer.
|
|
|
|
@returns The gzipped size of `input`.
|
|
|
|
@example
|
|
```
|
|
import gzipSize = require('gzip-size');
|
|
|
|
const text = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.';
|
|
|
|
console.log(text.length);
|
|
//=> 191
|
|
|
|
console.log(gzipSize.sync(text));
|
|
//=> 78
|
|
```
|
|
*/
|
|
sync(input: string | Buffer, options?: gzipSize.Options): number;
|
|
|
|
/**
|
|
@returns A stream that emits a `gzip-size` event and has a `gzipSize` property.
|
|
*/
|
|
stream(options?: gzipSize.Options): gzipSize.GzipSizeStream;
|
|
|
|
/**
|
|
Get the gzipped size of a file.
|
|
|
|
@returns The size of the file.
|
|
*/
|
|
file(path: string, options?: gzipSize.Options): Promise<number>;
|
|
|
|
/**
|
|
Synchronously get the gzipped size of a file.
|
|
|
|
@returns The size of the file.
|
|
*/
|
|
fileSync(path: string, options?: gzipSize.Options): number;
|
|
};
|
|
|
|
export = gzipSize;
|