mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-04-02 23:25:18 +00:00
### New Features - Automatic display-language changing according to the Obsidian language setting. - Now we can limit files to be synchronised even in the hidden files. - "Use Request API to avoid `inevitable` CORS problem" has been implemented. - `Show status icon instead of file warnings banner` has been implemented. ### Improved - All regular expressions can be inverted by prefixing `!!` now. ### Fixed - No longer unexpected files will be gathered during hidden file sync. - No longer broken `\n` and new-line characters during the bucket synchronisation. - We can purge the remote bucket again if we using MinIO instead of AWS S3 or Cloudflare R2. - Purging the remote bucket is now more reliable. - Some wrong messages have been fixed. ### Behaviour changed - Entering into the deeper directories to gather the hidden files is now limited by `/` or `\/` prefixed ignore filters. ### Etcetera - Some code has been tidied up. - Trying less warning-suppressing and be more safer-coding. - Dependent libraries have been updated to the latest version. - Some build processes have been separated to `pre` and `post` processes.
57 lines
2.2 KiB
TypeScript
57 lines
2.2 KiB
TypeScript
import type {
|
|
FilePath,
|
|
FilePathWithPrefix,
|
|
UXDataWriteOptions,
|
|
UXFileInfo,
|
|
UXFileInfoStub,
|
|
UXFolderInfo,
|
|
UXStat,
|
|
} from "../../lib/src/common/types";
|
|
import type { CustomRegExp } from "../../lib/src/common/utils";
|
|
|
|
export interface StorageAccess {
|
|
deleteVaultItem(file: FilePathWithPrefix | UXFileInfoStub | UXFolderInfo): Promise<void>;
|
|
|
|
writeFileAuto(path: string, data: string | ArrayBuffer, opt?: UXDataWriteOptions): Promise<boolean>;
|
|
|
|
readFileAuto(path: string): Promise<string | ArrayBuffer>;
|
|
readFileText(path: string): Promise<string>;
|
|
isExists(path: string): Promise<boolean>;
|
|
writeHiddenFileAuto(path: string, data: string | ArrayBuffer, opt?: UXDataWriteOptions): Promise<boolean>;
|
|
appendHiddenFile(path: string, data: string, opt?: UXDataWriteOptions): Promise<boolean>;
|
|
|
|
stat(path: string): Promise<UXStat | null>;
|
|
statHidden(path: string): Promise<UXStat | null>;
|
|
removeHidden(path: string): Promise<boolean>;
|
|
readHiddenFileAuto(path: string): Promise<string | ArrayBuffer>;
|
|
readHiddenFileBinary(path: string): Promise<ArrayBuffer>;
|
|
readHiddenFileText(path: string): Promise<string>;
|
|
isExistsIncludeHidden(path: string): Promise<boolean>;
|
|
// This could be work also for the hidden files.
|
|
ensureDir(path: string): Promise<boolean>;
|
|
triggerFileEvent(event: string, path: string): void;
|
|
triggerHiddenFile(path: string): Promise<void>;
|
|
|
|
getFileStub(path: string): UXFileInfoStub | null;
|
|
readStubContent(stub: UXFileInfoStub): Promise<UXFileInfo | false>;
|
|
getStub(path: string): UXFileInfoStub | UXFolderInfo | null;
|
|
|
|
getFiles(): UXFileInfoStub[];
|
|
getFileNames(): FilePathWithPrefix[];
|
|
|
|
touched(file: UXFileInfoStub | FilePathWithPrefix): Promise<void>;
|
|
recentlyTouched(file: UXFileInfoStub | FilePathWithPrefix): boolean;
|
|
clearTouched(): void;
|
|
|
|
// -- Low-Level
|
|
delete(file: FilePathWithPrefix | UXFileInfoStub | string, force: boolean): Promise<void>;
|
|
trash(file: FilePathWithPrefix | UXFileInfoStub | string, system: boolean): Promise<void>;
|
|
|
|
getFilesIncludeHidden(
|
|
basePath: string,
|
|
includeFilter?: CustomRegExp[],
|
|
excludeFilter?: CustomRegExp[],
|
|
skipFolder?: string[]
|
|
): Promise<FilePath[]>;
|
|
}
|