index.js 737 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. 'use strict';
  2. var hasBigInts = require('has-bigints')();
  3. if (hasBigInts) {
  4. var bigIntValueOf = BigInt.prototype.valueOf;
  5. var tryBigInt = function tryBigIntObject(value) {
  6. try {
  7. bigIntValueOf.call(value);
  8. return true;
  9. } catch (e) {
  10. }
  11. return false;
  12. };
  13. module.exports = function isBigInt(value) {
  14. if (
  15. value === null
  16. || typeof value === 'undefined'
  17. || typeof value === 'boolean'
  18. || typeof value === 'string'
  19. || typeof value === 'number'
  20. || typeof value === 'symbol'
  21. || typeof value === 'function'
  22. ) {
  23. return false;
  24. }
  25. if (typeof value === 'bigint') {
  26. return true;
  27. }
  28. return tryBigInt(value);
  29. };
  30. } else {
  31. module.exports = function isBigInt(value) {
  32. return false && value;
  33. };
  34. }