Skip to content

A JavaScript utility library simplifying the handling of URL paths in both server and browser environments.

License

Notifications You must be signed in to change notification settings

untool/pathifist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

153 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pathifist

travis npm

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/

About

A JavaScript utility library simplifying the handling of URL paths in both server and browser environments.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5