Как набрать полезные данные Fastify Reply? - PullRequest
0 голосов
/ 12 июля 2020
• 1000 У меня есть схема ответа для сериализации, работает, и этого может быть достаточно, но у меня есть объекты с внутренней типизацией (например, IUser), для которых было бы неплохо проверить Typecript.

Следующие отлично работает, но я бы хотел вернуть TUser, например, и иметь машинописный текст, если я верну что-то другое. Использование схемы просто исключает поля.

interface IUser {
    firstname: string,
    lastname: string
} // Not in use in example

interface IUserRequest extends RequestGenericInterface {
  Params: { username: string };
}

const getUserHandler = async (
  req: FastifyRequest<IUserRequest, RawServerBase, IncomingMessage | Http2ServerRequest>
) => {
  const { username } = req.params;
  return { ... }; // Would like to return instance of IUser
};


app.get<IUserRequest>('/:username', { schema }, helloWorldHandler);

Есть ли эквивалент RequestGenericInterface, который я могу расширить для ответа?

Небольшое обновление: кажется, что reply.send () можно использовать для добавления типа, но для самодокументирования было бы неплохо поставить T выше.

...