sussy-util
Version:
Util package made by me
25 lines (24 loc) • 675 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const IsSomething_1 = __importDefault(require("../Classes/IsSomething"));
/**
* Recursively clones an object or array.
*
* @template T
*/
const clone = (obj) => {
if (Array.isArray(obj))
return obj.map(clone);
if (IsSomething_1.default.isObject(obj)) {
const _clone = {};
for (const key in obj) {
_clone[key] = clone(obj[key]);
}
return _clone;
}
return obj;
};
exports.default = clone;