UNPKG

rtk-query-graphql

Version:

It helps you to make queries to a server that is using graphql

1 lines 2.22 kB
{"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 ReturnRequestHeaders = P[2];\nexport type RequestHeaders = (\n setHeaders: (headers: RequestInit[\"headers\"] | undefined) => GraphQLClient,\n setHeader: (key: string, value: string) => GraphQLClient\n) => ReturnRequestHeaders;\n\nexport const graphqlFetch = (\n options:\n | {\n url: string;\n prepareHeaders?: RequestHeaders;\n }\n | {\n client: GraphQLClient;\n prepareHeaders: undefined;\n }\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\n !!options.prepareHeaders &&\n options.prepareHeaders(client.setHeaders, client.setHeader);\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","prepareHeaders","setHeaders","setHeader","document","variables","request","data","meta","error","ClientError","name","message","stack","response"],"mappings":"sDAa4B,SAC1BA,GAeA,IAAMC,EACJ,WAAYD,EAAUA,EAAQC,OAAS,IAAIC,gBAAcF,EAAQG,KAKnE,OAHEH,EAAQI,gBACRJ,EAAQI,eAAeH,EAAOI,WAAYJ,EAAOK,2BAEnCC,IAAAA,SAAUC,IAAAA,6EAEDP,EAAOQ,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"}