Skip to content

Commit

Permalink
Revert "fix Date custom scalar"
Browse files Browse the repository at this point in the history
This reverts commit 986319e.
  • Loading branch information
dulguun0225 committed Aug 11, 2023
1 parent 986319e commit e49904b
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 24 deletions.
25 changes: 13 additions & 12 deletions packages/api-utils/src/customScalars.ts
Expand Up @@ -33,26 +33,27 @@ export default {
Date: new GraphQLScalarType({
name: 'Date',
description: 'Date custom scalar type',
serialize(value) {
parseValue(value) {
return new Date(value); // value from the client
},
serialize: value => {
if (value instanceof Date) {
return value.getTime(); // Convert outgoing Date to integer for JSON
return value;
}
throw Error('GraphQL Date Scalar serializer expected a `Date` object');
},
parseValue(value) {
if (typeof value === 'number') {
return new Date(value); // Convert incoming integer to Date

if (value.toISOString) {
return value.toISOString();
}
throw new Error('GraphQL Date Scalar parser expected a `number`');

return new Date(value);
},

parseLiteral(ast) {
if (ast.kind === Kind.INT) {
// Convert hard-coded AST string to integer and then to Date
return new Date(parseInt(ast.value, 10));
return parseInt(ast.value, 10); // ast value is always in string format
}
// Invalid hard-coded value (not an integer)
return null;
},
}
}),

JSON: new GraphQLScalarType({
Expand Down
25 changes: 13 additions & 12 deletions packages/core/src/data/resolvers/customScalars.ts
Expand Up @@ -33,26 +33,27 @@ export default {
Date: new GraphQLScalarType({
name: 'Date',
description: 'Date custom scalar type',
serialize(value) {
parseValue(value) {
return new Date(value); // value from the client
},
serialize: value => {
if (value instanceof Date) {
return value.getTime(); // Convert outgoing Date to integer for JSON
return value;
}
throw Error('GraphQL Date Scalar serializer expected a `Date` object');
},
parseValue(value) {
if (typeof value === 'number') {
return new Date(value); // Convert incoming integer to Date

if (value.toISOString) {
return value.toISOString();
}
throw new Error('GraphQL Date Scalar parser expected a `number`');

return new Date(value);
},

parseLiteral(ast) {
if (ast.kind === Kind.INT) {
// Convert hard-coded AST string to integer and then to Date
return new Date(parseInt(ast.value, 10));
return parseInt(ast.value, 10); // ast value is always in string format
}
// Invalid hard-coded value (not an integer)
return null;
},
}
}),

JSON: new GraphQLScalarType({
Expand Down

0 comments on commit e49904b

Please sign in to comment.