#typescript #graphql #typegraphql
Вопрос:
Преобразователь продуктов и преобразователь полей продуктов обеспечивает конечный результат (приведенный ниже). Но есть ли способ опустить объекты из конечного вывода, данные о продукте которых равны нулю.
@Resolver((of) => Products)
export class ProductsResolver {
@Query((returns) => [Products], {
name: 'products',
})
getProducts() {
returns products // returns object [{id: 1, id: 2}]
}
}
@Resolver((of) => Products)
export class ProductResolver implements ResolverInterface<Products> {
@FieldResolver((returns) => ProductType, {
nullable: false,
name: 'productData',
})
async productData() {
return object //first time it returns a proper object.
// second time it returns null
}
}
@ObjectType()
export default class Products {
@Field()
id: string;
@Field((type) => ProductType, { nullable: true })
productData: ProductType;
@Field((type) => Float, { nullable: true })
}
конечный результат
"data": {
"Products": [
{
"id": "1",
"productData": { // inner object }
},
{
"id": "2",
"productData": null
}
]
}
желаемый результат
"data": {
"Products": [
{
"id": "1",
"productData": { // inner object }
}
}
Комментарии:
1. Извините, но я не совсем понимаю, чего вы хотите достичь… что такое
ProductDataType
и почему выreturn [{},null]
?2. извини за это. для каждого продукта fieldResolver для ProductData разрешает an
object || null
. И я получаю конечный результат (как упоминалось в вопросе). Но мне нужен желаемый результат (как указано в вопросе), который заключается в том, что я просто хочу удалить продукты, данные о продукте которых равны нулю, из конечного результата