@rtk-query/graphql-request-base-query
Advanced tools
Comparing version 2.0.1 to 2.1.0
import type { BaseQueryFn } from '@reduxjs/toolkit/query'; | ||
import type { DocumentNode } from 'graphql'; | ||
import { ClientError } from 'graphql-request'; | ||
import type { GraphqlRequestBaseQueryArgs } from './GraphqlBaseQueryTypes'; | ||
export declare const graphqlRequestBaseQuery: (options: GraphqlRequestBaseQueryArgs) => BaseQueryFn<{ | ||
import type { ErrorResponse, GraphqlRequestBaseQueryArgs } from './GraphqlBaseQueryTypes'; | ||
export declare const graphqlRequestBaseQuery: <E = ErrorResponse>(options: GraphqlRequestBaseQueryArgs<E>) => BaseQueryFn<{ | ||
document: string | DocumentNode; | ||
variables?: any; | ||
}, unknown, Pick<ClientError, 'name' | 'message' | 'stack'>, Partial<Pick<ClientError, 'request' | 'response'>>>; | ||
}, unknown, E, Partial<Pick<ClientError, "request" | "response">>, {}>; |
@@ -1,2 +0,2 @@ | ||
import{isPlainObject as e}from"@reduxjs/toolkit";import{GraphQLClient as t,ClientError as r}from"graphql-request";function n(){return n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},n.apply(this,arguments)}const a=a=>{const s="client"in a?a.client:new t(a.url),o="requestHeaders"in a?a.requestHeaders:{};return async({document:t,variables:i},{getState:c,endpoint:u,forced:p,type:l,signal:d,extra:f})=>{try{var m;const r=null!=(m=a.prepareHeaders)?m:e=>e,g=new Headers(function(t){if(!e(t))return t;const r=n({},t);for(const[e,t]of Object.entries(r))void 0===t&&delete r[e];return r}(o)),q=await r(g,{getState:c,endpoint:u,forced:p,type:l,extra:f});return{data:await s.request({document:t,variables:i,signal:d,requestHeaders:q}),meta:{}}}catch(e){if(e instanceof r){const{name:t,message:r,stack:n,request:a,response:s}=e;return{error:{name:t,message:r,stack:n},meta:{request:a,response:s}}}throw e}}};export{a as graphqlRequestBaseQuery}; | ||
import{isPlainObject as e}from"@reduxjs/toolkit";import{GraphQLClient as t,ClientError as r}from"graphql-request";function n(){return n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},n.apply(this,arguments)}const a=a=>{const s="client"in a?a.client:new t(a.url),o="requestHeaders"in a?a.requestHeaders:{};return async({document:t,variables:c},{getState:i,endpoint:u,forced:l,type:p,signal:d,extra:f})=>{try{var m;const r=null!=(m=a.prepareHeaders)?m:e=>e,g=new Headers(function(t){if(!e(t))return t;const r=n({},t);for(const[e,t]of Object.entries(r))void 0===t&&delete r[e];return r}(o)),q=await r(g,{getState:i,endpoint:u,forced:l,type:p,extra:f});return{data:await s.request({document:t,variables:c,signal:d,requestHeaders:q}),meta:{}}}catch(e){if(e instanceof r){var g;const{name:t,message:r,stack:n,request:s,response:o}=e;return{error:(null!=(g=a.customErrors)?g:()=>({name:t,message:r,stack:n}))(e),meta:{request:s,response:o}}}throw e}}};export{a as graphqlRequestBaseQuery}; | ||
//# sourceMappingURL=index.modern.js.map |
@@ -1,2 +0,2 @@ | ||
import{isPlainObject as e}from"@reduxjs/toolkit";import{GraphQLClient as r,ClientError as t}from"graphql-request";function n(){return n=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},n.apply(this,arguments)}var a=function(a){var o="client"in a?a.client:new r(a.url),s="requestHeaders"in a?a.requestHeaders:{};return function(r,i){var u=r.document,c=r.variables,f=i.getState,l=i.endpoint,p=i.forced,v=i.type,d=i.signal,m=i.extra;try{return Promise.resolve(function(r,t){try{var i=(g=null!=(h=a.prepareHeaders)?h:function(e){return e},q=new Headers(function(r){if(!e(r))return r;for(var t=n({},r),a=0,o=Object.entries(t);a<o.length;a++){var s=o[a];void 0===s[1]&&delete t[s[0]]}return t}(s)),Promise.resolve(g(q,{getState:f,endpoint:l,forced:p,type:v,extra:m})).then(function(e){return Promise.resolve(o.request({document:u,variables:c,signal:d,requestHeaders:e})).then(function(e){return{data:e,meta:{}}})}))}catch(e){return t(e)}var h,g,q;return i&&i.then?i.then(void 0,t):i}(0,function(e){if(e instanceof t)return{error:{name:e.name,message:e.message,stack:e.stack},meta:{request:e.request,response:e.response}};throw e}))}catch(e){return Promise.reject(e)}}};export{a as graphqlRequestBaseQuery}; | ||
import{isPlainObject as e}from"@reduxjs/toolkit";import{GraphQLClient as r,ClientError as t}from"graphql-request";function n(){return n=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},n.apply(this,arguments)}var o=function(o){var a="client"in o?o.client:new r(o.url),s="requestHeaders"in o?o.requestHeaders:{};return function(r,u){var i=r.document,c=r.variables,l=u.getState,f=u.endpoint,v=u.forced,m=u.type,p=u.signal,d=u.extra;try{return Promise.resolve(function(r,t){try{var u=(g=null!=(h=o.prepareHeaders)?h:function(e){return e},q=new Headers(function(r){if(!e(r))return r;for(var t=n({},r),o=0,a=Object.entries(t);o<a.length;o++){var s=a[o];void 0===s[1]&&delete t[s[0]]}return t}(s)),Promise.resolve(g(q,{getState:l,endpoint:f,forced:v,type:m,extra:d})).then(function(e){return Promise.resolve(a.request({document:i,variables:c,signal:p,requestHeaders:e})).then(function(e){return{data:e,meta:{}}})}))}catch(e){return t(e)}var h,g,q;return u&&u.then?u.then(void 0,t):u}(0,function(e){if(e instanceof t){var r,n=e.name,a=e.message,s=e.stack,u=e.request,i=e.response;return{error:(null!=(r=o.customErrors)?r:function(){return{name:n,message:a,stack:s}})(e),meta:{request:u,response:i}}}throw e}))}catch(e){return Promise.reject(e)}}};export{o as graphqlRequestBaseQuery}; | ||
//# sourceMappingURL=index.module.js.map |
@@ -1,2 +0,2 @@ | ||
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@reduxjs/toolkit"),require("graphql-request")):"function"==typeof define&&define.amd?define(["exports","@reduxjs/toolkit","graphql-request"],r):r((e||self).graphqlRequestBaseQuery={},e.toolkit,e.graphqlRequest)}(this,function(e,r,t){function n(){return n=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},n.apply(this,arguments)}e.graphqlRequestBaseQuery=function(e){var o="client"in e?e.client:new t.GraphQLClient(e.url),s="requestHeaders"in e?e.requestHeaders:{};return function(a,i){var u=a.document,l=a.variables,c=i.getState,f=i.endpoint,d=i.forced,p=i.type,h=i.signal,q=i.extra;try{return Promise.resolve(function(t,a){try{var i=(v=null!=(g=e.prepareHeaders)?g:function(e){return e},m=new Headers(function(e){if(!r.isPlainObject(e))return e;for(var t=n({},e),o=0,s=Object.entries(t);o<s.length;o++){var a=s[o];void 0===a[1]&&delete t[a[0]]}return t}(s)),Promise.resolve(v(m,{getState:c,endpoint:f,forced:d,type:p,extra:q})).then(function(e){return Promise.resolve(o.request({document:u,variables:l,signal:h,requestHeaders:e})).then(function(e){return{data:e,meta:{}}})}))}catch(e){return a(e)}var g,v,m;return i&&i.then?i.then(void 0,a):i}(0,function(e){if(e instanceof t.ClientError)return{error:{name:e.name,message:e.message,stack:e.stack},meta:{request:e.request,response:e.response}};throw e}))}catch(e){return Promise.reject(e)}}}}); | ||
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@reduxjs/toolkit"),require("graphql-request")):"function"==typeof define&&define.amd?define(["exports","@reduxjs/toolkit","graphql-request"],r):r((e||self).graphqlRequestBaseQuery={},e.toolkit,e.graphqlRequest)}(this,function(e,r,t){function n(){return n=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},n.apply(this,arguments)}e.graphqlRequestBaseQuery=function(e){var o="client"in e?e.client:new t.GraphQLClient(e.url),s="requestHeaders"in e?e.requestHeaders:{};return function(a,i){var u=a.document,l=a.variables,c=i.getState,f=i.endpoint,d=i.forced,p=i.type,h=i.signal,q=i.extra;try{return Promise.resolve(function(t,a){try{var i=(g=null!=(v=e.prepareHeaders)?v:function(e){return e},m=new Headers(function(e){if(!r.isPlainObject(e))return e;for(var t=n({},e),o=0,s=Object.entries(t);o<s.length;o++){var a=s[o];void 0===a[1]&&delete t[a[0]]}return t}(s)),Promise.resolve(g(m,{getState:c,endpoint:f,forced:d,type:p,extra:q})).then(function(e){return Promise.resolve(o.request({document:u,variables:l,signal:h,requestHeaders:e})).then(function(e){return{data:e,meta:{}}})}))}catch(e){return a(e)}var v,g,m;return i&&i.then?i.then(void 0,a):i}(0,function(r){if(r instanceof t.ClientError){var n,o=r.name,s=r.message,a=r.stack,i=r.request,u=r.response;return{error:(null!=(n=e.customErrors)?n:function(){return{name:o,message:s,stack:a}})(r),meta:{request:i,response:u}}}throw r}))}catch(e){return Promise.reject(e)}}}}); | ||
//# sourceMappingURL=index.umd.js.map |
{ | ||
"name": "@rtk-query/graphql-request-base-query", | ||
"version": "2.0.1", | ||
"version": "2.1.0", | ||
"author": { | ||
@@ -5,0 +5,0 @@ "name": "Lenz Weber", |
@@ -6,2 +6,3 @@ import type { BaseQueryApi } from '@reduxjs/toolkit/dist/query/baseQueryTypes' | ||
RequestDocument, | ||
ClientError | ||
} from 'graphql-request' | ||
@@ -16,3 +17,9 @@ | ||
export type GraphqlRequestBaseQueryArgs = ( | ||
export type ErrorResponse = { | ||
message: string; | ||
stack: string; | ||
name: string; | ||
}; | ||
export type GraphqlRequestBaseQueryArgs<E = ErrorResponse> = ( | ||
| { | ||
@@ -24,3 +31,4 @@ url: string | ||
requestHeaders?: RequestHeaders | ||
prepareHeaders?: PrepareHeaders | ||
prepareHeaders?: PrepareHeaders, | ||
customErrors?: (args: ClientError) => E; | ||
} | ||
@@ -27,0 +35,0 @@ |
@@ -6,2 +6,3 @@ import { isPlainObject } from '@reduxjs/toolkit' | ||
import type { | ||
ErrorResponse, | ||
GraphqlRequestBaseQueryArgs, | ||
@@ -12,8 +13,8 @@ PrepareHeaders, | ||
export const graphqlRequestBaseQuery = ( | ||
options: GraphqlRequestBaseQueryArgs | ||
export const graphqlRequestBaseQuery = <E = ErrorResponse>( | ||
options: GraphqlRequestBaseQueryArgs<E> | ||
): BaseQueryFn< | ||
{ document: string | DocumentNode; variables?: any }, | ||
unknown, | ||
Pick<ClientError, 'name' | 'message' | 'stack'>, | ||
E, | ||
Partial<Pick<ClientError, 'request' | 'response'>> | ||
@@ -55,3 +56,9 @@ > => { | ||
const { name, message, stack, request, response } = error | ||
return { error: { name, message, stack }, meta: { request, response } } | ||
const customErrors = | ||
options.customErrors ?? (() => ({ name, message, stack })); | ||
const customizedErrors = customErrors(error) as E; | ||
return { error: customizedErrors, meta: { request, response } } | ||
} | ||
@@ -58,0 +65,0 @@ throw error |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
26333
14
173