date.js 415 B

123456789101112131415161718
  1. const gql = require('graphql')
  2. module.exports = new gql.GraphQLScalarType({
  3. name: 'Date',
  4. description: 'ISO date-time string at UTC',
  5. parseValue(value) {
  6. return new Date(value)
  7. },
  8. serialize(value) {
  9. return value.toISOString()
  10. },
  11. parseLiteral(ast) {
  12. if (ast.kind !== gql.Kind.STRING) {
  13. throw new TypeError('Date value must be an string!')
  14. }
  15. return new Date(ast.value)
  16. }
  17. })