Spaces:
Sleeping
Sleeping
| /** | |
| * Creates a deep copy of a process coverage. | |
| * | |
| * @param processCov Process coverage to clone. | |
| * @return Cloned process coverage. | |
| */ | |
| function cloneProcessCov(processCov) { | |
| const result = []; | |
| for (const scriptCov of processCov.result) { | |
| result.push(cloneScriptCov(scriptCov)); | |
| } | |
| return { | |
| result, | |
| }; | |
| } | |
| /** | |
| * Creates a deep copy of a script coverage. | |
| * | |
| * @param scriptCov Script coverage to clone. | |
| * @return Cloned script coverage. | |
| */ | |
| function cloneScriptCov(scriptCov) { | |
| const functions = []; | |
| for (const functionCov of scriptCov.functions) { | |
| functions.push(cloneFunctionCov(functionCov)); | |
| } | |
| return { | |
| scriptId: scriptCov.scriptId, | |
| url: scriptCov.url, | |
| functions, | |
| }; | |
| } | |
| /** | |
| * Creates a deep copy of a function coverage. | |
| * | |
| * @param functionCov Function coverage to clone. | |
| * @return Cloned function coverage. | |
| */ | |
| function cloneFunctionCov(functionCov) { | |
| const ranges = []; | |
| for (const rangeCov of functionCov.ranges) { | |
| ranges.push(cloneRangeCov(rangeCov)); | |
| } | |
| return { | |
| functionName: functionCov.functionName, | |
| ranges, | |
| isBlockCoverage: functionCov.isBlockCoverage, | |
| }; | |
| } | |
| /** | |
| * Creates a deep copy of a function coverage. | |
| * | |
| * @param rangeCov Range coverage to clone. | |
| * @return Cloned range coverage. | |
| */ | |
| function cloneRangeCov(rangeCov) { | |
| return { | |
| startOffset: rangeCov.startOffset, | |
| endOffset: rangeCov.endOffset, | |
| count: rangeCov.count, | |
| }; | |
| } | |
| module.exports = { | |
| cloneProcessCov, | |
| cloneScriptCov, | |
| cloneFunctionCov, | |
| cloneRangeCov, | |
| }; | |