TS.
Сейчас есть задача: сделать невозможным написание атрибута iconDirection и iconVariant, если атрибут icon не прилетел. То есть зависимость одного от другого.
Вопрос: куда копать, что почитать, как загуглить это правильно?
type Props<Tag extends HTMLTag> = Polymorphic<{
as: Tag
size?: TCommonSizes
variant?: TVariants
icon?: TIconName
iconVariant?: TIconVariant // if has an icon
iconDirection?: TIconDirectionLRO // if has an icon
}>
а как выбрать подсветку синтаксиса в код сниппетах?
Вы имеете ввиду как вот это сделать?
Не уверен, но может поможет: ts type Props<Tag extends HTMLTag> = Polymorphic<{ as: Tag size?: TCommonSizes variant?: TVariants icon: TIconName iconVariant: TIconVariant // if has an icon iconDirection: TIconDirectionLRO // if has an icon } | { as: Tag size?: TCommonSizes variant?: TVariants icon: undefined }>
Не совсем то. Вроде как нужно просто исключающее "или". Сейчас посмотрю код в песочнице, но неужели нет простого оператора под это?
Ну можно еще так: ts type Base = { as: Tag size?: TCommonSizes variant?: TVariants } type Additional = { icon: TIconName iconVariant: TIconVariant iconDirection: TIconDirectionLRO } type Props<Tag extends HTMLTag> = Polymorphic<Base | (Base & Additional)>
Обсуждают сегодня