index.js 711 B

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