mirror of
https://github.com/abrendan/MicDropMessages.git
synced 2025-08-25 22:12:02 +02:00
Initial commit
This commit is contained in:
64
node_modules/has-binary2/index.js
generated
vendored
Normal file
64
node_modules/has-binary2/index.js
generated
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
/* global Blob File */
|
||||
|
||||
/*
|
||||
* Module requirements.
|
||||
*/
|
||||
|
||||
var isArray = require('isarray');
|
||||
|
||||
var toString = Object.prototype.toString;
|
||||
var withNativeBlob = typeof Blob === 'function' ||
|
||||
typeof Blob !== 'undefined' && toString.call(Blob) === '[object BlobConstructor]';
|
||||
var withNativeFile = typeof File === 'function' ||
|
||||
typeof File !== 'undefined' && toString.call(File) === '[object FileConstructor]';
|
||||
|
||||
/**
|
||||
* Module exports.
|
||||
*/
|
||||
|
||||
module.exports = hasBinary;
|
||||
|
||||
/**
|
||||
* Checks for binary data.
|
||||
*
|
||||
* Supports Buffer, ArrayBuffer, Blob and File.
|
||||
*
|
||||
* @param {Object} anything
|
||||
* @api public
|
||||
*/
|
||||
|
||||
function hasBinary (obj) {
|
||||
if (!obj || typeof obj !== 'object') {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (isArray(obj)) {
|
||||
for (var i = 0, l = obj.length; i < l; i++) {
|
||||
if (hasBinary(obj[i])) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((typeof Buffer === 'function' && Buffer.isBuffer && Buffer.isBuffer(obj)) ||
|
||||
(typeof ArrayBuffer === 'function' && obj instanceof ArrayBuffer) ||
|
||||
(withNativeBlob && obj instanceof Blob) ||
|
||||
(withNativeFile && obj instanceof File)
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// see: https://github.com/Automattic/has-binary/pull/4
|
||||
if (obj.toJSON && typeof obj.toJSON === 'function' && arguments.length === 1) {
|
||||
return hasBinary(obj.toJSON(), true);
|
||||
}
|
||||
|
||||
for (var key in obj) {
|
||||
if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
Reference in New Issue
Block a user