import { getTime, getYear } from "date-fns"; import { IProject } from "../types/IProject"; import { SortedProject } from "../types/SortedProject"; function getSortedProjects(projects: IProject[]) { const sorted = [...projects].sort( (da, db) => getTime(db.releaseDate) - getTime(da.releaseDate) ); const sortedProject: SortedProject = new Map(); for (let i = 0; i < sorted.length; i++) { const project = sorted[i]; const projectYear = getYear(project.releaseDate); const key = project.stage !== 6 ? "В работе" : projectYear; if (sortedProject.has(key)) { const prevProjects = sortedProject.get(key) as IProject[]; const updatedProjects = [...prevProjects, project]; sortedProject.set(key, updatedProjects); } else { const createdProjects = [project]; sortedProject.set(key, createdProjects); } } return sortedProject; } export { getSortedProjects };