text: 
  /*
   * Module requirements.
   */
  
  var isArray = require('isarray');
  
  /**
   * Module exports.
   */
  
  module.exports = hasBinary;
  
  /**
   * Checks for binary data.
   *
   * Right now only Buffer and ArrayBuffer are supported..
   *
   * @param {Object} anything
   * @api public
   */
  
  function hasBinary(data) {
  
    function _hasBinary(obj) {
      if (!obj) return false;
  
      if ( (global.Buffer && global.Buffer.isBuffer && global.Buffer.isBuffer(obj)) ||
           (global.ArrayBuffer && obj instanceof ArrayBuffer) ||
           (global.Blob && obj instanceof Blob) ||
           (global.File && obj instanceof File)
          ) {
        return true;
      }
  
      if (isArray(obj)) {
        for (var i = 0; i < obj.length; i++) {
            if (_hasBinary(obj[i])) {
                return true;
            }
        }
      } else if (obj && 'object' == typeof obj) {
        // see: https://github.com/Automattic/has-binary/pull/4
        if (obj.toJSON && 'function' == typeof obj.toJSON) {
          obj = obj.toJSON();
        }
  
        for (var key in obj) {
          if (Object.prototype.hasOwnProperty.call(obj, key) && _hasBinary(obj[key])) {
            return true;
          }
        }
      }
  
      return false;
    }
  
    return _hasBinary(data);
  }
  