The names of GraphQL object types corresponding to TypeScript inline types are generated by excluding any non-alphanumeric characters.

For comparison, see referenced types.

Example

interface User {
  id: string;
  email: string;
}

@graphql.resolver()
class UserResolver {
  @graphql.query()
  getUserId(): Pick<User, 'id'> {
    // ...
  }
}

In this example, the return type Pick<User, 'id'> of the getUserId query is not a valid object type name. To resolve this, non-alphanumeric characters are excluded, resulting in the generated name PickUserid.

type PickUserid {
  id: String!
}

type Query {
  getUserId: PickUserid
}

This ensures that the generated name is compatible with the GraphQL naming requirements.