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