мне надо написать в своих файлах, чтобы "заоверрайдить/смержить" типы?
когда-то в другой либке делал что-то типа
declate module 'some-lib/some-string' {
interface MyInterface {
additinalField: number
}
}
тут как-то также можно?
type MyType = FastifySchema & {hellow: ‘world’} токо так
не то это вендорный интерфейс и мне надо добавить именно в него поле локально он не доступен (только через костыль, который я делать не хочу)
extends? https://www.typescriptlang.org/docs/handbook/interfaces.html#interfaces-extending-classes
спасибо, я знаю азы typescript я говорю про что-то такое https://github.com/vuejs/vue-cli/issues/1198#issuecomment-385340314
Скорее всего ты не можешь изменить что-то чужое, ты можешь создать свою прослойку Но может кто-то знает решение, я точно нет )
Именно так, это называется module augmentation. Не знаю насчёт оверрайда, но расширить интерфейс сторонней типизированной либы таким способом точно можно. Единственное ограничение - если интерфейс дженерик, то расширять его можно только с такой же дженерик сигнатурой
да. я уж в {root}/src/types/fastify/index.ts положил + настройка в tsconfig
Обсуждают сегодня