cloneDeep.js 442 B

12345678910111213141516171819
  1. var isObj = require('./isObj');
  2. var isFn = require('./isFn');
  3. var isArr = require('./isArr');
  4. var mapObj = require('./mapObj');
  5. exports = function(obj) {
  6. if (isArr(obj)) {
  7. return obj.map(function(val) {
  8. return exports(val);
  9. });
  10. }
  11. if (isObj(obj) && !isFn(obj)) {
  12. return mapObj(obj, function(val) {
  13. return exports(val);
  14. });
  15. }
  16. return obj;
  17. };
  18. module.exports = exports;