source: node_modules/es-toolkit/dist/compat/object/assignIn.mjs

Last change on this file was a762898, checked in by istevanoska <ilinastevanoska@…>, 5 months ago

Added visualizations

  • Property mode set to 100644
File size: 588 bytes
Line 
1import { keysIn } from './keysIn.mjs';
2import { isEqualsSameValueZero } from '../../_internal/isEqualsSameValueZero.mjs';
3
4function assignIn(object, ...sources) {
5 for (let i = 0; i < sources.length; i++) {
6 assignInImpl(object, sources[i]);
7 }
8 return object;
9}
10function assignInImpl(object, source) {
11 const keys = keysIn(source);
12 for (let i = 0; i < keys.length; i++) {
13 const key = keys[i];
14 if (!(key in object) || !isEqualsSameValueZero(object[key], source[key])) {
15 object[key] = source[key];
16 }
17 }
18}
19
20export { assignIn };
Note: See TracBrowser for help on using the repository browser.