@webdev-tools/ng-nested-reactive-forms
Version:
Implement Nested FormControl for Angular Reactive Forms.
16 lines • 1.94 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((props, key) => {
props[key] = cloneDeep(target[key]);
return props;
}, {});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUtZGVlcC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B3ZWJkZXYtdG9vbHMvbmctbmVzdGVkLXJlYWN0aXZlLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL2Nsb25lLWRlZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFNBQVMsQ0FBQyxNQUFtQjtJQUMzQyxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUN6QyxPQUFPLE1BQU0sQ0FBQztLQUNmO0lBRUQsSUFBSSxNQUFNLFlBQVksSUFBSSxFQUFFO1FBQzFCLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDekI7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDekIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQzlCO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FDL0IsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDYixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxFQUNELEVBQUUsQ0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBjbG9uZURlZXAodGFyZ2V0OiBhbnkgfCBhbnlbXSk6IGFueSB7XG4gIGlmICghdGFyZ2V0IHx8IHR5cGVvZiB0YXJnZXQgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfVxuXG4gIGlmICh0YXJnZXQgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHRhcmdldCk7XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheSh0YXJnZXQpKSB7XG4gICAgcmV0dXJuIHRhcmdldC5tYXAoY2xvbmVEZWVwKTtcbiAgfVxuXG4gIHJldHVybiBPYmplY3Qua2V5cyh0YXJnZXQpLnJlZHVjZShcbiAgICAocHJvcHMsIGtleSkgPT4ge1xuICAgICAgcHJvcHNba2V5XSA9IGNsb25lRGVlcCh0YXJnZXRba2V5XSk7XG4gICAgICByZXR1cm4gcHJvcHM7XG4gICAgfSxcbiAgICB7fSxcbiAgKTtcbn1cbiJdfQ==