- Published on
Ts forçando um tipo ou outro
- Author
- Name
- Igor Cangussu
- @Goduu_
Ao fazer um tipo | outro, estamos forçando que essa ou aquela propriedade seja obrigatória em um tipo, mas não no outro.
export type FormConfirmationProps<V extends FormValues> = {
requireConfirmation: true
onConfirm: OnConfirmForm<V>
onSubmit?: never
}
export type FormNoConfirmationProps<V extends FormValues> = {
requireConfirmation?: never
onConfirm?: never
onSubmit: OnSubmitForm<V>
}
export type FormProviderProps<V extends FormValues> = {
...
} & (FormConfirmationProps<V> | FormNoConfirmationProps<V>)