@timothy-spaceman/multitrack-vcs
Version:
Version Control System for musicians
94 lines (93 loc) • 3.34 kB
TypeScript
import { IFile, IStorageProvider } from "../types.js";
export declare class VirtualFile implements IFile {
path: string;
name: string;
extension: string;
fullPath: string;
data: Buffer;
constructor(fullPath: string, data: Buffer);
readData(): Promise<Buffer>;
writeData(data: Buffer): Promise<void>;
getDataHash(algo?: string): Promise<string>;
}
export type VirtualDirectoryMockCallbackArgs = [
"has",
boolean,
string
] | [
"get",
VirtualMockedEntry | undefined,
string
] | [
"set",
VirtualMockedEntry,
string,
VirtualMockedEntry
] | [
"delete",
boolean,
string
] | [
"clear",
void
] | [
"keys",
IterableIterator<string>
] | [
"values",
IterableIterator<VirtualMockedEntry>
] | [
"entries",
IterableIterator<[string, VirtualMockedEntry]>
] | [
"forEach",
void,
(value: VirtualMockedEntry, path: string, map: VirtualMockedDirectory) => void,
any
];
export declare class VirtualDirectoryMock {
callback: (...args: VirtualDirectoryMockCallbackArgs) => any;
content: VirtualDirectory;
constructor(callback: (...args: VirtualDirectoryMockCallbackArgs) => any);
initializeProxies(): void;
get size(): number;
has: (path: string) => boolean;
get: (path: string) => VirtualMockedEntry | undefined;
set: (path: string, value: VirtualMockedEntry) => this;
delete: (path: string) => boolean;
clear: () => void;
keys: () => IterableIterator<string>;
values: () => IterableIterator<VirtualMockedEntry>;
entries: () => IterableIterator<[string, VirtualMockedEntry]>;
forEach: (callback: (value: VirtualMockedEntry, path: string, map: VirtualDirectoryMock) => void, thisArg?: any) => void;
}
export declare class VirtualDirectoryOverrideMock extends VirtualDirectoryMock {
initializeProxies(): void;
}
export type VirtualEntry = VirtualFile | VirtualDirectory;
export type VirtualMockedEntry = VirtualEntry | VirtualDirectoryMock;
export type VirtualMockedDirectory = VirtualDirectory | VirtualDirectoryMock;
export type VirtualDirectory = Map<string, VirtualMockedEntry>;
export declare class VirtualStorageProvider implements IStorageProvider {
static separator: string;
files: VirtualMockedDirectory;
constructor();
normalizePath(targetPath: string): string;
relativePath(targetPath: string, basePath?: string): string;
splitPath(path: string): [string, string];
mkDir(path: string): VirtualMockedDirectory;
rm(path: string): void;
getEntry(path: string): VirtualMockedEntry | undefined;
exists(path: string): Promise<boolean>;
isFile(path: string): Promise<boolean>;
readFile(filePath: string): Promise<VirtualFile>;
createFile(filePath: string, content: Buffer): Promise<VirtualFile>;
moveFile(sourcePath: string, targetPath: string): Promise<VirtualFile>;
copyFile(sourcePath: string, targetPath: string): Promise<VirtualFile>;
isDir(path: string): Promise<boolean>;
readDir(dirPath: string, ignore?: string[]): Promise<string[]>;
readDirDeep(dirPath: string, ignore?: string[]): Promise<string[]>;
createDir(dirPath: string): Promise<string>;
mockDir(dirPath: string, mock: VirtualMockedDirectory): Promise<string>;
deleteFileOrDir(path: string): Promise<void>;
}