Show More
Commit Description:
submission report
Commit Description:
submission report
References:
File last commit:
Show/Diff file:
Action:
node_modules/core-js/modules/_redefine.js
| 31 lines
| 1.0 KiB
| application/javascript
| JavascriptLexer
|
r789 | 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); | ||||
}); | ||||