mirror of
https://github.com/nestjs/nest.git
synced 2026-02-21 23:11:44 +00:00
15 lines
420 B
TypeScript
15 lines
420 B
TypeScript
/**
|
|
* Similar to `Object.assign` but copying properties descriptors from `source`
|
|
* as well.
|
|
*/
|
|
export function assignToObject<T, U>(target: T, source: U): T & U {
|
|
Object.defineProperties(
|
|
target,
|
|
Object.keys(source).reduce((descriptors, key) => {
|
|
descriptors[key] = Object.getOwnPropertyDescriptor(source, key);
|
|
return descriptors;
|
|
}, Object.create(null)),
|
|
);
|
|
return target as T & U;
|
|
}
|