kura
Version:
The FileSystem API abstraction library.
102 lines • 4 kB
TypeScript
import { FileError } from "./FileError";
import { FileWriter } from "./filewriter";
export interface LocalFileSystem {
readonly TEMPORARY: number;
readonly PERSISTENT: number;
requestFileSystem(type: number, size: number, successCallback: FileSystemCallback, errorCallback?: ErrorCallback): void;
resolveLocalFileSystemURL(url: string, successCallback: EntryCallback, errorCallback?: ErrorCallback): void;
}
export interface Metadata {
readonly modificationTime: Date;
readonly size: number;
}
export interface Flags {
create?: boolean;
exclusive?: boolean;
}
export interface FileSystem {
readonly name: string;
readonly root: DirectoryEntry;
}
export interface Entry {
readonly isFile: boolean;
readonly isDirectory: boolean;
getMetadata(successCallback: MetadataCallback, errorCallback?: ErrorCallback): void;
readonly name: string;
readonly fullPath: string;
readonly filesystem: FileSystem;
moveTo(parent: DirectoryEntry, newName?: string, successCallback?: EntryCallback, errorCallback?: ErrorCallback): void;
copyTo(parent: DirectoryEntry, newName?: string, successCallback?: EntryCallback, errorCallback?: ErrorCallback): void;
toURL(urlCallback: URLCallback, errorCallback?: ErrorCallback, method?: "GET" | "POST" | "PUT" | "DELETE"): void;
remove(successCallback: VoidCallback, errorCallback?: ErrorCallback): void;
getParent(successCallback: DirectoryEntryCallback, errorCallback?: ErrorCallback): void;
}
export interface DirectoryEntry extends Entry {
createReader(): DirectoryReader;
getFile(path: string, options?: Flags, successCallback?: FileEntryCallback, errorCallback?: ErrorCallback): void;
getDirectory(path: string, options?: Flags, successCallback?: DirectoryEntryCallback, errorCallback?: ErrorCallback): void;
list(successCallback: EntriesCallback, errorCallback?: ErrorCallback): void;
removeRecursively(successCallback: VoidCallback, errorCallback?: ErrorCallback): void;
}
export interface DirectoryReader {
readEntries(successCallback: EntriesCallback, errorCallback?: ErrorCallback): void;
}
export declare type DataType = "blob" | "buffer" | "arraybuffer" | "base64";
export interface FileEntry extends Entry {
readonly size: number;
createWriter(successCallback: FileWriterCallback, errorCallback?: ErrorCallback): void;
file(successCallback: FileCallback, errorCallback?: ErrorCallback): void;
readFile(successCallback: ContentCallback, errorCallback?: ErrorCallback, type?: DataType): void;
writeFile(content: Blob | BufferSource | string, successCallback?: VoidCallback, errorCallback?: ErrorCallback): void;
readText(successCallback: TextCallback, errorCallback?: ErrorCallback): void;
writeText(test: string, successCallback?: VoidCallback, errorCallback?: ErrorCallback): void;
}
export interface FileSystemCallback {
(filesystem: FileSystem): void;
}
export interface EntryCallback {
(entry: Entry): void;
}
export interface FileEntryCallback {
(entry: FileEntry): void;
}
export interface DirectoryEntryCallback {
(entry: DirectoryEntry): void;
}
export interface EntriesCallback {
(entries: Entry[]): void;
}
export interface MetadataCallback {
(metadata: Metadata): void;
}
export interface URLCallback {
(url: string): void;
}
export interface FileWriterCallback {
(fileWriter: FileWriter): void;
}
export interface FileCallback {
(file: File): void;
}
export interface ContentCallback {
(content: Blob | BufferSource | string): void;
}
export interface TextCallback {
(text: string): void;
}
export interface VoidCallback {
(): void;
}
export interface ErrorCallback {
(err: FileError): void;
}
declare global {
interface Window extends LocalFileSystem {
mozIndexedDB: any;
msIndexedDB: any;
webkitRequestFileSystem: any;
}
interface WorkerGlobalScope extends LocalFileSystem {
}
}
//# sourceMappingURL=filesystem.d.ts.map