whole_func_string: function Floodgate (opts) {
    if (!(this instanceof Floodgate)) return new Floodgate(opts);
  
    opts = opts || {};
    Transform.call(this, opts);
    this._interval = opts.interval || 0;
  }
func_code_string: function Floodgate (opts) {
    if (!(this instanceof Floodgate)) return new Floodgate(opts);
  
    opts = opts || {};
    Transform.call(this, opts);
    this._interval = opts.interval || 0;
  }
func_documentation_string: Creates a transform stream that will delay passing values through according to the given interval.
  
  Note:
  Passing and interval of 0 is useful in order to keep any streams in your pipe chain from blocking the
  event loop.
  
  @name Floodgate
  @function
  @param opts {Object} typical TransformStream options (like highWaterMark) and one additional:
  - interval: the interval at which to time out passing through values
  @return {TransformStream} stream that can be added to a pipe in order to delay values coming through