25 lines
712 B
JavaScript
25 lines
712 B
JavaScript
|
|
module.exports = isBuf;
|
|
|
|
var withNativeBuffer = typeof global.Buffer === 'function' && typeof global.Buffer.isBuffer === 'function';
|
|
var withNativeArrayBuffer = typeof global.ArrayBuffer === 'function';
|
|
|
|
var isView = (function () {
|
|
if (withNativeArrayBuffer && typeof global.ArrayBuffer.isView === 'function') {
|
|
return global.ArrayBuffer.isView;
|
|
} else {
|
|
return function (obj) { return obj.buffer instanceof global.ArrayBuffer; };
|
|
}
|
|
})();
|
|
|
|
/**
|
|
* Returns true if obj is a buffer or an arraybuffer.
|
|
*
|
|
* @api private
|
|
*/
|
|
|
|
function isBuf(obj) {
|
|
return (withNativeBuffer && global.Buffer.isBuffer(obj)) ||
|
|
(withNativeArrayBuffer && (obj instanceof global.ArrayBuffer || isView(obj)));
|
|
}
|