Скалярный тип Nullable для схемы GraphQL
Базовые скалярные типы не умеют обрабатывать Null значения для скаляров, даже если они объявлены без !
.
По сути для аргумента значение вида Int!
и Int
является однотипным, что не позволит передать null
в
качестве значения на сторону сервера.
Данный тип решает эту задачу и позволяет вам передавать в качестве значения для него Null
, Nil
или Undefined
,
что по сути будет являться установкой Nil
значения
Итоговое значение нельзя передать именно как <nil>
, поэтому значение передается строкой со значением nil
Установка
Для установки необходимо выполнить
go get bitbucket.org/graph-ql-schema/nullable
Использование
Для использования достаточно создать новый тип при помощи фабрики:
nullable.NewNullable(graphql.Int)
В качестве аргумента передается базовый скалярный тип, на основе которого будет построено значение.
Для получения базового типа достаточно использовать:
nType := nullable.NewNullable(graphql.Int)
nType.TypeOf()