UNPKG

deepsource-mcp-server

Version:
60 lines (59 loc) 1.97 kB
/** * @fileoverview AnalysisRun mapper * * Maps between DeepSource API models and domain AnalysisRun aggregates. */ import { AnalysisRun } from '../../domain/aggregates/analysis-run/analysis-run.aggregate.js'; import { DeepSourceRun } from '../../models/runs.js'; import { CommitInfo, RunSummary, RunStatus } from '../../domain/aggregates/analysis-run/analysis-run.types.js'; /** * Maps a DeepSource API run to a domain AnalysisRun aggregate * * @param apiRun - The API run model * @param projectKey - The project key (not available in API response) * @returns The domain AnalysisRun aggregate */ export declare function mapAnalysisRunToDomain(apiRun: DeepSourceRun, projectKey: string): AnalysisRun; /** * Maps a domain AnalysisRun aggregate to persistence format * * @param run - The domain AnalysisRun aggregate * @returns The persistence model */ export declare function mapAnalysisRunToPersistence(run: AnalysisRun): { runId: string; projectKey: string; repositoryId: string; commitInfo: CommitInfo; status: RunStatus; timestamps: { createdAt: Date; startedAt?: Date; finishedAt?: Date; }; summary?: RunSummary; issues: Array<{ id: string; issueCode: string; analyzerShortcode: string; category: string; severity: string; message: string; path: string; line?: number; column?: number; }>; }; /** * Maps multiple API runs to domain aggregates * * @param apiRuns - Array of API run models * @param projectKey - The project key for all runs * @returns Array of domain AnalysisRun aggregates */ export declare function mapAnalysisRunsToDomainList(apiRuns: DeepSourceRun[], projectKey: string): AnalysisRun[]; export declare const AnalysisRunMapper: { toDomain: typeof mapAnalysisRunToDomain; toPersistence: typeof mapAnalysisRunToPersistence; toDomainList: typeof mapAnalysisRunsToDomainList; };