hackpro-sdk
Version:
112 lines (111 loc) • 5.46 kB
TypeScript
/// <reference types="node" />
import { EventEmitter } from "events";
import { ReadResult, WriteResult } from "file-disk";
import { GetPartitionsResult } from "partitioninfo";
import { Stream as HashStream } from "xxhash";
import { BlocksWithChecksum, SparseReadable } from "../sparse-stream/shared";
import { SparseWritable } from "../sparse-stream/sparse-write-stream";
import { Metadata } from "./metadata";
import { ProgressEvent } from "./progress";
import { SourceSource } from "./source-source";
export declare class CountingHashStream extends HashStream {
bytesWritten: number;
_transform(chunk: Buffer, encoding: string, callback: () => void): void;
}
export declare const ProgressHashStream: {
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 CountingHashStream;
export declare function createHasher(): {
_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;
} & CountingHashStream;
export declare class SourceDestinationFs {
private source;
constructor(source: SourceDestination);
open(_path: string, _options: any, callback: (error: Error | null, fd?: number) => void): void;
close(_fd: number, callback: (error: Error | null) => void): void;
fstat(_fd: number, callback: (error: Error | null, stats?: {
size: number;
}) => void): void;
read(_fd: number, buffer: Buffer, bufferOffset: number, length: number, sourceOffset: number, callback: (error: Error | null, bytesRead?: number, buffer?: Buffer) => void): void;
}
export declare abstract class Verifier extends EventEmitter {
progress: ProgressEvent;
abstract run(): Promise<void>;
protected handleEventsAndPipe(stream: NodeJS.ReadableStream, meter: NodeJS.WritableStream): void;
}
export declare class StreamVerifier extends Verifier {
private source;
private checksum;
private size;
constructor(source: SourceDestination, checksum: string, size: number);
run(): Promise<void>;
}
export declare class SparseStreamVerifier extends Verifier {
private source;
private blocks;
constructor(source: SourceDestination, blocks: BlocksWithChecksum[]);
run(): Promise<void>;
}
export declare class SourceDestination extends EventEmitter {
static readonly imageExtensions: string[];
static readonly mimetype?: string;
private static mimetypes;
private metadata;
private isOpen;
static register(Cls: typeof SourceSource): void;
canRead(): Promise<boolean>;
canWrite(): Promise<boolean>;
canCreateReadStream(): Promise<boolean>;
canCreateSparseReadStream(): Promise<boolean>;
canCreateWriteStream(): Promise<boolean>;
canCreateSparseWriteStream(): Promise<boolean>;
getMetadata(): Promise<Metadata>;
protected _getMetadata(): Promise<Metadata>;
read(_buffer: Buffer, _bufferOffset: number, _length: number, _sourceOffset: number): Promise<ReadResult>;
write(_buffer: Buffer, _bufferOffset: number, _length: number, _fileOffset: number): Promise<WriteResult>;
createReadStream(_emitProgress?: boolean, _start?: number, _end?: number): Promise<NodeJS.ReadableStream>;
createSparseReadStream(_generateChecksums?: boolean): Promise<SparseReadable>;
getBlocks(): Promise<BlocksWithChecksum[]>;
createWriteStream(): Promise<NodeJS.WritableStream>;
createSparseWriteStream(): Promise<SparseWritable>;
open(): Promise<void>;
close(): Promise<void>;
protected _open(): Promise<void>;
protected _close(): Promise<void>;
createVerifier(checksumOrBlocks: string | BlocksWithChecksum[], size?: number): Verifier;
private getMimeTypeFromName;
private getMimeTypeFromContent;
private getInnerSourceHelper;
getInnerSource(): Promise<SourceDestination>;
getPartitionTable(): Promise<GetPartitionsResult | undefined>;
}