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

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

Added visualizations

  • Property mode set to 100644
File size: 714 bytes
Line 
1'use strict';
2
3Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
5const keysIn = require('./keysIn.js');
6const isEqualsSameValueZero = require('../../_internal/isEqualsSameValueZero.js');
7
8function assignIn(object, ...sources) {
9 for (let i = 0; i < sources.length; i++) {
10 assignInImpl(object, sources[i]);
11 }
12 return object;
13}
14function assignInImpl(object, source) {
15 const keys = keysIn.keysIn(source);
16 for (let i = 0; i < keys.length; i++) {
17 const key = keys[i];
18 if (!(key in object) || !isEqualsSameValueZero.isEqualsSameValueZero(object[key], source[key])) {
19 object[key] = source[key];
20 }
21 }
22}
23
24exports.assignIn = assignIn;
Note: See TracBrowser for help on using the repository browser.