index.js
function Image(src) {
  if (!(this instanceof Image)) {
    return new Image(src)
  }

  if (typeof src !== 'string') {
    throw new Error('param `src` must be a string')
  }

  var ret = reg.exec(src)

  if (!ret) {
    throw new Error('invalid param `src`')
  }

  this.src = src
  this.host = ret[1] || defaultHost
  this.version = ret[2] ? ret[2].slice(0, -1) : ''
  this.hash = ret[3]
  this.ext = ret[4]
}
function Image(src) {
  if (!(this instanceof Image)) {
    return new Image(src)
  }

  if (typeof src !== 'string') {
    throw new Error('param `src` must be a string')
  }

  var ret = reg.exec(src)

  if (!ret) {
    throw new Error('invalid param `src`')
  }

  this.src = src
  this.host = ret[1] || defaultHost
  this.version = ret[2] ? ret[2].slice(0, -1) : ''
  this.hash = ret[3]
  this.ext = ret[4]
}
function Image ( src ) { if ( ! ( this instanceof Image ) ) { return new Image ( src ) } if ( typeof src !== 'string' ) { throw new Error ( 'param `src` must be a string' ) } var ret = reg . exec ( src ) if ( ! ret ) { throw new Error ( 'invalid param `src`' ) } this . src = src this . host = ret [ 1 ] || defaultHost this . version = ret [ 2 ] ? ret [ 2 ] . slice ( 0 , - 1 ) : '' this . hash = ret [ 3 ] this . ext = ret [ 4 ] }
Initialize `Image` with given `src`.

@param {String} src
@public
Initialize Image with given src .