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を返す } }