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.
		
		
		
		
		
			
		
			
				
					
					
						
							26 lines
						
					
					
						
							697 B
						
					
					
				
			
		
		
	
	
							26 lines
						
					
					
						
							697 B
						
					
					
				'use strict'; | 
						|
 | 
						|
var callBound = require('call-bind/callBound'); | 
						|
var $boolToStr = callBound('Boolean.prototype.toString'); | 
						|
var $toString = callBound('Object.prototype.toString'); | 
						|
 | 
						|
var tryBooleanObject = function booleanBrandCheck(value) { | 
						|
	try { | 
						|
		$boolToStr(value); | 
						|
		return true; | 
						|
	} catch (e) { | 
						|
		return false; | 
						|
	} | 
						|
}; | 
						|
var boolClass = '[object Boolean]'; | 
						|
var hasToStringTag = require('has-tostringtag/shams')(); | 
						|
 | 
						|
module.exports = function isBoolean(value) { | 
						|
	if (typeof value === 'boolean') { | 
						|
		return true; | 
						|
	} | 
						|
	if (value === null || typeof value !== 'object') { | 
						|
		return false; | 
						|
	} | 
						|
	return hasToStringTag && Symbol.toStringTag in value ? tryBooleanObject(value) : $toString(value) === boolClass; | 
						|
};
 | 
						|
 |