如何为现有的graphql-schema创建动态文档?

问题描述 投票:1回答:1

我们想为现有的graphql-schema创建一个文档文件(然后我们将其包含在我们的应用程序中)。现在我们导出一个schema.graphql,然后使用graphql-markdown创建一个.md文件。

我们希望实现的是,创建的文档可能会忽略某些对象或属性,可能与已弃用的字段类似。最终的文档文件现在应该只包括未标记为要忽略的对象。

我们怎么能这样做?

我搜索过现有的解决方案或文档软件,如Swagger。

graphql
1个回答
0
投票

您可以使用某些任意字符串为要排除的类型和字段添加前缀,例如@Hidden。然后只需分叉graphql-markdown并修改它以排除那些对象和字段here

function isIgnored(typeOrField) {
  return typeOrField.description.startsWith('@Hidden')
}

const objects = types.filter(type => {
  return type.kind === 'OBJECT' && type !== query && type !== mutation && !isIgnored(type)
})

here

const fields = (isInputObject ? type.inputFields : type.fields)
  .filter(field => !isIgnored(field))
© www.soinside.com 2019 - 2024. All rights reserved.