придумать базовых интерфейсов для системы типов gql.
Ну типа есть вот такое:
directive @test on OBJECT
type Example @test
Придумался такой нейминг (в упрощённом виде):
interface XXXX
interface Definition extends XXXX
interface ObjectTypeDefinition extends Definition // для дефайна Example
interface DirectiveDefinition extends Definition // для дефайна @test
interface Execution extends XXXX
interface DirectiveExecution extends Execution // для вызова @test на объекте
Если смотреть на сырцы компиля GQL, то там в принципе определения вызовов не являются системой типов, так что там GraphQLDefinition является базовым типом для всех определений (т.е. если выкинуть из примера последние 2 строчки с "Execution", то всё будет идентично).
В моём случае ещё есть инфа о вызовах этих определений, поэтому и приходится выдумывать ещё один слой.
Вот я и хз как назвать этот XXXX, может будут идеи какие?
Кажись вопрос решился. В теории можно как раз создать дефинишн базовый от которого и будут наследоваться все определения. Получается вполне себе понятная схема
Обсуждают сегодня