feat(版本详情): 优化任务统计与测试轮次

This commit is contained in:
Script Generator
2026-06-26 15:12:24 +08:00
parent 914e6180c1
commit 2d802318fa
16 changed files with 631 additions and 65 deletions

View File

@@ -0,0 +1,20 @@
export function orderByRequirementForGrouping<T>(
items: readonly T[],
requirementIds: readonly string[],
getRequirementId: (item: T) => string | undefined,
): T[] {
const rankByRequirement = new Map(requirementIds.map((id, index) => [id, index]));
const trailingRank = requirementIds.length;
return [...items]
.map((item, index) => {
const requirementId = getRequirementId(item);
return {
item,
index,
rank: requirementId ? (rankByRequirement.get(requirementId) ?? trailingRank) : trailingRank,
};
})
.sort((a, b) => a.rank - b.rank || a.index - b.index)
.map(({ item }) => item);
}