filewrap
Light wrapper for files to make absolute and relative paths easier
Last updated 3 years ago by jescalan .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install filewrap 
SYNC missed versions from official npm registry.

Filewrap

npm tests dependencies coverage

A light wrapper for files to make absolute and relative paths easier

Note: This project is in early development, and versioning is a little different. Read this for more details.

Why should you care?

Sometimes you will have a project where you need to transform paths to and from relative/absolute frequently. It's super annoying to continuously run something like absolutePath.replace(rootPath, '') and path.join(rootPath, relativePath) whenever this is needed. To make this cleaner and easier, you can use a small wrapper around the file that exposes both paths.

Installation

npm install filewrap -S

Note: This project is compatible with node v6+ only

Usage

const File = require('filewrap')

const f = new File('/Users/doge/projects', 'personal-site/index.html')
f.relative // personal-site/index.html
f.absolute // /Users/doge/projects/personal-site/index.html

If you are starting with an absolute path, you can initialize with the absolute path in the same way, filewrap will figure out the relative path for you and make sure it's formatted consistently.

const File = require('filewrap')

const f = new File('/Users/doge/projects', '/Users/doge/projects/personal-site/index.html')
f.relative // personal-site/index.html
f.absolute // /Users/doge/projects/personal-site/index.html

Note that your relative path will never include a leading slash no matter how you initialize, so you can count on this being consistent. And your absolute path will be the path.join result of your root and relative paths. Platform-specific directory dividers will always be fully respected.

Map Helpers

Now if you have an array of these wrapped files, you may want to quickly unwrap them all into relative or absolute paths. Filewrap also exposes a couple convenient helpers that make this clear and simple:

const {getRelative, getAbsolute} = require('filewrap')

arrayOfFilewrapObjects.map(getRelative)
arrayOfFilewrapObjects.map(getAbsolute)

License & Contributing

Current Tags

  • 1.0.0                                ...           latest (3 years ago)

3 Versions

  • 1.0.0                                ...           3 years ago
  • 0.1.0                                ...           4 years ago
  • 0.0.1                                ...           4 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (0)
None
Dev Dependencies (4)

Copyright 2014 - 2016 © taobao.org |