@abaplint/runtime
Version:
Transpiler - Runtime
28 lines • 740 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.clone = clone;
function clone(obj) {
// @ts-ignore
return obj.clone();
// @ts-ignore
if (obj.clone) {
// @ts-ignore
return obj.clone();
}
// @ts-ignore
const copy = new obj.constructor();
for (const attr in obj) {
// @ts-ignore
// eslint-disable-next-line no-prototype-builtins
if (obj.hasOwnProperty(attr)) {
if ("object" !== typeof obj[attr] || obj[attr] === null) {
copy[attr] = obj[attr];
}
else {
copy[attr] = clone(obj[attr]);
}
}
}
return copy;
}
//# sourceMappingURL=clone.js.map