diff options
| author | Florian Dold <florian.dold@gmail.com> | 2019-03-27 21:01:33 +0100 | 
|---|---|---|
| committer | Florian Dold <florian.dold@gmail.com> | 2019-03-27 21:01:33 +0100 | 
| commit | cc97a4dd2a967e1c2273bd5f4c5f49a5bf2e2585 (patch) | |
| tree | 92c5d88706a6ffc654d1b133618d357890e7096b /node_modules/vinyl/index.js | |
| parent | 3771b4d6b67b34c130f3a9a1a15f42deefdb2eda (diff) | |
remove node_modules
Diffstat (limited to 'node_modules/vinyl/index.js')
| -rw-r--r-- | node_modules/vinyl/index.js | 334 | 
1 files changed, 0 insertions, 334 deletions
diff --git a/node_modules/vinyl/index.js b/node_modules/vinyl/index.js deleted file mode 100644 index d99094e21..000000000 --- a/node_modules/vinyl/index.js +++ /dev/null @@ -1,334 +0,0 @@ -'use strict'; - -var path = require('path'); -var util = require('util'); -var isBuffer = require('buffer').Buffer.isBuffer; - -var clone = require('clone'); -var cloneable = require('cloneable-readable'); -var replaceExt = require('replace-ext'); -var cloneStats = require('clone-stats'); -var cloneBuffer = require('clone-buffer'); -var removeTrailingSep = require('remove-trailing-separator'); - -var isStream = require('./lib/is-stream'); -var normalize = require('./lib/normalize'); -var inspectStream = require('./lib/inspect-stream'); - -var builtInFields = [ -  '_contents', '_symlink', 'contents', 'stat', 'history', 'path', -  '_base', 'base', '_cwd', 'cwd', -]; - -function File(file) { -  var self = this; - -  if (!file) { -    file = {}; -  } - -  // Stat = files stats object -  this.stat = file.stat || null; - -  // Contents = stream, buffer, or null if not read -  this.contents = file.contents || null; - -  // Replay path history to ensure proper normalization and trailing sep -  var history = Array.prototype.slice.call(file.history || []); -  if (file.path) { -    history.push(file.path); -  } -  this.history = []; -  history.forEach(function(path) { -    self.path = path; -  }); - -  this.cwd = file.cwd || process.cwd(); -  this.base = file.base; - -  this._isVinyl = true; - -  this._symlink = null; - -  // Set custom properties -  Object.keys(file).forEach(function(key) { -    if (self.constructor.isCustomProp(key)) { -      self[key] = file[key]; -    } -  }); -} - -File.prototype.isBuffer = function() { -  return isBuffer(this.contents); -}; - -File.prototype.isStream = function() { -  return isStream(this.contents); -}; - -File.prototype.isNull = function() { -  return (this.contents === null); -}; - -File.prototype.isDirectory = function() { -  if (!this.isNull()) { -    return false; -  } - -  if (this.stat && typeof this.stat.isDirectory === 'function') { -    return this.stat.isDirectory(); -  } - -  return false; -}; - -File.prototype.isSymbolic = function() { -  if (!this.isNull()) { -    return false; -  } - -  if (this.stat && typeof this.stat.isSymbolicLink === 'function') { -    return this.stat.isSymbolicLink(); -  } - -  return false; -}; - -File.prototype.clone = function(opt) { -  var self = this; - -  if (typeof opt === 'boolean') { -    opt = { -      deep: opt, -      contents: true, -    }; -  } else if (!opt) { -    opt = { -      deep: true, -      contents: true, -    }; -  } else { -    opt.deep = opt.deep === true; -    opt.contents = opt.contents !== false; -  } - -  // Clone our file contents -  var contents; -  if (this.isStream()) { -    contents = this.contents.clone(); -  } else if (this.isBuffer()) { -    contents = opt.contents ? cloneBuffer(this.contents) : this.contents; -  } - -  var file = new this.constructor({ -    cwd: this.cwd, -    base: this.base, -    stat: (this.stat ? cloneStats(this.stat) : null), -    history: this.history.slice(), -    contents: contents, -  }); - -  // Clone our custom properties -  Object.keys(this).forEach(function(key) { -    if (self.constructor.isCustomProp(key)) { -      file[key] = opt.deep ? clone(self[key], true) : self[key]; -    } -  }); -  return file; -}; - -File.prototype.inspect = function() { -  var inspect = []; - -  // Use relative path if possible -  var filePath = this.path ? this.relative : null; - -  if (filePath) { -    inspect.push('"' + filePath + '"'); -  } - -  if (this.isBuffer()) { -    inspect.push(this.contents.inspect()); -  } - -  if (this.isStream()) { -    inspect.push(inspectStream(this.contents)); -  } - -  return '<File ' + inspect.join(' ') + '>'; -}; - -// Newer Node.js versions use this symbol for custom inspection. -if (util.inspect.custom) { -  File.prototype[util.inspect.custom] = File.prototype.inspect; -} - -File.isCustomProp = function(key) { -  return builtInFields.indexOf(key) === -1; -}; - -File.isVinyl = function(file) { -  return (file && file._isVinyl === true) || false; -}; - -// Virtual attributes -// Or stuff with extra logic -Object.defineProperty(File.prototype, 'contents', { -  get: function() { -    return this._contents; -  }, -  set: function(val) { -    if (!isBuffer(val) && !isStream(val) && (val !== null)) { -      throw new Error('File.contents can only be a Buffer, a Stream, or null.'); -    } - -    // Ask cloneable if the stream is a already a cloneable -    // this avoid piping into many streams -    // reducing the overhead of cloning -    if (isStream(val) && !cloneable.isCloneable(val)) { -      val = cloneable(val); -    } - -    this._contents = val; -  }, -}); - -Object.defineProperty(File.prototype, 'cwd', { -  get: function() { -    return this._cwd; -  }, -  set: function(cwd) { -    if (!cwd || typeof cwd !== 'string') { -      throw new Error('cwd must be a non-empty string.'); -    } -    this._cwd = removeTrailingSep(normalize(cwd)); -  }, -}); - -Object.defineProperty(File.prototype, 'base', { -  get: function() { -    return this._base || this._cwd; -  }, -  set: function(base) { -    if (base == null) { -      delete this._base; -      return; -    } -    if (typeof base !== 'string' || !base) { -      throw new Error('base must be a non-empty string, or null/undefined.'); -    } -    base = removeTrailingSep(normalize(base)); -    if (base !== this._cwd) { -      this._base = base; -    } else { -      delete this._base; -    } -  }, -}); - -// TODO: Should this be moved to vinyl-fs? -Object.defineProperty(File.prototype, 'relative', { -  get: function() { -    if (!this.path) { -      throw new Error('No path specified! Can not get relative.'); -    } -    return path.relative(this.base, this.path); -  }, -  set: function() { -    throw new Error('File.relative is generated from the base and path attributes. Do not modify it.'); -  }, -}); - -Object.defineProperty(File.prototype, 'dirname', { -  get: function() { -    if (!this.path) { -      throw new Error('No path specified! Can not get dirname.'); -    } -    return path.dirname(this.path); -  }, -  set: function(dirname) { -    if (!this.path) { -      throw new Error('No path specified! Can not set dirname.'); -    } -    this.path = path.join(dirname, this.basename); -  }, -}); - -Object.defineProperty(File.prototype, 'basename', { -  get: function() { -    if (!this.path) { -      throw new Error('No path specified! Can not get basename.'); -    } -    return path.basename(this.path); -  }, -  set: function(basename) { -    if (!this.path) { -      throw new Error('No path specified! Can not set basename.'); -    } -    this.path = path.join(this.dirname, basename); -  }, -}); - -// Property for getting/setting stem of the filename. -Object.defineProperty(File.prototype, 'stem', { -  get: function() { -    if (!this.path) { -      throw new Error('No path specified! Can not get stem.'); -    } -    return path.basename(this.path, this.extname); -  }, -  set: function(stem) { -    if (!this.path) { -      throw new Error('No path specified! Can not set stem.'); -    } -    this.path = path.join(this.dirname, stem + this.extname); -  }, -}); - -Object.defineProperty(File.prototype, 'extname', { -  get: function() { -    if (!this.path) { -      throw new Error('No path specified! Can not get extname.'); -    } -    return path.extname(this.path); -  }, -  set: function(extname) { -    if (!this.path) { -      throw new Error('No path specified! Can not set extname.'); -    } -    this.path = replaceExt(this.path, extname); -  }, -}); - -Object.defineProperty(File.prototype, 'path', { -  get: function() { -    return this.history[this.history.length - 1]; -  }, -  set: function(path) { -    if (typeof path !== 'string') { -      throw new Error('path should be a string.'); -    } -    path = removeTrailingSep(normalize(path)); - -    // Record history only when path changed -    if (path && path !== this.path) { -      this.history.push(path); -    } -  }, -}); - -Object.defineProperty(File.prototype, 'symlink', { -  get: function() { -    return this._symlink; -  }, -  set: function(symlink) { -    // TODO: should this set the mode to symbolic if set? -    if (typeof symlink !== 'string') { -      throw new Error('symlink should be a string'); -    } - -    this._symlink = removeTrailingSep(normalize(symlink)); -  }, -}); - -module.exports = File;  | 
