返回 oh-my-ppt
preview-window-utils.ts
根目录 / src / renderer / src / components / session-detail / hooks / preview-window-utils.ts
1 export interface PreviewWindowCandidate {
2 id: string
3 distance: number
4 }
5
6 export function selectPreviewWindowIds(
7 candidates: PreviewWindowCandidate[],
8 limit: number
9 ): Set<string> {
10 if (limit <= 0) return new Set()
11
12 return new Set(
13 candidates
14 .filter((candidate) => candidate.id && Number.isFinite(candidate.distance))
15 .sort((a, b) => a.distance - b.distance)
16 .slice(0, limit)
17 .map((candidate) => candidate.id)
18 )
19 }
20
20 lines TYPESCRIPT