source: node_modules/es-toolkit/dist/compat/object/assign.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: 702 bytes
RevLine 
[a762898]1'use strict';
2
3Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
5const keys = require('./keys.js');
6const isEqualsSameValueZero = require('../../_internal/isEqualsSameValueZero.js');
7
8function assign(object, ...sources) {
9 for (let i = 0; i < sources.length; i++) {
10 assignImpl(object, sources[i]);
11 }
12 return object;
13}
14function assignImpl(object, source) {
15 const keys$1 = keys.keys(source);
16 for (let i = 0; i < keys$1.length; i++) {
17 const key = keys$1[i];
18 if (!(key in object) || !isEqualsSameValueZero.isEqualsSameValueZero(object[key], source[key])) {
19 object[key] = source[key];
20 }
21 }
22}
23
24exports.assign = assign;
Note: See TracBrowser for help on using the repository browser.