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
			| 
								 
											3 years ago
										 
									 | 
							
								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);
							 | 
						||
| 
								 | 
							
								});
							 |