UNPKG

transmutable

Version:

immutable objects that pretend to be mutable

17 lines (15 loc) 651 B
'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; module.exports = function copyDeep(value) { if (Array.isArray(value)) { return value.map(copyDeep); } if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'object') { var copy = {}; for (var k in value) { copy[k] = copyDeep(value[k]); } return copy; } return value; };