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.
		
		
		
		
		
			
		
			
				
					
					
						
							33 lines
						
					
					
						
							976 B
						
					
					
				
			
		
		
	
	
							33 lines
						
					
					
						
							976 B
						
					
					
				'use strict'; | 
						|
 | 
						|
var hasToStringTag = require('has-tostringtag/shams')(); | 
						|
var callBound = require('call-bind/callBound'); | 
						|
 | 
						|
var $toString = callBound('Object.prototype.toString'); | 
						|
 | 
						|
var isStandardArguments = function isArguments(value) { | 
						|
	if (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) { | 
						|
		return false; | 
						|
	} | 
						|
	return $toString(value) === '[object Arguments]'; | 
						|
}; | 
						|
 | 
						|
var isLegacyArguments = function isArguments(value) { | 
						|
	if (isStandardArguments(value)) { | 
						|
		return true; | 
						|
	} | 
						|
	return value !== null && | 
						|
		typeof value === 'object' && | 
						|
		typeof value.length === 'number' && | 
						|
		value.length >= 0 && | 
						|
		$toString(value) !== '[object Array]' && | 
						|
		$toString(value.callee) === '[object Function]'; | 
						|
}; | 
						|
 | 
						|
var supportsStandardArguments = (function () { | 
						|
	return isStandardArguments(arguments); | 
						|
}()); | 
						|
 | 
						|
isStandardArguments.isLegacyArguments = isLegacyArguments; // for tests | 
						|
 | 
						|
module.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;
 | 
						|
 |