• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IgniteUI / igniteui-angular / 13527319862

pending completion
13527319862

Pull #14864

github

web-flow
Merge e6435f9b6 into bde20945a
Pull Request #14864: refactor(*): switch to control flow blocks

13329 of 15596 branches covered (85.46%)

26883 of 29333 relevant lines covered (91.65%)

33701.2 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

50.0
/projects/igniteui-angular/src/lib/data-operations/data-clone-strategy.ts
1
import { cloneValue, cloneValueCached } from "../core/utils";
2

3
export interface IDataCloneStrategy {
4
    /**
5
     * Clones provided data
6
     * @param data primitive value, date and object to be cloned
7
     * @returns deep copy of provided value
8
     */
9
    clone(data: any): any;
10
}
11

12
/**
13
 * Simplified data clone strategy that deep clones primitive values, dates and objects.
14
 * Does not support circular references in objects.
15
 */
16
export class DefaultDataCloneStrategy implements IDataCloneStrategy {
17
    public clone(data: any): any {
18
        return cloneValue(data);
73,314✔
19
    }
20
}
21

22
/**
23
 * Data clone strategy that is uses cache to deep clone primitive values, dates and objects.
24
 * It allows using circular references inside object.
25
 */
26
export class CachedDataCloneStrategy implements IDataCloneStrategy {
27
    public clone(data: any): any {
28
        return cloneValueCached(data, new Map<any, any>);
×
29
    }
30
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc