mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-04-05 16:45:20 +00:00
19 lines
647 B
TypeScript
19 lines
647 B
TypeScript
import type { FilePath } from "@lib/common/types";
|
|
import type { IPathAdapter } from "@lib/serviceModules/adapters";
|
|
import type { FSAPIFile } from "./FSAPITypes";
|
|
|
|
/**
|
|
* Path adapter implementation for FileSystem API
|
|
*/
|
|
export class FSAPIPathAdapter implements IPathAdapter<FSAPIFile> {
|
|
getPath(file: string | FSAPIFile): FilePath {
|
|
return (typeof file === "string" ? file : file.path) as FilePath;
|
|
}
|
|
|
|
normalisePath(p: string): string {
|
|
// Normalize path separators to forward slashes (like Obsidian)
|
|
// Remove leading/trailing slashes
|
|
return p.replace(/\\/g, "/").replace(/^\/+|\/+$/g, "");
|
|
}
|
|
}
|