core.js
function VFile(options) {
  var prop
  var index
  var length

  if (!options) {
    options = {}
  } else if (typeof options === 'string' || buffer(options)) {
    options = {contents: options}
  } else if ('message' in options && 'messages' in options) {
    return options
  }

  if (!(this instanceof VFile)) {
    return new VFile(options)
  }

  this.data = {}
  this.messages = []
  this.history = []
  this.cwd = process.cwd()

  // Set path related properties in the correct order.
  index = -1
  length = order.length

  while (++index < length) {
    prop = order[index]

    if (own.call(options, prop)) {
      this[prop] = options[prop]
    }
  }

  // Set non-path related properties.
  for (prop in options) {
    if (order.indexOf(prop) === -1) {
      this[prop] = options[prop]
    }
  }
}
function VFile(options) {
  var prop
  var index
  var length

  if (!options) {
    options = {}
  } else if (typeof options === 'string' || buffer(options)) {
    options = {contents: options}
  } else if ('message' in options && 'messages' in options) {
    return options
  }

  if (!(this instanceof VFile)) {
    return new VFile(options)
  }

  this.data = {}
  this.messages = []
  this.history = []
  this.cwd = process.cwd()

  // Set path related properties in the correct order.
  index = -1
  length = order.length

  while (++index < length) {
    prop = order[index]

    if (own.call(options, prop)) {
      this[prop] = options[prop]
    }
  }

  // Set non-path related properties.
  for (prop in options) {
    if (order.indexOf(prop) === -1) {
      this[prop] = options[prop]
    }
  }
}
function VFile ( options ) { var prop var index var length if ( ! options ) { options = { } } else if ( typeof options === 'string' || buffer ( options ) ) { options = { contents : options } } else if ( 'message' in options && 'messages' in options ) { return options } if ( ! ( this instanceof VFile ) ) { return new VFile ( options ) } this . data = { } this . messages = [ ] this . history = [ ] this . cwd = process . cwd ( ) // Set path related properties in the correct order. index = - 1 length = order . length while ( ++ index < length ) { prop = order [ index ] if ( own . call ( options , prop ) ) { this [ prop ] = options [ prop ] } } // Set non-path related properties. for ( prop in options ) { if ( order . indexOf ( prop ) === - 1 ) { this [ prop ] = options [ prop ] } } }
Construct a new file.
Construct a new file .