simple-squiggle

A restricted subset of Squiggle
Log | Files | Refs | README

objectSpread2.js (978B)


      1 import defineProperty from "./defineProperty.js";
      2 
      3 function ownKeys(object, enumerableOnly) {
      4   var keys = Object.keys(object);
      5 
      6   if (Object.getOwnPropertySymbols) {
      7     var symbols = Object.getOwnPropertySymbols(object);
      8     enumerableOnly && (symbols = symbols.filter(function (sym) {
      9       return Object.getOwnPropertyDescriptor(object, sym).enumerable;
     10     })), keys.push.apply(keys, symbols);
     11   }
     12 
     13   return keys;
     14 }
     15 
     16 export default function _objectSpread2(target) {
     17   for (var i = 1; i < arguments.length; i++) {
     18     var source = null != arguments[i] ? arguments[i] : {};
     19     i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
     20       defineProperty(target, key, source[key]);
     21     }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
     22       Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
     23     });
     24   }
     25 
     26   return target;
     27 }