pppath

0.1.4 • Public • Published

pppath.js npm Version Build Status Coverage Status

Join strings to form a valid path.

API

pppath(parts [, filename])

Returns a String, the result of joining parts. filename is appended to the returned path if the last element of parts does not end with a file extension.

// without `filename`
pppath(['/foo/', '/bar']);            //=> '/foo/bar'
pppath(['http://', '/foo/', '/bar']); //=> 'http://foo/bar'
 
// with `filename`
pppath(['/foo/', '/bar'], 'index.html');               //=> '/foo/bar/index.html'
pppath(['/foo/', '/bar/'], 'index.html');              //=> '/foo/bar/index.html'
pppath(['/foo/', '/bar.js'], 'index.html');            //=> '/foo/bar.js'
pppath(['http://', '/foo/', '/bar'], 'index.html');    //=> 'http://foo/bar/index.html'
pppath(['http://', '/foo/', '/bar/'], 'index.html');   //=> 'http://foo/bar/index.html'
pppath(['http://', '/foo/', '/bar.js'], 'index.html'); //=> 'http://foo/bar.js'

Consecutive / will be replaced by a single /, with the exception that the character sequence :// will remain intact. This is not the behaviour of the Node API’s path.join:

// :(
path.join('http://', '/foo/', '/bar'); //=> 'http:/foo/bar'
 
// :)
pppath(['http://', '/foo/', '/bar']);  //=> 'http://foo/bar'

More usage examples are in the tests.

Installation

Install via npm:

$ npm i --save pppath

Changelog

  • 0.1.0
    • Initial release

License

MIT license

Readme

Keywords

Package Sidebar

Install

npm i pppath

Weekly Downloads

1

Version

0.1.4

License

MIT

Last publish

Collaborators

  • yuanqing