index.js
function Hook(fn, options) {
  if (!this) return new Hook(fn, options);
  options = options || {};

  this.options = options;     // Used for testing only. Ignore this. Don't touch.
  this.config = {};           // pre-commit configuration from the `package.json`.
  this.json = {};             // Actual content of the `package.json`.
  this.npm = '';              // The location of the `npm` binary.
  this.git = '';              // The location of the `git` binary.
  this.root = '';             // The root location of the .git folder.
  this.status = '';           // Contents of the `git status`.
  this.exit = fn;             // Exit function.

  this.initialize();
}
function Hook(fn, options) {
  if (!this) return new Hook(fn, options);
  options = options || {};

  this.options = options;     // Used for testing only. Ignore this. Don't touch.
  this.config = {};           // pre-commit configuration from the `package.json`.
  this.json = {};             // Actual content of the `package.json`.
  this.npm = '';              // The location of the `npm` binary.
  this.git = '';              // The location of the `git` binary.
  this.root = '';             // The root location of the .git folder.
  this.status = '';           // Contents of the `git status`.
  this.exit = fn;             // Exit function.

  this.initialize();
}
function Hook ( fn , options ) { if ( ! this ) return new Hook ( fn , options ) ; options = options || { } ; this . options = options ; // Used for testing only. Ignore this. Don't touch. this . config = { } ; // pre-commit configuration from the `package.json`. this . json = { } ; // Actual content of the `package.json`. this . npm = '' ; // The location of the `npm` binary. this . git = '' ; // The location of the `git` binary. this . root = '' ; // The root location of the .git folder. this . status = '' ; // Contents of the `git status`. this . exit = fn ; // Exit function. this . initialize ( ) ; }
Representation of a hook runner.

@constructor
@param {Function} fn Function to be called when we want to exit
@param {Object} options Optional configuration, primarily used for testing.
@api public
Representation of a hook runner .