@lyleunderwood/filereader-polyfill
Version:
W3C File API specification compliant FileReader polyfill for Node.js environments
48 lines • 1.45 kB
TypeScript
/**
* W3C File API specification compliant type definitions
* Based on: https://www.w3.org/TR/FileAPI/
*/
export type BlobPart = BufferSource | Blob | string;
export type BufferSource = ArrayBufferView | ArrayBuffer;
export interface FilePropertyBag {
readonly type?: string;
readonly lastModified?: number;
}
export type EventHandler = ((this: any, ev: Event) => any) | null;
export interface ProgressEvent extends Event {
readonly lengthComputable: boolean;
readonly loaded: number;
readonly total: number;
}
export declare const enum FileReaderState {
EMPTY = 0,
LOADING = 1,
DONE = 2
}
export interface IFileReader extends EventTarget {
readonly EMPTY: 0;
readonly LOADING: 1;
readonly DONE: 2;
readonly readyState: FileReaderState;
readonly result: string | ArrayBuffer | null;
readonly error: DOMException | null;
onloadstart: EventHandler;
onprogress: EventHandler;
onload: EventHandler;
onabort: EventHandler;
onerror: EventHandler;
onloadend: EventHandler;
readAsArrayBuffer(blob: Blob): void;
readAsBinaryString(blob: Blob): void;
readAsText(blob: Blob, encoding?: string): void;
readAsDataURL(blob: Blob): void;
abort(): void;
}
export interface IFile extends Blob {
readonly name: string;
readonly lastModified: number;
}
export interface NodeFile extends IFile {
readonly path?: string;
}
//# sourceMappingURL=types.d.ts.map