isSet.js 613 B

1234567891011121314151617181920212223242526272829
  1. var getTag = require('./_getTag'),
  2. isObjectLike = require('./isObjectLike');
  3. /** `Object#toString` result references. */
  4. var setTag = '[object Set]';
  5. /**
  6. * Checks if `value` is classified as a `Set` object.
  7. *
  8. * @static
  9. * @memberOf _
  10. * @since 4.3.0
  11. * @category Lang
  12. * @param {*} value The value to check.
  13. * @returns {boolean} Returns `true` if `value` is correctly classified,
  14. * else `false`.
  15. * @example
  16. *
  17. * _.isSet(new Set);
  18. * // => true
  19. *
  20. * _.isSet(new WeakSet);
  21. * // => false
  22. */
  23. function isSet(value) {
  24. return isObjectLike(value) && getTag(value) == setTag;
  25. }
  26. module.exports = isSet;