前提
CMSのデータをNext.js+TypeScriptで管理していたときに遭遇
ブログ記事、カテゴリ、タグと3つの型がある
カテゴリとタグはブログ記事の情報に含まれるため、使い回したい
コード
※カテゴリは単一、タグは複数
index.ts
export type blog = {
id: string,
createdAt: string,
updatedAt: string,
publishedAt: string,
revisedAt: string,
title: string,
body: string,
category: category, // categoryを使い回し
tag: tag[], // tagを使い回し
}
export type category = {
id: string,
createdAt: string,
updatedAt: string,
publishedAt: string,
revisedAt: string,
name: string,
}
export type tag = {
id: string,
createdAt: string,
updatedAt: string,
publishedAt: string,
revisedAt: string,
name: string,
}