This is a small JavaScript library allowing you to use the date/time types from js-joda
in your GraphQL resolvers.
(We recommend js-joda
for all JavaScript date/time code, but if you disagree, consider graphql-iso-date instead of this package.)
The following js-joda
types are currently supported:
Installation is straightforward:
yarn add graphql-joda-types # or use npm
You can then write something like the following in your schema:
scalar LocalDate
scalar ZonedDateTime
scalar ZoneId
type User {
id: ID!
name: String
birthday: LocalDate
timezone: ZoneId
createdAt: ZonedDateTime
updatedAt: ZonedDateTime
}
And then in your GraphQL server:
import { LocalDate, ZonedDateTime, ZoneId } from 'graphql-joda-types';
import { makeExecutableSchema } from '@graphql-tools/schema';
const schema = makeExecutableSchema({
resolvers: {
LocalDate,
ZonedDateTime,
ZoneId,
// ...
},
});
You will then be able to use js-joda
date and time types as you expect in your other resolvers: input types will automatically be parsed to the appropriate object types, and when your resolvers return these types to clients, they will be stringified properly.