I want to create a graphql type that can return either an Array of Integers or String.
I've already tried using union in the form union CustomVal = [Int] | String, but this returns an error.
The schema declaration is:
union CustomValues = [Int] | String type Data { name: String slug: String selected: Boolean values: CustomValues } The error is:
node_modules/graphql/error/syntaxError.js:24 return new _GraphQLError.GraphQLError('Syntax Error: ' + description, undefined, source, [position]); Syntax Error: Expected Name, found [ GraphQL request (81:23) 80: 81: union CustomValues = [Int] | String Is this possible to do in graphql? If not, can you please suggest an alternative to do this.
I ask this as the union documentation says that Note that members of a union type need to be concrete object types; you can't create a union type out of interfaces or other unions.
Any solutions would be highly helpful.
[]from[Int]?Array of Integersor aString, and isn't array type declared in graphql using[]? The error isUnion type CustomValues can only include Object types, it cannot include Int. Union type CustomValues can only include Object types, it cannot include String.[]if you want a list (array), but if you want to return different types on different inputs then you'll have to define how to do that in your resolver function.