@difizen/mana-common
Version:
59 lines • 2.19 kB
TypeScript
export declare class Path {
static separator: string;
static isDrive(segment: string): boolean;
/**
* vscode-uri always normalizes drive letters to lower case:
* https://github.com/Microsoft/vscode-uri/blob/b1d3221579f97f28a839b6f996d76fc45e9964d8/src/index.ts#L1025
*/
static normalizeDrive(path: string): string;
/**
* Normalize path separator to use Path.separator
* @param Path candidate to normalize
* @returns Normalized string path
*/
static normalizePathSeparator(path: string): string;
static normalizePath(path: string): string;
readonly isAbsolute: boolean;
get isRelative(): boolean;
readonly isRoot: boolean;
readonly isDrive: boolean;
readonly root: Path | undefined;
readonly base: string;
readonly name: string;
readonly ext: string;
private _dir;
private readonly raw;
/**
* The raw should be normalized, meaning that only '/' is allowed as a path separator.
*/
constructor(raw: string);
/**
* Returns the parent directory if it exists (`hasDir === true`) or `this` otherwise.
*/
get dir(): Path;
/**
* Returns `true` if this has a parent directory, `false` otherwise.
*
* _This implementation returns `true` if and only if this is not the root dir and
* there is a path separator in the raw path._
*/
get hasDir(): boolean;
protected doGetDir(): Path;
includes(path: Path): boolean;
toString(): string;
static toRoot(path: Path): Path | undefined;
static join(path: Path, ...paths: string[]): Path;
/**
*
* @param paths portions of a path
* @returns a new Path if an absolute path can be computed from the segments passed in + this.raw
* If no absolute path can be computed, returns undefined.
*
* Processes the path segments passed in from right to left (reverse order) concatenating until an
* absolute path is found.
*/
static resolve(path: Path, ...paths: string[]): Path | undefined;
static relative(base: Path, path: Path): Path | undefined;
static normalize(path: Path): Path;
}
//# sourceMappingURL=path.d.ts.map