mono/packages/core/dist/extpath.d.ts
2025-01-28 13:42:22 +01:00

58 lines
3.1 KiB
TypeScript

import { CharCode } from './charCode.js';
export declare function isPathSeparator(code: number): code is CharCode.Slash | CharCode.Backslash;
/**
* Takes a Windows OS path and changes backward slashes to forward slashes.
* This should only be done for OS paths from Windows (or user provided paths potentially from Windows).
* Using it on a Linux or MaxOS path might change it.
*/
export declare function toSlashes(osPath: string): string;
/**
* Takes a Windows OS path (using backward or forward slashes) and turns it into a posix path:
* - turns backward slashes into forward slashes
* - makes it absolute if it starts with a drive letter
* This should only be done for OS paths from Windows (or user provided paths potentially from Windows).
* Using it on a Linux or MaxOS path might change it.
*/
export declare function toPosixPath(osPath: string): string;
/**
* Computes the _root_ this path, like `getRoot('c:\files') === c:\`,
* `getRoot('files:///files/path') === files:///`,
* or `getRoot('\\server\shares\path') === \\server\shares\`
*/
export declare function getRoot(path: string, sep?: string): string;
/**
* Check if the path follows this pattern: `\\hostname\sharename`.
*
* @see https://msdn.microsoft.com/en-us/library/gg465305.aspx
* @return A boolean indication if the path is a UNC path, on none-windows
* always false.
*/
export declare function isUNC(path: string): boolean;
export declare function isValidBasename(name: string | null | undefined, isWindowsOS?: boolean): boolean;
/**
* @deprecated please use `IUriIdentityService.extUri.isEqual` instead. If you are
* in a context without services, consider to pass down the `extUri` from the outside
* or use `extUriBiasedIgnorePathCase` if you know what you are doing.
*/
export declare function isEqual(pathA: string, pathB: string, ignoreCase?: boolean): boolean;
/**
* @deprecated please use `IUriIdentityService.extUri.isEqualOrParent` instead. If
* you are in a context without services, consider to pass down the `extUri` from the
* outside, or use `extUriBiasedIgnorePathCase` if you know what you are doing.
*/
export declare function isEqualOrParent(base: string, parentCandidate: string, ignoreCase?: boolean, separator?: "/" | "\\"): boolean;
export declare function isWindowsDriveLetter(char0: number): boolean;
export declare function sanitizeFilePath(candidate: string, cwd: string): string;
export declare function removeTrailingPathSeparator(candidate: string): string;
export declare function isRootOrDriveLetter(path: string): boolean;
export declare function hasDriveLetter(path: string, isWindowsOS?: boolean): boolean;
export declare function getDriveLetter(path: string, isWindowsOS?: boolean): string | undefined;
export declare function indexOfPath(path: string, candidate: string, ignoreCase?: boolean): number;
export interface IPathWithLineAndColumn {
path: string;
line?: number;
column?: number;
}
export declare function parseLineAndColumnAware(rawPath: string): IPathWithLineAndColumn;
export declare function randomPath(parent?: string, prefix?: string, randomLength?: number): string;