/
lostSun
/
project-client-server-apps
Обзор
Документация
Войти
/
lostSun
/
project-client-server-apps
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/@bcoe/v8-coverage/src/lib/clone.ts
70 строк
2 KB
1lostsun
initial commit
05 май 2025, 11:35
05 май 2025, 11:35
fe8f535
Код
Авторство
О чём код?
import { FunctionCov, ProcessCov, RangeCov, ScriptCov } from "./types"; /** * Creates a deep copy of a process coverage. * * @param processCov Process coverage to clone. * @return Cloned process coverage. */ export function cloneProcessCov(processCov: Readonly<ProcessCov>): ProcessCov { const result: ScriptCov[] = []; 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. */ 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, }; } /** * Creates a deep copy of a function coverage. * * @param functionCov Function coverage to clone. * @return Cloned function coverage. */ 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, }; } /** * Creates a deep copy of a function coverage. * * @param rangeCov Range coverage to clone. * @return Cloned range coverage. */ export function cloneRangeCov(rangeCov: Readonly<RangeCov>): RangeCov { return { startOffset: rangeCov.startOffset, endOffset: rangeCov.endOffset, count: rangeCov.count, }; }