name: string }
                  
                  
                  
                  
                  
                  есть форма создания/редактирования сущности типа Х, которая предполагает, что если это новая сущность то id = null
                  
                  
                  
                  
                  
                  сущности без id улетают на сервер и больше нигде не фигурируют.
                  
                  
                   
                  
                  
                  поле id используется во многих местах, поэтому если сделать id: string | null, то придется ставить type assertion через !, во многих местах кода, это решение не элегантное.
                  
                  
                  
                  
                  
                  как лучше поступить? создать два типа на одну сущность?
                  
                  
                
type Creating<T extends {}> = Omit<T, 'id'> & { id: null } Creating<User> Creating<Order> ...
круто! спасибо большое
Обсуждают сегодня