このコミットが含まれているのは:
2026-06-29 01:22:33 +09:00
コミット 80659a2b81
2個のファイルの変更78行の追加3行の削除
+25 -2
ファイルの表示
@@ -102,10 +102,33 @@ const compareTagName = (a: Tag, b: Tag): number =>
a.name === b.name ? 0 : (a.name < b.name ? -1 : 1)
const tagsByCategory = (tags: Tag[]): Partial<Record<Category, Tag[]>> => {
const grouped: Partial<Record<Category, Tag[]>> = { }
const flattenTags = (tags: Tag[]): Tag[] => {
const flattened: Tag[] = []
const seen = new Set<number> ()
const visit = (tag: Tag) => {
if (seen.has (tag.id))
return
seen.add (tag.id)
flattened.push (tag)
for (const child of tag.children ?? [])
visit (child)
}
for (const tag of tags)
visit (tag)
return flattened
}
const tagsByCategory = (tags: Tag[]): Partial<Record<Category, Tag[]>> => {
const flattenedTags = flattenTags (tags)
const grouped: Partial<Record<Category, Tag[]>> = { }
for (const tag of flattenedTags)
{
grouped[tag.category] ??= []
grouped[tag.category]!.push (tag)