@fairdatasociety/fairdrive-opfs
Version:
Fairdrive OPFS - integrate data sources from Web 2.0 or Web 3.0
52 lines (49 loc) • 1.6 kB
text/typescript
import { Mount, Entries } from './provider'
/**
* ProviderDriver is the interface that all providers must implement that adheres for W3C FileSystem API.
*/
export interface ProviderDriver {
/**
* Returns true if the file or directory exists
* @param name - The name of the file or directory
* @param mount - mount point
* @returns A boolean value indicating whether the file or directory exists
*/
exists: (name: string, mount: Mount) => Promise<boolean>
/**
* Creates a directory
* @param name - name of the directory
* @param mount - mount point
* @returns Returns true if the directory was created, else false
*/
createDir: (name: string, mount: Mount) => Promise<boolean>
/**
* Delete a file or directory
* @param name - name of the file or directory
* @param mount - mount point
* @returns Returns true if the file or directory was deleted, else false
*/
delete: (name: string, mount: Mount) => Promise<boolean>
/**
* Read entries from a mount point
* @param mount - mount point
* @returns Entries
*/
read: (mount: Mount) => Promise<Entries>
/**
* Download entries from a mount point
* @param name - name of the file
* @param mount - mount point
* @param options - options
* @returns Result
*/
download: (name: string, mount: Mount, options: any) => Promise<any>
/**
* Upload entries from a file
* @param file - file to upload
* @param mount - mount point
* @param options - options
* @returns Result
*/
upload: (file: File, mount: Mount, options: any) => Promise<any>
}