UNPKG

kura

Version:

The FileSystem API abstraction library.

102 lines 4 kB
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