sangria-graphql/sangria

Schema transformation

开放

#418 创建于 2018年11月12日

 (4 条评论) (0 个反应) (0 位负责人)Scala (219 个派生)batch import
featurehelp wanted

仓库指标

星标
 (1,961 个星标)
PR 合并指标
 (平均合并 8天 15小时) (30 天内合并 4 个 PR)

描述

The idea is to provide an easy and convenient way to transform existing schema. Since all types are cross-referenced within the schema, the whole schema needs to be re-created in a similar way as in the AST materializer where it re-creates existing types with the help of the builder.

In this case a dedicated builder might be useful as a low-level implementation detail. But it also would be nice to have a high-level DSL. Here is just an idea of how it might look like:

val newSchema =
  schema
    .mapObjectType("Book", _.rename("Publication"))
    .mapOutputTypes(_.filterFileds(field ⇒ !field.tags.contains(Preview)))

贡献者指南