export class InsightsPresenter {
    present(data) {
        const { developerInsights, teamInsight } = data;
        const sortedDevelopers = [...developerInsights].sort((a, b) => b.overallLevel - a.overallLevel);
        return {
            isEmpty: developerInsights.length === 0,
            developers: sortedDevelopers.map((insight) => this.presentDeveloper(insight)),
            team: this.presentTeam(teamInsight),
        };
    }
    presentDeveloper(insight) {
        return {
            developerName: insight.developerName,
            title: insight.title,
            overallLevel: insight.overallLevel,
            categoryLevels: insight.categoryLevels,
            strengths: insight.strengths,
            weaknesses: insight.weaknesses,
            topPriority: insight.topPriority,
            reviewCount: insight.reviewCount,
            metrics: insight.metrics,
            insightDescriptions: insight.insightDescriptions,
        };
    }
    presentTeam(teamInsight) {
        return {
            developerCount: teamInsight.developerCount,
            totalReviewCount: teamInsight.totalReviewCount,
            averageLevels: teamInsight.averageLevels,
            strengths: teamInsight.strengths,
            weaknesses: teamInsight.weaknesses,
            tips: teamInsight.tips,
        };
    }
}
//# sourceMappingURL=insights.presenter.js.map