0.1.4 • Published 9 years ago

pppath v0.1.4

Weekly downloads
3
License
MIT
Repository
github
Last release
9 years ago

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 APIs 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

0.1.4

9 years ago

0.1.3

9 years ago

0.1.2

9 years ago

0.1.1

9 years ago

0.1.0

9 years ago