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 {
|
||
|
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;
|
||
|
|
||
|
/**
|
||
|
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;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
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;
|