Пользовательский скалярный тип GraphQL для структуры HTML - PullRequest
0 голосов
/ 30 января 2019

Во время своей блестящей презентации о масштабировании GraphQL Линн Шаптон продемонстрировала некоторые лучшие практики.

Одним из наиболее привлекательных для меня был пользовательский скалярный тип для структуры HTML.На видео это [10:16]

Она предложила использовать пользовательский HTML вместо простого String.enter image description here

Хотелось бы, чтобы вы продемонстрировали свою реализацию этого скаляра или как вы справляетесь с этими случаями, поскольку я использую только String для любой структуры HTML, которая не кажетсячтобы быть идеальным способом.

Я спрашиваю не для создания скалярных типов или общей информации, что это скалярный тип и так далее.Хотите знать, если кто-то уже имеет обработку HTML, и есть ли у кого-нибудь какие-либо рабочие решения

1 Ответ

0 голосов
/ 31 января 2019

На чистом уровне GraphQL единственное, что вы можете (и должны) сделать, это включить определение для скалярного типа :

scalar HTML

Как только вы это сделаете, вы можетеиспользуйте его как тип, как показано на приведенном вами слайде.В запросах и результатах это будет выглядеть как некое скалярное (строковое или числовое) значение.

Различные серверные и клиентские библиотеки по-разному справляются с этим;может быть универсальный способ сопоставления определенного скалярного типа GraphQL с объектом на родном языке.В graphql-js объект GraphQLScalarType принимает функции parseValue и serialize, например, для преобразования между двумя представлениями.Если вы просто используете пользовательский скалярный тип в качестве теговой строки, это могут быть очень простые функции.

...