function (tracker, methodList) {
  var trackingData = tracker[trackingKeyName];
  methodList.forEach(function (name) {
    tracker[name] = function () {
      var context = this;
      var argsArray = Array.prototype.slice.call(arguments);
      // Only record actions called directly on the tracker.
      if (this === tracker) {
        // Forwarded call should operate on original object.
        context = trackingData.object;
        trackingData.actions.push({
          key: name,
          arguments: argsArray,
        });
      }
      return trackingData.object[name].apply(context, argsArray);
    };
  });
}
function (tracker, methodList) {
  var trackingData = tracker[trackingKeyName];
  methodList.forEach(function (name) {
    tracker[name] = function () {
      var context = this;
      var argsArray = Array.prototype.slice.call(arguments);
      // Only record actions called directly on the tracker.
      if (this === tracker) {
        // Forwarded call should operate on original object.
        context = trackingData.object;
        trackingData.actions.push({
          key: name,
          arguments: argsArray,
        });
      }
      return trackingData.object[name].apply(context, argsArray);
    };
  });
}
function ( tracker , methodList ) { var trackingData = tracker [ trackingKeyName ] ; methodList . forEach ( function ( name ) { tracker [ name ] = function ( ) { var context = this ; var argsArray = Array . prototype . slice . call ( arguments ) ; // Only record actions called directly on the tracker. if ( this === tracker ) { // Forwarded call should operate on original object. context = trackingData . object ; trackingData . actions . push ( { key : name , arguments : argsArray , } ) ; } return trackingData . object [ name ] . apply ( context , argsArray ) ; } ; } ) ; }
Add callable methods for tracking.
Add callable methods for tracking .