blob: 56eeb1c1f1fff9c0d1cac10682b7dbddad4d6dc4 [file] [log] [blame]
Leo Repp58b9f112021-11-22 11:57:47 +01001'use strict';
2
3var GetIntrinsic = require('get-intrinsic');
4
5var has = require('has');
6
7var $assign = GetIntrinsic('%Object%').assign;
8
9module.exports = function assign(target, source) {
10 if ($assign) {
11 return $assign(target, source);
12 }
13
14 // eslint-disable-next-line no-restricted-syntax
15 for (var key in source) {
16 if (has(source, key)) {
17 // eslint-disable-next-line no-param-reassign
18 target[key] = source[key];
19 }
20 }
21 return target;
22};