text: /**
   * Copyright 2013-2014, Facebook, Inc.
   * All rights reserved.
   *
   * This source code is licensed under the BSD-style license found in the
   * LICENSE file in the root directory of this source tree. An additional grant
   * of patent rights can be found in the PATENTS file in the same directory.
   *
   * @providesModule ReactPutListenerQueue
   */
  
  "use strict";
  
  var PooledClass = require('PooledClass');
  var ReactBrowserEventEmitter = require('ReactBrowserEventEmitter');
  
  var assign = require('Object.assign');
  
  function ReactPutListenerQueue() {
    this.listenersToPut = [];
  }
  
  assign(ReactPutListenerQueue.prototype, {
    enqueuePutListener: function(rootNodeID, propKey, propValue) {
      this.listenersToPut.push({
        rootNodeID: rootNodeID,
        propKey: propKey,
        propValue: propValue
      });
    },
  
    putListeners: function() {
      for (var i = 0; i < this.listenersToPut.length; i++) {
        var listenerToPut = this.listenersToPut[i];
        ReactBrowserEventEmitter.putListener(
          listenerToPut.rootNodeID,
          listenerToPut.propKey,
          listenerToPut.propValue
        );
      }
    },
  
    reset: function() {
      this.listenersToPut.length = 0;
    },
  
    destructor: function() {
      this.reset();
    }
  });
  
  PooledClass.addPoolingTo(ReactPutListenerQueue);
  
  module.exports = ReactPutListenerQueue;
  