Puedo obtener campos solicitados normales como este:
const MyQueries = { allCustomers: (parent, args, context, info) => { const keys = info.fieldNodes[0].selectionSet.selections .map((item) => { if (!item.selectionSet) { return item.name.value; } }) .filter((e) => e) .toString(); console.log(keys); }, ... };Mi solicitud de consulta:
query RootQuery{ getAllCustomers{ id username mobile _suspended comments{ id comment } } } registros: id,username,mobile,_suspended
En mi caso de uso aquí, no necesito comentarios con sus campos anidados, por eso los filtré por declaración if.
Pero cuando usa fragmentos de graphql:
query RootQuery{ getAllCustomers{ ...myFragment } } fragment myFragment on Customer { id username mobile _suspended } Obtengo: myFragment como salida, pero la salida esperada es: id,username,mobile,_suspended .
¿Cómo puedo hacer esto?