Typescript linter вызывает при отображении «возможно объект неопределен», когда объект уже был проверен фильтром - PullRequest
0 голосов
/ 08 ноября 2018

Учитывая этот кусок кода:

interface IProperty {
  property?: string
}

interface IEl {
  properties?: IProperty
}

const els = [
  { properties: { property: 'string' } }
]

const result = els
  .filter((e: IEl) => e.properties && e.properties.property)
  .map((e: IEl) => e.properties.property)

Мой tslint (5.11.0) выдает ошибку: "Object possibly undefined" на e.properties. Что, честно говоря, правда, принимая во внимание интерфейсы. Однако, поскольку я уже отфильтровал все e, у которых нет вложенного свойства properties.property, эта ошибка слишком строгая. Есть ли способ обойти это?

...