我有library to represent DateTime个对象的特殊GraphQL标量类型。但是,我有一个案例,值为00:00:00'从MySQL返回,表示它无法解析。我基本上想要将其解决到null
。
在我的架构中,我总是可以使用与之类似的自定义解析器:
import gqlDate from 'graphql-iso-date';
const MyType = new gql.GraphQLObjectType({
name: 'Type',
description: 'This is a GraphQL type.',
fields: () => {
return {
datetime: {
type: gqlDate.GraphQLDateTime,
description: 'The datetime field of my type.',
resolve: (record) => {
return record === '0000-00-00 00:00:00' ? null : record;
}
}
};
}
});
但我希望有一种方法可以将其包装成类似于以下内容的类型:
const CustomDateTimeType = new gql.GraphQLType({
name: 'CustomDateTime',
type: gqlDate.DateTimeType,
resolve: (record) => {
return record === '0000-00-00 00:00:00' ? null : record;
}
});
我能想到的另一种方式是使用UnionType,但这看起来很火爆。