1 |
3a515b92
|
cagy
|
/*!
|
2 |
|
|
* Determine if an object is a Buffer
|
3 |
|
|
*
|
4 |
|
|
* @author Feross Aboukhadijeh <https://feross.org>
|
5 |
|
|
* @license MIT
|
6 |
|
|
*/
|
7 |
|
|
|
8 |
|
|
// The _isBuffer check is for Safari 5-7 support, because it's missing
|
9 |
|
|
// Object.prototype.constructor. Remove this eventually
|
10 |
|
|
module.exports = function (obj) {
|
11 |
|
|
return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)
|
12 |
|
|
}
|
13 |
|
|
|
14 |
|
|
function isBuffer (obj) {
|
15 |
|
|
return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)
|
16 |
|
|
}
|
17 |
|
|
|
18 |
|
|
// For Node v0.10 support. Remove this eventually.
|
19 |
|
|
function isSlowBuffer (obj) {
|
20 |
|
|
return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))
|
21 |
|
|
}
|