You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							42 lines
						
					
					
						
							844 B
						
					
					
				
			
		
		
	
	
							42 lines
						
					
					
						
							844 B
						
					
					
				| 'use strict';
 | |
| 
 | |
| var hasBigInts = require('has-bigints')();
 | |
| 
 | |
| if (hasBigInts) {
 | |
| 	var bigIntValueOf = BigInt.prototype.valueOf;
 | |
| 	/** @type {(value: object) => value is BigInt} */
 | |
| 	var tryBigInt = function tryBigIntObject(value) {
 | |
| 		try {
 | |
| 			bigIntValueOf.call(value);
 | |
| 			return true;
 | |
| 		} catch (e) {
 | |
| 		}
 | |
| 		return false;
 | |
| 	};
 | |
| 
 | |
| 	/** @type {import('.')} */
 | |
| 	module.exports = function isBigInt(value) {
 | |
| 		if (
 | |
| 			value === null
 | |
| 			|| typeof value === 'undefined'
 | |
| 			|| typeof value === 'boolean'
 | |
| 			|| typeof value === 'string'
 | |
| 			|| typeof value === 'number'
 | |
| 			|| typeof value === 'symbol'
 | |
| 			|| typeof value === 'function'
 | |
| 		) {
 | |
| 			return false;
 | |
| 		}
 | |
| 		if (typeof value === 'bigint') {
 | |
| 			return true;
 | |
| 		}
 | |
| 
 | |
| 		return tryBigInt(value);
 | |
| 	};
 | |
| } else {
 | |
| 	/** @type {import('.')} */
 | |
| 	module.exports = function isBigInt(value) {
 | |
| 		return false && value;
 | |
| 	};
 | |
| }
 |