hackpro-sdk
Version:
54 lines (53 loc) • 2.57 kB
TypeScript
/// <reference types="node" />
import { Chunk } from 'blockmap';
import { EventEmitter } from 'events';
import { Writable } from 'stream';
export declare type Constructor<T> = new (...args: any[]) => T;
export interface ProgressEvent {
position: number;
bytes: number;
speed: number;
}
export declare function makeClassEmitProgressEvents<T extends Constructor<EventEmitter>>(Cls: T, attribute: string, positionAttribute: string, interval: number): {
new (...args: any[]): {
_attributeValue: number;
_attributeDelta: number;
addListener(event: string | symbol, listener: Function): any;
on(event: string | symbol, listener: Function): any;
once(event: string | symbol, listener: Function): any;
prependListener(event: string | symbol, listener: Function): any;
prependOnceListener(event: string | symbol, listener: Function): any;
removeListener(event: string | symbol, listener: Function): any;
removeAllListeners(event?: string | symbol | undefined): any;
setMaxListeners(n: number): any;
getMaxListeners(): number;
listeners(event: string | symbol): Function[];
emit(event: string | symbol, ...args: any[]): boolean;
eventNames(): (string | symbol)[];
listenerCount(type: string | symbol): number;
};
} & T;
export declare class CountingWritable extends Writable {
bytesWritten: number;
position: number | undefined;
_write(chunk: Buffer | Chunk, _enc: string, callback: (err?: Error | undefined) => void): void;
}
export declare const ProgressWritable: {
new (...args: any[]): {
_attributeValue: number;
_attributeDelta: number;
addListener(event: string | symbol, listener: Function): any;
on(event: string | symbol, listener: Function): any;
once(event: string | symbol, listener: Function): any;
prependListener(event: string | symbol, listener: Function): any;
prependOnceListener(event: string | symbol, listener: Function): any;
removeListener(event: string | symbol, listener: Function): any;
removeAllListeners(event?: string | symbol | undefined): any;
setMaxListeners(n: number): any;
getMaxListeners(): number;
listeners(event: string | symbol): Function[];
emit(event: string | symbol, ...args: any[]): boolean;
eventNames(): (string | symbol)[];
listenerCount(type: string | symbol): number;
};
} & typeof CountingWritable;