pathifist v1.0.1
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 pathifistUsing Yarn:
yarn add pathifistAPI
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/bazjoin(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/../bazdedupeSlashes(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/barensureSlashes(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/