@abstract-filesystem/filesystem
Version:
A abstract filesystem
39 lines • 1.54 kB
TypeScript
import { Driver, Disk, DriverConstructor } from '@abstract-filesystem/types';
import MemoryDriver from './memory-driver';
export declare class FilesystemManagement {
protected _drivers: Map<string, DriverConstructor<Driver<{
[x: string]: any;
}>>>;
protected _disks: Map<string, {
driverName: string;
instance: Disk;
}>;
protected _defaultDisk: string | null;
registerDriver(name: string, driver: DriverConstructor<Driver>): this;
driver<D extends Driver>(name: string): DriverConstructor<D>;
drivers(): string[];
hasDriver(name: string): boolean;
hasDisk(name: string): boolean;
disks(): string[];
/**
* Make disk by driver
*/
makeDisk<Drv extends Driver>(driver: DriverConstructor<Drv>, options?: Drv['options']): Promise<Drv>;
/**
* Create disk by driver class
*/
registerDisk<Drv extends Driver>(diskName: string, driver: DriverConstructor<Drv>, options?: Drv['options']): Promise<Drv>;
/**
* Create disk by driver name
*/
createDisk<Drv extends Driver>(name: string, driverName: string, options?: Drv['options']): Promise<Disk<Drv>>;
disk<Drv extends Driver, D extends Disk<Drv> = Disk<Drv>>(name: string): D;
defaultDiskName(): string | null;
defaultDisk<Drv extends Driver>(): Disk<Drv>;
setDefaultDisk(disk: string): this;
}
declare const fsm: FilesystemManagement;
export default fsm;
export { MemoryDriver };
export type { Driver, Disk, DriverConstructor };
//# sourceMappingURL=index.d.ts.map