@rtk-query/graphql-request-base-query
Version:
1 lines • 1.92 kB
Source Map (JSON)
{"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import { BaseQueryFn } from \"@reduxjs/toolkit/query/react\";\nimport { DocumentNode } from \"graphql\";\nimport { GraphQLClient, ClientError } from \"graphql-request\";\n\ntype P = Parameters<GraphQLClient[\"request\"]>;\nexport type Document = P[0];\nexport type Variables = P[1];\nexport type RequestHeaders = P[2];\n\nexport const graphqlRequestBaseQuery = (\n options:\n | { url: string; requestHeaders?: RequestHeaders }\n | { client: GraphQLClient }\n): BaseQueryFn<\n { document: string | DocumentNode; variables?: any },\n unknown,\n Pick<ClientError, \"name\" | \"message\" | \"stack\">,\n Partial<Pick<ClientError, \"request\" | \"response\">>\n> => {\n const client =\n \"client\" in options ? options.client : new GraphQLClient(options.url);\n if (\"requestHeaders\" in options) {\n client.setHeaders(options.requestHeaders);\n }\n return async ({ document, variables }) => {\n try {\n return { data: await client.request(document, variables), meta: {} };\n } catch (error) {\n if (error instanceof ClientError) {\n const { name, message, stack, request, response } = error;\n return { error: { name, message, stack }, meta: { request, response } };\n }\n throw error;\n }\n };\n};\n"],"names":["options","client","GraphQLClient","url","setHeaders","requestHeaders","document","variables","request","data","meta","error","ClientError","name","message","stack","response"],"mappings":"iEASuC,SACrCA,GASA,IAAMC,EACJ,WAAYD,EAAUA,EAAQC,OAAS,IAAIC,gBAAcF,EAAQG,KAInE,MAHI,mBAAoBH,GACtBC,EAAOG,WAAWJ,EAAQK,gCAEZC,IAAAA,SAAUC,IAAAA,6EAEDN,EAAOO,QAAQF,EAAUC,qBAA9C,MAAO,CAAEE,OAAiDC,KAAM,2EACzDC,GACP,GAAIA,aAAiBC,cAEnB,MAAO,CAAED,MAAO,CAAEE,KADkCF,EAA5CE,KACgBC,QAD4BH,EAAtCG,QACmBC,MADmBJ,EAA7BI,OACmBL,KAAM,CAAEF,QADEG,EAAtBH,QAC6BQ,SADPL,EAAbK,WAGzC,MAAML,KARV"}