@mutagen-d/path
TypeScript icon, indicating that this package has built-in type declarations

0.2.0 • Public • Published

Path

Build Status

Module for manipulating file and directory path

Installation

npm i @mutagen-d/path
# or
yarn add @mutagen-d/path

API

Method Return type Description
resolve() string
getNames() string[] names of dirs and file
validate() void throws exception if not valid path value
isAbsolutePath() boolean
join() string concatenate paths
isSubPath() boolean
getRelativePath() string
getFileName() string get filename from path
validateFileName() throws exception if not valid filename
getExtension() string get extension from filename
getBaseName() string get basename from filename
getSourceDirectory() string returns source directory path for given path

Usage

resolve

// absolute paths
Path.resolve("/path/../to/some/directory/") === "/to/some/directory"
Path.resolve("/././path/to") === "/path/to"
Path.resolve("/././path/to/../") === "/path"
Path.resolve("/path/../") === "/"
Path.resolve("/path/..") === "/"
Path.resolve("/") === "/"

// relative paths
Path.resolve("path/../") === "./"
Path.resolve("path/..") === "./"
Path.resolve("./path/..") === "./"
Path.resolve("path") === "./path"
Path.resolve("././path/to/file/..") === "./path/to"
Path.resolve("./") === "./"

getNames

Path.getNames("/path/to/file") == ["", "path", "to", "file"]
Path.getNames("/path/to/dir/") == ["", "path", "to", "dir"]
Path.getNames("/path/to/../file/./") == ["", "path", "file"]
Path.getNames("./path/to/file") == ["path", "to", "file"]
Path.getNames("path/to/file") == ["path", "to", "file"]
Path.getNames("/") == [""]
Path.getNames("./") == []

join

Path.join([]) === "./"
Path.join([""]) ===  "/"
Path.join(["", "root", "main"]) === "/root/main"
Path.join(["root", "main"]) === "./root/main"
Path.join(Path.getNames("./root/folder/") === "./root/folder"
Path.join(Path.getNames("./")) === "./"
Path.join(Path.getNames("/")) === "/"

Path.join(["/root/dir"]) === "/root/dir"
Path.join(["./relative/path"]) === "./relative/path"
Path.join(["./relative/path", "/absolute/folder"]) === "./relative/path/absolute/folder"
Path.join(["./relative/path", "./relative/folder"]) === "./relative/path/relative/folder"
Path.join(["./relative/path/to/folder", "../../"]) === "./relative/path"

getRelativePath

Path.getRelative("./path/to/dir", "path/to") === "./dir"
Path.getRelative("/path/to/folder", "/path") === "./to/folder"
Path.getRelative("./path/to/folder/", "./path") === "./to/folder"

getFileName

Path.getFileName("./path/file.name.txt") === "file.name.txt"
Path.getFileName("./path/to/file.out/folder/../") === "file.out"
Path.getFileName("/") === ""
Path.getFileName("./") === ""

getSourceDirectory

Path.getSourceDirectory("/base/path/to/file.txt", "./to/file.txt") === "/base/path"
Path.getSourceDirectory("/base/path/to/file.txt", "to/file.txt") === "/base/path"
Path.getSourceDirectory("/base/path/to/file.txt", "file.txt") === "/base/path/to"

Readme

Keywords

Package Sidebar

Install

npm i @mutagen-d/path

Weekly Downloads

4

Version

0.2.0

License

ISC

Unpacked Size

23.1 kB

Total Files

9

Last publish

Collaborators

  • mutagen-d