mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-27 07:50:47 +00:00
76f911041a
* use named exports * fix test * add missing imnport * fix prettier
19 lines
498 B
TypeScript
19 lines
498 B
TypeScript
import { isNullOrUndefined } from '@sindresorhus/is';
|
|
|
|
/**
|
|
* Assigns non-nullish values from `right` to `left` for the given `keys`.
|
|
*/
|
|
export function assignKeys<
|
|
Left extends Partial<Record<K, unknown>>,
|
|
Right extends { [key in K]?: Left[key] },
|
|
K extends keyof Right,
|
|
>(left: Left, right: Right, keys: K[]): Left {
|
|
for (const key of keys) {
|
|
const val = right[key];
|
|
if (!isNullOrUndefined(val)) {
|
|
left[key] = val as unknown as Left[typeof key];
|
|
}
|
|
}
|
|
return left;
|
|
}
|