|
|
import { FunctionCov, ProcessCov, RangeCov, ScriptCov } from "./types"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export function cloneProcessCov(processCov: Readonly<ProcessCov>): ProcessCov { |
|
|
const result: ScriptCov[] = []; |
|
|
for (const scriptCov of processCov.result) { |
|
|
result.push(cloneScriptCov(scriptCov)); |
|
|
} |
|
|
|
|
|
return { |
|
|
result, |
|
|
}; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export function cloneScriptCov(scriptCov: Readonly<ScriptCov>): ScriptCov { |
|
|
const functions: FunctionCov[] = []; |
|
|
for (const functionCov of scriptCov.functions) { |
|
|
functions.push(cloneFunctionCov(functionCov)); |
|
|
} |
|
|
|
|
|
return { |
|
|
scriptId: scriptCov.scriptId, |
|
|
url: scriptCov.url, |
|
|
functions, |
|
|
}; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export function cloneFunctionCov(functionCov: Readonly<FunctionCov>): FunctionCov { |
|
|
const ranges: RangeCov[] = []; |
|
|
for (const rangeCov of functionCov.ranges) { |
|
|
ranges.push(cloneRangeCov(rangeCov)); |
|
|
} |
|
|
|
|
|
return { |
|
|
functionName: functionCov.functionName, |
|
|
ranges, |
|
|
isBlockCoverage: functionCov.isBlockCoverage, |
|
|
}; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export function cloneRangeCov(rangeCov: Readonly<RangeCov>): RangeCov { |
|
|
return { |
|
|
startOffset: rangeCov.startOffset, |
|
|
endOffset: rangeCov.endOffset, |
|
|
count: rangeCov.count, |
|
|
}; |
|
|
} |
|
|
|