83 lines
3.0 KiB
TypeScript
83 lines
3.0 KiB
TypeScript
export class Path {
|
|
/**
|
|
* Creates a new path based on the argument type. If the argument is a string,
|
|
* it is assumed to be a file or directory path and is converted to a Path
|
|
* instance. If the argument is a URL, it is assumed to be a file URL and is
|
|
* converted to a Path instance. If the argument is a Path instance, it is
|
|
* copied into a new Path instance. If the argument is an array, it is assumed
|
|
* to be the steps of a path and is used to create a new Path instance.
|
|
* @param {string|URL|Path|Array<string>} pathish The value to convert to a Path instance.
|
|
* @returns {Path} A new Path instance.
|
|
* @throws {TypeError} When pathish is not a string, URL, Path, or Array.
|
|
* @throws {TypeError} When pathish is a string and is empty.
|
|
*/
|
|
static from(pathish: string | URL | Path | Array<string>): Path;
|
|
/**
|
|
* Creates a new Path instance from a string.
|
|
* @param {string} fileOrDirPath The file or directory path to convert.
|
|
* @returns {Path} A new Path instance.
|
|
* @deprecated Use Path.from() instead.
|
|
*/
|
|
static fromString(fileOrDirPath: string): Path;
|
|
/**
|
|
* Creates a new Path instance from a URL.
|
|
* @param {URL} url The URL to convert.
|
|
* @returns {Path} A new Path instance.
|
|
* @throws {TypeError} When url is not a URL instance.
|
|
* @throws {TypeError} When url.pathname is empty.
|
|
* @throws {TypeError} When url.protocol is not "file:".
|
|
* @deprecated Use Path.from() instead.
|
|
*/
|
|
static fromURL(url: URL): Path;
|
|
/**
|
|
* Creates a new instance.
|
|
* @param {Iterable<string>} [steps] The steps to use for the path.
|
|
* @throws {TypeError} When steps is not iterable.
|
|
*/
|
|
constructor(steps?: Iterable<string>);
|
|
/**
|
|
* Adds steps to the end of the path.
|
|
* @param {...string} steps The steps to add to the path.
|
|
* @returns {void}
|
|
*/
|
|
push(...steps: string[]): void;
|
|
/**
|
|
* Removes the last step from the path.
|
|
* @returns {string} The last step in the path.
|
|
*/
|
|
pop(): string;
|
|
/**
|
|
* Returns an iterator for steps in the path.
|
|
* @returns {IterableIterator<string>} An iterator for the steps in the path.
|
|
*/
|
|
steps(): IterableIterator<string>;
|
|
/**
|
|
* Sets the name (the last step) of the path.
|
|
* @type {string}
|
|
*/
|
|
set name(value: string);
|
|
/**
|
|
* Retrieves the name (the last step) of the path.
|
|
* @type {string}
|
|
*/
|
|
get name(): string;
|
|
/**
|
|
* Retrieves the size of the path.
|
|
* @type {number}
|
|
*/
|
|
get size(): number;
|
|
/**
|
|
* Returns the path as a string.
|
|
* @returns {string} The path as a string.
|
|
*/
|
|
toString(): string;
|
|
/**
|
|
* Returns an iterator for the steps in the path.
|
|
* @returns {IterableIterator<string>} An iterator for the steps in the path.
|
|
*/
|
|
[Symbol.iterator](): IterableIterator<string>;
|
|
#private;
|
|
}
|
|
export type HfsImpl = import("@humanfs/types").HfsImpl;
|
|
export type HfsDirectoryEntry = import("@humanfs/types").HfsDirectoryEntry;
|