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
						
					
					
				| // 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;
 | |
| };
 |