rap-react
Version:
To make it easy for you to get started with GitLab, here's a list of recommended next steps.
48 lines (47 loc) • 1.35 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.cloneAny = void 0;
var _lodash = _interopRequireDefault(require("lodash"));
const cloneAny = original => {
let cloned = null;
if (Array.isArray(original)) {
cloned = cloneArray(original);
} else if (_lodash.default.isObject(original)) {
cloned = cloneObject(original);
} else {
cloned = original;
}
return cloned;
};
exports.cloneAny = cloneAny;
const cloneArray = originalArray => {
let clonedArray = [];
for (let c = 0; c < originalArray.length; c++) {
let arrValue = originalArray[c];
if (Array.isArray(arrValue)) {
clonedArray.push(cloneArray(arrValue));
} else if (_lodash.default.isObject(arrValue)) {
clonedArray.push(cloneObject(arrValue));
} else {
clonedArray.push(arrValue);
}
}
return clonedArray;
};
const cloneObject = originalObject => {
let clonedObject = {};
for (let prop in originalObject) {
let value = originalObject[prop];
if (Array.isArray(value)) {
clonedObject[prop] = cloneArray(value);
} else if (_lodash.default.isObject(value)) {
clonedObject[prop] = cloneObject(value);
} else {
clonedObject[prop] = value;
}
}
return clonedObject;
};
;