source: node_modules/es-toolkit/dist/compat/object/assign.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: 580 bytes
Line 
1import { keys } from './keys.mjs';
2import { isEqualsSameValueZero } from '../../_internal/isEqualsSameValueZero.mjs';
3
4function assign(object, ...sources) {
5 for (let i = 0; i < sources.length; i++) {
6 assignImpl(object, sources[i]);
7 }
8 return object;
9}
10function assignImpl(object, source) {
11 const keys$1 = keys(source);
12 for (let i = 0; i < keys$1.length; i++) {
13 const key = keys$1[i];
14 if (!(key in object) || !isEqualsSameValueZero(object[key], source[key])) {
15 object[key] = source[key];
16 }
17 }
18}
19
20export { assign };
Note: See TracBrowser for help on using the repository browser.