UNPKG

@mainnet-pat/indexeddb-fs

Version:

An 'fs' kind of library dedicated to the browser

38 lines (37 loc) 2.06 kB
import { IDirectoryEntry, IFileEntry } from "../types"; import { IReadDirectoryInstanceOutput } from './parts'; export type AnyFunction = (...args: any[]) => any; export interface ICreateFsProps { databaseName?: string; databaseVersion?: number; objectStoreName?: string; rootDirectoryName?: string; } export interface ICreateFsOutput { copyFile: <TData = unknown>(sourcePath: string, destinationPath: string) => Promise<IFileEntry<TData>>; createDirectory: (fullPath: string) => Promise<IDirectoryEntry>; mkdir: (fullPath: string) => Promise<void>; databaseName: string; databaseVersion: number; details: (fullPath: string) => Promise<IFileEntry<unknown> | IDirectoryEntry>; directoryDetails: (fullPath: string) => Promise<IDirectoryEntry>; exists: (fullPath: string) => Promise<boolean>; fileDetails: <TData = unknown>(fullPath: string) => Promise<IFileEntry<TData>>; isDirectory: (fullPath: string) => Promise<boolean>; isFile: (fullPath: string) => Promise<boolean>; moveFile: <TData = unknown>(sourcePath: string, destinationPath: string) => Promise<IFileEntry<TData>>; objectStoreName: string; readDirectory: (fullPath: string) => Promise<IReadDirectoryInstanceOutput>; readdir: (fullPath: string) => Promise<string[]>; readFile: <TData = unknown>(fullPath: string, ignored?: string) => Promise<TData>; remove: (fullPath: string) => Promise<void>; removeDirectory: (fullPath: string) => Promise<void>; rmdir: (fullPath: string) => Promise<void>; removeFile: (fullPath: string) => Promise<void>; unlink: (fullPath: string) => Promise<void>; rename: <TData = unknown>(fullPath: string, newFilename: string) => Promise<IFileEntry<TData>>; renameFile: <TData = unknown>(fullPath: string, newFilename: string) => Promise<IFileEntry<TData>>; rootDirectoryName: string; writeFile: <TData = unknown>(fullPath: string, data: TData) => Promise<IFileEntry<TData>>; access: (fullPath: string) => Promise<void>; }