UNPKG

wilderness-core

Version:
37 lines (30 loc) 885 B
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; }; /** * A naive, but small, clone function. * * @param {*} value * * @returns {*} * * @example * clone('hello world') */ var clone = function clone(value) { if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object') { return value; } else if (Array.isArray(value)) { var arr = []; for (var i = 0, l = value.length; i < l; i++) { arr.push(clone(value[i])); } return arr; } else if (value !== null) { var obj = {}; for (var key in value) { obj[key] = clone(value[key]); } return obj; } return value; }; export default clone;