Я пытаюсь присвоить свойству тип, сгенерированный инструментом graphql-codegen
. Тип, который я пытаюсь назначить, является вложенным типом. Учитывая следующий тип:
type SomeType = {
someKey: Maybe<
{ __typename?: "OtherType" | undefined } &
{ someNestedKey: ({ __typename?: "AnotherType" | undefined } & Pick<AnotherType, "prop1" | "prop2">)[] }
>
}
Мне нужно сделать:
myProperty: SomeType['someKey']['someNestedKey'] = []
Однако проблема, с которой я сталкиваюсь, заключается в том, что тип someKey
является Maybe
type, поэтому Typescript жалуется на то, что у типа <Maybe { __typename?: "OtherType" | ...} & { someNestedKey: (...)[] }>
(то есть типа someKey
) нет свойства someNestedKey
.
В Typescript вы можете использовать метод !
, чтобы указать, что вы точно знаете, что значение свойства типа, объединенного с undefined
и / или null
, действительно , существуют в этом случае. Есть ли способ сделать что-то подобное при назначении типа?
Поскольку я использую инструмент graphql-codegen
, я не могу контролировать эти типы.