Sha256: 276b9795d9f05d94a5737d070c2066f848d18c3b26d719d29c7b373d7e16359e
Contents?: true
Size: 1.36 KB
Versions: 19
Compression:
Stored size: 1.36 KB
Contents
/** internal * class Paths * * Subclass of [[NormalizedArray]]. * Internal collection for tracking path strings. * Each element is a valid absolute path. * * var paths = new Paths("/usr/local"); * * paths.append('tmp'); * paths.append('/tmp'); * * paths.toArray(); * // -> ["/usr/local/tmp", "/tmp"] **/ 'use strict'; var resolvePath = require('path').resolve; var normalizePath = require('path').normalize; var NormalizedArray = require('./normalized_array'); /** * new Paths(root = ".") **/ var Paths = module.exports = function Paths(root) { NormalizedArray.call(this); Object.defineProperty(this, '__root__', {value: root}); }; require('util').inherits(Paths, NormalizedArray); /** * Paths#clone() -> Paths * * Return copy of the instance. **/ Paths.prototype.clone = function () { var obj = new Paths(this.__root__); obj.prepend(this.toArray()); return obj; }; /** * Paths#normalize(path) -> String * * Relative paths added to this array are expanded relative to `root`. * * paths = new Paths("/usr/local"); * * paths.append("tmp"); * paths.append("/tmp"); * * paths.toArray(); * // -> ["/usr/local/tmp", "/tmp"] **/ Paths.prototype.normalize = function (path) { if ('/' !== path[0]) { path = resolvePath(this.__root__, path); } return normalizePath(path); };
Version data entries
19 entries across 19 versions & 1 rubygems