Path
Represents a filesystem path.
class Path
Constructor
constructor(_ path: String)
_ path: StringThe string representation of the path.
Properties
parent
parent: Path { get }
The parent path component. Returns an empty path if the path has no parent (e.g. a single filename with no directory separator, or an empty path).
root_name
root_name: Path { get }
The root name component. On Windows, this is the drive identifier (e.g. C:). On POSIX systems it is always empty. Returns an empty path if the path has no root name.
root_directory
root_directory: Path { get }
The root directory separator (e.g. / on POSIX systems). Returns an empty path if the path has no root directory.
root
root: Path { get }
The root path (root name combined with root directory). Returns an empty path if the path has no root.
filename
filename: Path { get }
The filename component, i.e. the last path component. Returns an empty path if the path contains no filename.
stem
stem: Path { get }
The filename without its extension. Returns an empty path if the path has no stem.
extension
extension: Path { get }
The file extension, including the leading dot (e.g. .wav). Returns an empty path if the path has no extension.
has_parent
has_parent: Bool { get }
Whether the path has a parent path.
has_root_name
has_root_name: Bool { get }
Whether the path has a root name.
has_root
has_root: Bool { get }
Whether the path has a root directory separator.
has_filename
has_filename: Bool { get }
Whether the path has a filename component.
has_stem
has_stem: Bool { get }
Whether the path has a stem.
has_extension
has_extension: Bool { get }
Whether the path has an extension.
is_absolute
is_absolute: Bool { get }
Whether the path is absolute.
is_relative
is_relative: Bool { get }
Whether the path is relative.
is_empty
is_empty: Bool { get }
Whether the path is empty.
Methods
appending
Returns a new path with additional components appended. Available as several overloads:
Single Component
appending(_ path: String) -> (Path)
Returns a new path with the given path string appended as a new path component.
Another Path
appending(_ other: Path) -> (Path)
Returns a new path with other's components appended.
Multiple Segments
appending(_ segments: [Path]) -> (Path)
Returns a new path with all segments from the given array appended in order as new path components.
removing_filename
removing_filename() -> (Path)
Returns a new path with the filename component removed.
replacing_filename
replacing_filename(_ filename: Path) -> (Path)
Returns a new path with the filename component replaced by filename.
replacing_extension
replacing_extension(_ extension: Path) -> (Path)
Returns a new path with the extension replaced by extension.
relative
relative(to base: Path) -> (Path)
Returns this path expressed relative to base.
equal
equal(to other: Path) -> (Bool)
Returns whether the path compares equal to other, ignoring differences between path separator characters.
to_string
to_string() -> (String)
Returns the UTF-8 string representation of the path.
to_uri
to_uri() -> (URI?)
Returns the path as an optional file URI, of format file://<path>. In case of an empty path, the returned value is nil.