у нее есть много items, которые делают leftJoin.
                  
                  
                  И вот проблема нужно написать проверку на items, чтобы свойство items в order было не undefined и это был наполненный массив.
                  
                  
                  
                  
                  
                  Вопрос, можно как-нибудь обойтись без создания IOrderWithItems, который наследуется от IOrder, чтобы перегрузить опциональное свойство?
                  
                  
                  interface IOrder {
                  
                  
                    prop1: string;
                  
                  
                    prop2: string;
                  
                  
                    items?: object[];
                  
                  
                  }
                  
                  
                  interface IOrderWithItems extends IOrder {
                  
                  
                    items: object[];
                  
                  
                  }
                  
                  
                  
                  
                  
                  class Order {
                  
                  
                    public prop1: string;
                  
                  
                    public prop2: string;
                  
                  
                    public items?: { type: string} [];
                  
                  
                  }
                  
                  
                  
                  
                  
                  class OrderSpec {
                  
                  
                    public hasItems(order: Order): order is IOrderWithItems {
                  
                  
                      return order.items !== undefined && order.items.length > 0;
                  
                  
                    }
                  
                  
                  }
                  
                  
                  
                  
                  
                  
                  
                  
                  const order: Order = {
                  
                  
                    prop1: '',
                  
                  
                    prop2: '',
                  
                  
                  };
                  
                  
                  if (!orderSpec.hasItems(order)) {
                  
                  
                    return;
                  
                  
                  }
                  
                  
                  order.items[0].type = '  <---- здесь ошибки в компиляции не будет';
                  
                  
                
cделать дженерик? https://bit.ly/37gGAQP
Omit + &
Обсуждают сегодня