objectSpread.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. var _forEachInstanceProperty = require("../core-js/instance/for-each");
  2. var _Object$getOwnPropertyDescriptor = require("../core-js/object/get-own-property-descriptor");
  3. var _filterInstanceProperty = require("../core-js/instance/filter");
  4. var _concatInstanceProperty = require("../core-js/instance/concat");
  5. var _Object$getOwnPropertySymbols = require("../core-js/object/get-own-property-symbols");
  6. var _Object$keys = require("../core-js/object/keys");
  7. var defineProperty = require("./defineProperty");
  8. function _objectSpread(target) {
  9. for (var i = 1; i < arguments.length; i++) {
  10. var source = arguments[i] != null ? Object(arguments[i]) : {};
  11. var ownKeys = _Object$keys(source);
  12. if (typeof _Object$getOwnPropertySymbols === 'function') {
  13. var _context;
  14. ownKeys = _concatInstanceProperty(ownKeys).call(ownKeys, _filterInstanceProperty(_context = _Object$getOwnPropertySymbols(source)).call(_context, function (sym) {
  15. return _Object$getOwnPropertyDescriptor(source, sym).enumerable;
  16. }));
  17. }
  18. _forEachInstanceProperty(ownKeys).call(ownKeys, function (key) {
  19. defineProperty(target, key, source[key]);
  20. });
  21. }
  22. return target;
  23. }
  24. module.exports = _objectSpread;