Package Exports
- pathifist
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (pathifist) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
pathifist
pathifist
is an extremely simple, rather naïve URL path manipulation library. It is meant to be used in browser and non-browser environments to conveniently deal with URL(-ish) paths.
Installation
Using NPM:
npm install -S pathifist
Using Yarn:
yarn add pathifist
API
resolve(path, ...)
resolve
is pathifist
's most elaborate function: it mimics a browser's path resolution and deals with both absolute (e.g. /foo
) and relative (e.g. ../
) path segments. It accepts an arbitrary number of path segments as arguments.
resolve('foo', '/bar'); // => /bar
resolve('./foo', 'bar///', '../baz'); // => ./foo/baz
join(path, ...)
join
glues an arbitrary number of arguments together with slashes, replacing multiple consecutive slashes in the process.
join('foo', '/bar'); // => foo/bar
join('./foo', 'bar///', '../baz'); // => ./foo/bar/../baz
dedupeSlashes(path)
dedupeSlashes
removes obsolete consecutive slashes from the path it is being passed.
dedupe('//foo//bar//'); // => /foo/bar/
trimSlashes(path)
/ trim{Leading,Trailing}Slash(path)
trimSlashes
/ trim{Leading,Trailing}Slash
removes single or consecutive leading and/or trailing slashes from the path
it is being passed. It leaves internal slashes untouched.
trimSlashes('/foo/bar/'); // => foo/bar
trimLeadingSlash('/foo/bar/'); // => foo/bar/
trimTrailingSlash('/foo/bar/'); // => /foo/bar
ensureSlashes(path)
/ ensure{Leading,Trailing}Slash(path)
ensureSlashes
/ ensure{Leading,Trailing}Slash
makes sure there are single or consecutive leading and/or trailing slash in the path
it is being passed. It leaves internal slash untouched.
ensureSlashes('foo/bar'); // => /foo/bar/
ensureLeadingSlash('foo/bar'); // => /foo/bar
ensureTrailingSlash('foo/bar'); // => foo/bar/