Archived
1
0
This repository has been archived on 2023-05-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
home-page/node_modules/es5-ext/object/mixin.js
Sean Edmunds 0584430b5c First commit
2021-12-13 17:00:40 -06:00

27 lines
913 B
JavaScript

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