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.
		
		
		
		
		
			
		
			
				
					
					
						
							32 lines
						
					
					
						
							1.0 KiB
						
					
					
				
			
		
		
	
	
							32 lines
						
					
					
						
							1.0 KiB
						
					
					
				| var global = require('./_global');
 | |
| var hide = require('./_hide');
 | |
| var has = require('./_has');
 | |
| var SRC = require('./_uid')('src');
 | |
| var $toString = require('./_function-to-string');
 | |
| var TO_STRING = 'toString';
 | |
| var TPL = ('' + $toString).split(TO_STRING);
 | |
| 
 | |
| require('./_core').inspectSource = function (it) {
 | |
|   return $toString.call(it);
 | |
| };
 | |
| 
 | |
| (module.exports = function (O, key, val, safe) {
 | |
|   var isFunction = typeof val == 'function';
 | |
|   if (isFunction) has(val, 'name') || hide(val, 'name', key);
 | |
|   if (O[key] === val) return;
 | |
|   if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
 | |
|   if (O === global) {
 | |
|     O[key] = val;
 | |
|   } else if (!safe) {
 | |
|     delete O[key];
 | |
|     hide(O, key, val);
 | |
|   } else if (O[key]) {
 | |
|     O[key] = val;
 | |
|   } else {
 | |
|     hide(O, key, val);
 | |
|   }
 | |
| // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
 | |
| })(Function.prototype, TO_STRING, function toString() {
 | |
|   return typeof this == 'function' && this[SRC] || $toString.call(this);
 | |
| });
 |