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.
		
		
		
		
		
			
		
			
				
					24 lines
				
				718 B
			
		
		
			
		
	
	
					24 lines
				
				718 B
			| 
											3 years ago
										 | // getting tag from 19.1.3.6 Object.prototype.toString()
 | ||
|  | var cof = require('./_cof'); | ||
|  | var TAG = require('./_wks')('toStringTag'); | ||
|  | // ES3 wrong here
 | ||
|  | var ARG = cof(function () { return arguments; }()) == 'Arguments'; | ||
|  | 
 | ||
|  | // fallback for IE11 Script Access Denied error
 | ||
|  | var tryGet = function (it, key) { | ||
|  |   try { | ||
|  |     return it[key]; | ||
|  |   } catch (e) { /* empty */ } | ||
|  | }; | ||
|  | 
 | ||
|  | module.exports = function (it) { | ||
|  |   var O, T, B; | ||
|  |   return it === undefined ? 'Undefined' : it === null ? 'Null' | ||
|  |     // @@toStringTag case
 | ||
|  |     : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T | ||
|  |     // builtinTag case
 | ||
|  |     : ARG ? cof(O) | ||
|  |     // ES3 arguments fallback
 | ||
|  |     : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; | ||
|  | }; |