import { FastifyRequest } from 'fastify';
// 'value'が'string'型かどうかをチェックする型ガード関数を定義する
function isUserIdString(value: unknown): value is string {
return typeof value === 'string';
}
// FastifyRequest型の引数を受け取り、userIdプロパティの値をstring型で返す関数を定義する
function getUserId(request: FastifyRequest): string | undefined {
const query = request.query; // request.queryを変数'query'に代入する
if (isUserIdString(query.userId)) { // query.userIdがstring型かどうかをチェックする
return query.userId; // string型ならquery.userIdを返す
} else {
return undefined; // string型でない場合はundefinedを返す
}
}