Type! — non-null (поле/аргумент не может быть null); [Type] — список; комбинации вроде [Type!]! задают nullability списка и элементов.
Разбор
- Non-null ошибка в поле может обнулить родителя вверх по правилам GraphQL.
- Списки позволяют
null элементы, если нет ! на элементе.
- Nullability — часть контракта, менять осторожно.
- Клиенты TypeScript/codegen опираются на эти модификаторы.
Итог
! и списки фиксируют nullability и форму коллекций в контракте.