#objectとnullのUnion型のプロパティの型からnullを削除する

TypeScriptでobjectとnullのUnion型のプロパティからobjectのプロパティの型を抽出するには、 下記のようにNonNullableを使います。

type Bar = {
  baz: string
}

type Foo = {
  bar?: Bar | null | undefined
}

type T = NonNullable<Foo['bar']>['baz']

// type T = string