function isBuffer( value ) {
	return (
		isObjectLike( value ) &&
		(
			// eslint-disable-next-line no-underscore-dangle
			value._isBuffer || // for envs missing Object.prototype.constructor (e.g., Safari 5-7)
			(
				value.constructor &&

				// WARNING: `typeof` is not a foolproof check, as certain envs consider RegExp and NodeList instances to be functions
				typeof value.constructor.isBuffer === 'function' &&
				value.constructor.isBuffer( value )
			)
		)
	);
}
Tests if a value is a Buffer instance.

@param {*} value - value to validate
@returns {boolean} boolean indicating if a value is a Buffer instance

@example
var v = isBuffer( new Buffer( 'beep' ) );
// returns true

@example
var v = isBuffer( new Buffer( [1,2,3,4] ) );
// returns true

@example
var v = isBuffer( {} );
// returns false

@example
var v = isBuffer( [] );
// returns false