8
0

isBuffer.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import constant from './constant';
  2. import root from './_root';
  3. /** Used to determine if values are of the language type `Object`. */
  4. var objectTypes = {
  5. 'function': true,
  6. 'object': true
  7. };
  8. /** Detect free variable `exports`. */
  9. var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)
  10. ? exports
  11. : undefined;
  12. /** Detect free variable `module`. */
  13. var freeModule = (objectTypes[typeof module] && module && !module.nodeType)
  14. ? module
  15. : undefined;
  16. /** Detect the popular CommonJS extension `module.exports`. */
  17. var moduleExports = (freeModule && freeModule.exports === freeExports)
  18. ? freeExports
  19. : undefined;
  20. /** Built-in value references. */
  21. var Buffer = moduleExports ? root.Buffer : undefined;
  22. /**
  23. * Checks if `value` is a buffer.
  24. *
  25. * @static
  26. * @memberOf _
  27. * @category Lang
  28. * @param {*} value The value to check.
  29. * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
  30. * @example
  31. *
  32. * _.isBuffer(new Buffer(2));
  33. * // => true
  34. *
  35. * _.isBuffer(new Uint8Array(2));
  36. * // => false
  37. */
  38. var isBuffer = !Buffer ? constant(false) : function(value) {
  39. return value instanceof Buffer;
  40. };
  41. export default isBuffer;