Creating Your Own Scalar Types
Learn how to create user defined scalar types.
We'll cover the following
User defined scalar types
Scalar types form the leaves of our input and output trees. Absinthe’s built-in scalar types, from :integer
to :string
and :id
, all have a firm grounding in the GraphQL specification. These types are not special cases but are built using the same schema tools provided to Absinthe users.
Building your own scalar types can be handy, too. Let’s say we’d like to support a :date
scalar type that supports users providing dates in a nice, easy-to-use format. This would automatically give us Date structs that are easier to use in Elixir.
If we want to filter our menu item list by the date prior to which the menu item was added, it would be nice to support a nicely formatted date as an argument. This can be seen below:
Get hands-on with 1200+ tech skills courses.