параметр, для необходимости его вывода? К примеру так:
interface info {
authInfo: {
id: number
},
register: string
}
interface infoParams {
authInfoEnabled?: boolean
}
const infoFunc => () => fetch("url")
Типо указывая этот параметр как false в интерфейсе info authInfo содержаться не будет, но по умолчанию он будет true, и будет выводится
Что?
Типо если authInfoEnabled помечен как false , в интерфейсе содержаться authInfo не будет
https://basarat.gitbook.io/typescript/type-system/discriminated-unions
Я имею ввиду, если к примеру, я указал authInfoEnabled: false объект authInfo будет недоступен
Пример приведи. Из твоих слов не понятно, чего ты хочешь
Окей: Есть интерфейс который возвращает мне функция: interface info { authInfo: { id: number }, register: string } Так же есть еще один интерфейс, для заполнения параметров функции: interface infoParams { authInfoEnabled?: boolean } Так же сама функция: const infoFunc = (params: infoParams) => fetch("url", params) as info infoFunc({ authInfoEnabled: false }) Как мне можно сделать так, если я указал authInfoEnabled как false , интерфейс мне попросту не показывал подсказки с authInfo
Если честно, я тоже не совсем понял, что именно вам нужно. Накидал вот пример, как понял... может, подойдёт: type Info = { authInfo: { id: number }, register: string } declare function infoFunc<T extends boolean>(authInfoEnabled: T): T extends true ? Info : Omit<Info, 'authInfo'> infoFunc(false) // function infoFunc<false>(authInfoEnabled: false): Omit<Info, "authInfo"> infoFunc(true) // function infoFunc<true>(authInfoEnabled: true): Info
Хорошо, щас попробую
Обсуждают сегодня