Matthew P
Matthew P

Reputation: 735

Use number as key in GraphQL Schema?

Can you use numbers as a key in GraphQL Schema using the GraphQL Schema Language? i.e. (this is a small snippet...)

type tax_code_allocation_country_KOR_states {
  "11": tax_code_allocation_state_tax_query
  "26": tax_code_allocation_state_tax_query
  "27": tax_code_allocation_state_tax_query
}

OR the below, which I realise is incorrect JSON:

type tax_code_allocation_country_KOR_states {
  11: tax_code_allocation_state_tax_query
  26: tax_code_allocation_state_tax_query
  27: tax_code_allocation_state_tax_query
}

Upvotes: 6

Views: 2567

Answers (1)

Herku
Herku

Reputation: 7666

No, this is forbidden by the specification. It is possible to prefix the numbers with an underscore:

type tax_code_allocation_country_KOR_states {
  _11: tax_code_allocation_state_tax_query
  _26: tax_code_allocation_state_tax_query
  _27: tax_code_allocation_state_tax_query
}

Or alternatively not do this on the type level at all and instead map the query or simply run a filter query:

type tax_code_allocation_country_KOR_states {
  tax(code: 11): tax_code_allocation_state_tax_query
  tax(codes: [11, 26, 27]): [tax_code_allocation_state_tax_query]
}

# query subselection
{ _11: tax(code: 11), _26: tax(code: 26), _27: tax(code: 27) }

Upvotes: 12

Related Questions