如何在GraphQL Nexus中定义数组中的非空元素?

如何在GraphQL Nexus中定义数组中的非空元素?,graphql,nexus,Graphql,Nexus,我正在使用GraphQL Nexus实现我的GraphQL模式 我要创建的目标GraphQL类型如下: input UserCreateInput { email: String! name: String posts: [PostCreateInput!]! } 但是,我不确定如何创建PostCreateInput数组,以便posts的元素也是必需的 这就是我现在所拥有的: input UserCreateInput { email: String! name: Stri

我正在使用GraphQL Nexus实现我的GraphQL模式

我要创建的目标GraphQL类型如下:

input UserCreateInput {
  email: String!
  name: String
  posts: [PostCreateInput!]!
}
但是,我不确定如何创建
PostCreateInput
数组,以便
posts
的元素也是必需的

这就是我现在所拥有的:

input UserCreateInput {
  email: String!
  name: String
  posts: [PostCreateInput]!
}
由以下Nexus类型定义支持:

const UserCreateInput = inputObjectType({
  name: 'UserCreateInput',
  definition(t) {
    t.nonNull.string('email')
    t.string('name')
    t.nonNull.list.field('posts', {
      type: 'PostCreateInput',
    })
  },
})

有没有办法告诉Nexus每个数组元素都应该是非空的?

在这种情况下,在
列表之后添加一个
非空的
就足够了。因此,类似于以下内容:

const UserCreateInput = inputObjectType({
  name: 'UserCreateInput',
  definition(t) {
    t.nonNull.string('email')
    t.string('name')
    t.nonNull.list.nonNull.field('posts', {
      type: 'PostCreateInput',
    })
  },
})