15 lines
358 B
JavaScript
15 lines
358 B
JavaScript
function assignProperties(target, ...sources) {
|
|
sources.forEach(source => {
|
|
Object.defineProperties(
|
|
target,
|
|
Object.keys(source).reduce((descriptors, key) => {
|
|
descriptors[key] = Object.getOwnPropertyDescriptor(source, key);
|
|
return descriptors;
|
|
}, {})
|
|
);
|
|
});
|
|
return target;
|
|
}
|
|
|
|
export default assignProperties;
|