@webdev-tools/ng-nested-reactive-forms
Version:
Implement Nested FormControl for Angular Reactive Forms.
16 lines • 1.93 kB
JavaScript
export function cloneDeep(target) {
if (!target || typeof target !== 'object') {
return target;
}
if (target instanceof Date) {
return new Date(target);
}
if (Array.isArray(target)) {
return target.map(cloneDeep);
}
return Object.keys(target).reduce(function (props, key) {
props[key] = cloneDeep(target[key]);
return props;
}, {});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUtZGVlcC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B3ZWJkZXYtdG9vbHMvbmctbmVzdGVkLXJlYWN0aXZlLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL2Nsb25lLWRlZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFNBQVMsQ0FBQyxNQUFtQjtJQUMzQyxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUN6QyxPQUFPLE1BQU0sQ0FBQztLQUNmO0lBRUQsSUFBSSxNQUFNLFlBQVksSUFBSSxFQUFFO1FBQzFCLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDekI7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDekIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQzlCO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FDL0IsVUFBQyxLQUFLLEVBQUUsR0FBRztRQUNULEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLEVBQ0QsRUFBRSxDQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGNsb25lRGVlcCh0YXJnZXQ6IGFueSB8IGFueVtdKTogYW55IHtcbiAgaWYgKCF0YXJnZXQgfHwgdHlwZW9mIHRhcmdldCAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbiAgaWYgKHRhcmdldCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICByZXR1cm4gbmV3IERhdGUodGFyZ2V0KTtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHRhcmdldCkpIHtcbiAgICByZXR1cm4gdGFyZ2V0Lm1hcChjbG9uZURlZXApO1xuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKHRhcmdldCkucmVkdWNlKFxuICAgIChwcm9wcywga2V5KSA9PiB7XG4gICAgICBwcm9wc1trZXldID0gY2xvbmVEZWVwKHRhcmdldFtrZXldKTtcbiAgICAgIHJldHVybiBwcm9wcztcbiAgICB9LFxuICAgIHt9LFxuICApO1xufVxuIl19