lib/index.js
function Integration(options) {
    if (options && options.addIntegration) {
      // plugin
      return options.addIntegration(Integration);
    }
    this.debug = debug('analytics:integration:' + slug(name));
    var clonedOpts = {};
    extend(true, clonedOpts, options); // deep clone options
    this.options = defaults(clonedOpts || {}, this.defaults);
    this._queue = [];
    this.once('ready', bind(this, this.flush));

    Integration.emit('construct', this);
    this.ready = bind(this, this.ready);
    this._wrapInitialize();
    this._wrapPage();
    this._wrapTrack();
  }
function Integration(options) {
    if (options && options.addIntegration) {
      // plugin
      return options.addIntegration(Integration);
    }
    this.debug = debug('analytics:integration:' + slug(name));
    var clonedOpts = {};
    extend(true, clonedOpts, options); // deep clone options
    this.options = defaults(clonedOpts || {}, this.defaults);
    this._queue = [];
    this.once('ready', bind(this, this.flush));

    Integration.emit('construct', this);
    this.ready = bind(this, this.ready);
    this._wrapInitialize();
    this._wrapPage();
    this._wrapTrack();
  }
function Integration ( options ) { if ( options && options . addIntegration ) { // plugin return options . addIntegration ( Integration ) ; } this . debug = debug ( 'analytics:integration:' + slug ( name ) ) ; var clonedOpts = { } ; extend ( true , clonedOpts , options ) ; // deep clone options this . options = defaults ( clonedOpts || { } , this . defaults ) ; this . _queue = [ ] ; this . once ( 'ready' , bind ( this , this . flush ) ) ; Integration . emit ( 'construct' , this ) ; this . ready = bind ( this , this . ready ) ; this . _wrapInitialize ( ) ; this . _wrapPage ( ) ; this . _wrapTrack ( ) ; }
Initialize a new `Integration`.

@class
@param {Object} options
Initialize a new Integration .