Show More
Commit Description:
submission report
Commit Description:
submission report
References:
File last commit:
Show/Diff file:
Action:
node_modules/es5-ext/object/mixin.js
| 26 lines
| 913 B
| application/javascript
| JavascriptLexer
|
r789 | "use strict"; | |||
var value = require("./valid-value") | ||||
, defineProperty = Object.defineProperty | ||||
, getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor | ||||
, getOwnPropertyNames = Object.getOwnPropertyNames | ||||
, getOwnPropertySymbols = Object.getOwnPropertySymbols; | ||||
module.exports = function (target, source) { | ||||
var error, sourceObject = Object(value(source)); | ||||
target = Object(value(target)); | ||||
getOwnPropertyNames(sourceObject).forEach(function (name) { | ||||
try { | ||||
defineProperty(target, name, getOwnPropertyDescriptor(source, name)); | ||||
} catch (e) { error = e; } | ||||
}); | ||||
if (typeof getOwnPropertySymbols === "function") { | ||||
getOwnPropertySymbols(sourceObject).forEach(function (symbol) { | ||||
try { | ||||
defineProperty(target, symbol, getOwnPropertyDescriptor(source, symbol)); | ||||
} catch (e) { error = e; } | ||||
}); | ||||
} | ||||
if (error !== undefined) throw error; | ||||
return target; | ||||
}; | ||||