pathifist
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

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/

Readme

Keywords

none

Package Sidebar

Install

npm i pathifist

Weekly Downloads

184

Version

1.0.1

License

MIT

Unpacked Size

11.6 kB

Total Files

8

Last publish

Collaborators

  • robertkowalski
  • zaubernerd
  • jhiode
  • knisterpeter
  • dmbch