'use strict';

Object.defineProperty(exports, '__esModule', { value: true });

var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');

// Blazing-fast хелпер для глубокого копирования объектов.
// Ссылки на функции (React-компоненты) сохраняются.
var deepCopy = function deepCopy(obj) {
  if (obj === null || _rollupPluginBabelHelpers.typeof(obj) !== 'object') {
    return obj;
  }
  if (Array.isArray(obj)) {
    return obj.map(function (item) {
      return deepCopy(item);
    });
  }
  if (obj.$$typeof === Symbol["for"]('react.element') || obj.$$typeof === Symbol["for"]('react.fragment') || _rollupPluginBabelHelpers.typeof(obj === null || obj === void 0 ? void 0 : obj.$$typeof) === 'symbol') {
    return obj;
  }
  return Object.fromEntries(Object.entries(obj).map(function (_ref) {
    var _ref2 = _rollupPluginBabelHelpers.slicedToArray(_ref, 2),
      key = _ref2[0],
      value = _ref2[1];
    return [key, deepCopy(value)];
  }));
};

exports.deepCopy = deepCopy;
