New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More โ†’
Socket
Sign inDemoInstall
Socket

graphql-hooks

Package Overview
Dependencies
Maintainers
5
Versions
89
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

graphql-hooks - npm Package Compare versions

Comparing version 7.0.0 to 8.0.0

lib/types/typedDocumentNode.d.ts

197

dist/graphql-hooks.js
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('events'), require('graphql')) :
typeof define === 'function' && define.amd ? define(['exports', 'react', 'events', 'graphql'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.GraphQLHooks = {}, global.React, global.EventEmitter, global.graphql));
})(this, (function (exports, React, EventEmitter, graphql) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('events')) :
typeof define === 'function' && define.amd ? define(['exports', 'react', 'events'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.GraphQLHooks = {}, global.React, global.EventEmitter));
})(this, (function (exports, React, EventEmitter) { 'use strict';

@@ -322,2 +322,172 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }

var e = {
NAME: "Name",
DOCUMENT: "Document",
OPERATION_DEFINITION: "OperationDefinition",
VARIABLE_DEFINITION: "VariableDefinition",
SELECTION_SET: "SelectionSet",
FIELD: "Field",
ARGUMENT: "Argument",
FRAGMENT_SPREAD: "FragmentSpread",
INLINE_FRAGMENT: "InlineFragment",
FRAGMENT_DEFINITION: "FragmentDefinition",
VARIABLE: "Variable",
INT: "IntValue",
FLOAT: "FloatValue",
STRING: "StringValue",
BOOLEAN: "BooleanValue",
NULL: "NullValue",
ENUM: "EnumValue",
LIST: "ListValue",
OBJECT: "ObjectValue",
OBJECT_FIELD: "ObjectField",
DIRECTIVE: "Directive",
NAMED_TYPE: "NamedType",
LIST_TYPE: "ListType",
NON_NULL_TYPE: "NonNullType"
};
var o = function (e) {
e[e.Const = 1] = "Const";
e[e.Var = 2] = "Var";
e[e.Int = 3] = "Int";
e[e.Float = 4] = "Float";
e[e.BlockString = 5] = "BlockString";
e[e.String = 6] = "String";
e[e.Enum = 7] = "Enum";
return e;
}(o || {});
var v = function (e) {
e[e.Spread = 1] = "Spread";
e[e.Name = 2] = "Name";
return e;
}(v || {});
function mapJoin(e, r, i) {
var n = "";
for (var a = 0; a < e.length; a++) {
if (a) {
n += r;
}
n += i(e[a]);
}
return n;
}
function printString(e) {
return JSON.stringify(e);
}
function printBlockString(e) {
return '"""\n' + e.replace(/"""/g, '\\"""') + '\n"""';
}
var f = "\n";
var m = {
OperationDefinition(e) {
var r = e.operation;
if (e.name) {
r += " " + e.name.value;
}
if (e.variableDefinitions && e.variableDefinitions.length) {
if (!e.name) {
r += " ";
}
r += "(" + mapJoin(e.variableDefinitions, ", ", m.VariableDefinition) + ")";
}
if (e.directives && e.directives.length) {
r += " " + mapJoin(e.directives, " ", m.Directive);
}
return "query" !== r ? r + " " + m.SelectionSet(e.selectionSet) : m.SelectionSet(e.selectionSet);
},
VariableDefinition(e) {
var r = m.Variable(e.variable) + ": " + _print(e.type);
if (e.defaultValue) {
r += " = " + _print(e.defaultValue);
}
if (e.directives && e.directives.length) {
r += " " + mapJoin(e.directives, " ", m.Directive);
}
return r;
},
Field(e) {
var r = e.alias ? e.alias.value + ": " + e.name.value : e.name.value;
if (e.arguments && e.arguments.length) {
var i = mapJoin(e.arguments, ", ", m.Argument);
if (r.length + i.length + 2 > 80) {
r += "(" + (f += " ") + mapJoin(e.arguments, f, m.Argument) + (f = f.slice(0, -2)) + ")";
} else {
r += "(" + i + ")";
}
}
if (e.directives && e.directives.length) {
r += " " + mapJoin(e.directives, " ", m.Directive);
}
if (e.selectionSet) {
r += " " + m.SelectionSet(e.selectionSet);
}
return r;
},
StringValue(e) {
if (e.block) {
return printBlockString(e.value).replace(/\n/g, f);
} else {
return printString(e.value);
}
},
BooleanValue: e => "" + e.value,
NullValue: e => "null",
IntValue: e => e.value,
FloatValue: e => e.value,
EnumValue: e => e.value,
Name: e => e.value,
Variable: e => "$" + e.name.value,
ListValue: e => "[" + mapJoin(e.values, ", ", _print) + "]",
ObjectValue: e => "{" + mapJoin(e.fields, ", ", m.ObjectField) + "}",
ObjectField: e => e.name.value + ": " + _print(e.value),
Document(e) {
if (!e.definitions || !e.definitions.length) {
return "";
}
return mapJoin(e.definitions, "\n\n", _print);
},
SelectionSet: e => "{" + (f += " ") + mapJoin(e.selections, f, _print) + (f = f.slice(0, -2)) + "}",
Argument: e => e.name.value + ": " + _print(e.value),
FragmentSpread(e) {
var r = "..." + e.name.value;
if (e.directives && e.directives.length) {
r += " " + mapJoin(e.directives, " ", m.Directive);
}
return r;
},
InlineFragment(e) {
var r = "...";
if (e.typeCondition) {
r += " on " + e.typeCondition.name.value;
}
if (e.directives && e.directives.length) {
r += " " + mapJoin(e.directives, " ", m.Directive);
}
return r += " " + m.SelectionSet(e.selectionSet);
},
FragmentDefinition(e) {
var r = "fragment " + e.name.value;
r += " on " + e.typeCondition.name.value;
if (e.directives && e.directives.length) {
r += " " + mapJoin(e.directives, " ", m.Directive);
}
return r + " " + m.SelectionSet(e.selectionSet);
},
Directive(e) {
var r = "@" + e.name.value;
if (e.arguments && e.arguments.length) {
r += "(" + mapJoin(e.arguments, ", ", m.Argument) + ")";
}
return r;
},
NamedType: e => e.name.value,
ListType: e => "[" + _print(e.type) + "]",
NonNullType: e => _print(e.type) + "!"
};
var _print = e => m[e.kind](e);
function print(e) {
f = "\n";
return m[e.kind] ? m[e.kind](e) : "";
}
const pipeP = (fns) => (arg) => fns.reduce((p, f) => p.then(f), Promise.resolve(arg));

@@ -329,3 +499,3 @@ function extractOperationName(document) {

const operationDefinitions = document.definitions.filter(
(definition) => definition.kind === graphql.Kind.OPERATION_DEFINITION
(definition) => definition.kind === e.OPERATION_DEFINITION
);

@@ -342,3 +512,3 @@ if (operationDefinitions.length === 1) {

}
return graphql.print(document);
return print(document);
}

@@ -1209,2 +1379,14 @@

var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __objRest = (source, exclude) => {
var target = {};
for (var prop in source)
if (__hasOwnProp$2.call(source, prop) && exclude.indexOf(prop) < 0)
target[prop] = source[prop];
if (source != null && __getOwnPropSymbols$2)
for (var prop of __getOwnPropSymbols$2(source)) {
if (exclude.indexOf(prop) < 0 && __propIsEnum$2.call(source, prop))
target[prop] = source[prop];
}
return target;
};
const defaultOpts = {

@@ -1233,3 +1415,4 @@ useCache: true,

}
const stringifiedAllOpts = JSON.stringify(allOpts);
const _a = allOpts, allOptsToStringify = __objRest(_a, ["client"]);
const stringifiedAllOpts = JSON.stringify(allOptsToStringify);
React__default["default"].useEffect(() => {

@@ -1236,0 +1419,0 @@ if (allOpts.skip) {

2

dist/graphql-hooks.min.js

@@ -1,1 +0,1 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("events"),require("graphql")):"function"==typeof define&&define.amd?define(["exports","react","events","graphql"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).GraphQLHooks={},e.React,e.EventEmitter,e.graphql)}(this,(function(e,t,r,o){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=n(t),a=s(t),u=n(r);const c=i.default.createContext(null);function l(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}c.displayName="ClientContext";const f=class{constructor({uri:e,name:t,type:r}){this.uri=e,this.name=t,this.type=r}};var h=function(e){return"undefined"!=typeof File&&e instanceof File||"undefined"!=typeof Blob&&e instanceof Blob||e instanceof f},p=l(h);const d=h;var y=function(e,t="",r=d){const o=new Map,n=new Map;return{clone:function e(t,s,i){let a=t;if(r(t)){a=null;const e=o.get(t);e?e.push(s):o.set(t,[s])}else{const r=Array.isArray(t)||"undefined"!=typeof FileList&&t instanceof FileList;if(r||t&&t.constructor===Object){const o=n.has(t);if(o?a=n.get(t):(a=r?[]:{},n.set(t,a)),!i.has(t)){const n=s?s+".":"",u=new Set(i).add(t);if(r){let r=0;for(const s of t){const t=e(s,n+r++,u);o||a.push(t)}}else for(const r in t){const s=e(t[r],n+r,u);o||(a[r]=s)}}}}return a}(e,t,new Set),files:o}},b=l(y);const E=e=>p(e)||null!==e&&"object"==typeof e&&"function"==typeof e.pipe||null!==e&&"object"==typeof e&&"function"==typeof e.stream;function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);t>r;r++)o[r]=e[r];return o}function g(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return m(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?m(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var o=0;return function(){return e.length>o?{done:!1,value:e[o++]}:{done:!0}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var v=function(){function e(e){var t=this;0===e.length&&e.push((function(e,t){return t()}));for(var r,o=function(){var e=r.value;if("function"!=typeof e)throw Error("GraphQLClient Middleware: middleware has to be of type `function`");t.run=function(r){return function(o,n){r(o,(function(){e.call(t,o,n.bind.call(n,null,o))}))}}(t.run)},n=g(e);!(r=n()).done;)o()}return e.prototype.run=function(e,t){t.apply(this,e)},e}();function O(e){return"string"==typeof e?e:o.print(e)}var T=(e=>(e.DATA_INVALIDATED="DATA_INVALIDATED",e.DATA_UPDATED="DATA_UPDATED",e))(T||{}),A=Object.defineProperty,C=Object.defineProperties,D=Object.getOwnPropertyDescriptors,w=Object.getOwnPropertySymbols,j=Object.prototype.hasOwnProperty,S=Object.prototype.propertyIsEnumerable,L=(e,t,r)=>t in e?A(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,P=(e,t)=>{for(var r in t||(t={}))j.call(t,r)&&L(e,r,t[r]);if(w)for(var r of w(t))S.call(t,r)&&L(e,r,t[r]);return e},Q=(e,t,r)=>(L(e,"symbol"!=typeof t?t+"":t,r),r);class R{constructor(e){if(Q(this,"url"),Q(this,"ssrPromises"),Q(this,"FormData"),Q(this,"fetch"),Q(this,"fetchOptions"),Q(this,"logErrors"),Q(this,"useGETForQueries"),Q(this,"middleware"),Q(this,"mutationsEmitter"),Q(this,"cache"),Q(this,"headers"),Q(this,"ssrMode"),Q(this,"subscriptionClient"),Q(this,"fullWsTransport"),Q(this,"onError"),!e)throw Error("GraphQLClient: config is required as first parameter");this.fullWsTransport=e.fullWsTransport,this.subscriptionClient="function"==typeof e.subscriptionClient?e.subscriptionClient():e.subscriptionClient,this.verifyConfig(e),this.cache=e.cache,this.headers=e.headers||{},this.ssrMode=e.ssrMode,this.ssrPromises=[],this.url=e.url,this.fetch=e.fetch||("undefined"!=typeof fetch&&fetch?fetch.bind(void 0):void 0),this.fetchOptions=e.fetchOptions||{},this.FormData=e.FormData||("undefined"!=typeof FormData?FormData:void 0),this.logErrors=void 0===e.logErrors||e.logErrors,this.onError=e.onError,this.useGETForQueries=!0===e.useGETForQueries,this.middleware=new v(e.middleware||[]),this.mutationsEmitter=new u.default}verifyConfig(e){if(!e.url){if(!this.fullWsTransport)throw Error("GraphQLClient: config.url is required");if(!this.subscriptionClient)throw Error("GraphQLClient: subscriptionClient is required")}if(e.fetch&&"function"!=typeof e.fetch)throw Error("GraphQLClient: config.fetch must be a function");if(("undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement||e.ssrMode)&&!e.fetch&&"function"!=typeof fetch)throw Error("GraphQLClient: fetch must be polyfilled or passed in new GraphQLClient({ fetch })");if(e.ssrMode&&!e.cache)throw Error("GraphQLClient: config.cache is required when in ssrMode")}setHeader(e,t){return this.headers[e]=t,this}setHeaders(e){return this.headers=e,this}removeHeader(e){return delete this.headers[e],this}logErrorResult({result:e,operation:t}){console.error("GraphQL Hooks Error"),console.groupCollapsed("---\x3e Full Error Details"),console.groupCollapsed("Operation:"),console.log(t),console.groupEnd();const r=e.error;r&&(r.fetchError&&(console.groupCollapsed("FETCH ERROR:"),console.log(r.fetchError),console.groupEnd()),r.httpError&&(console.groupCollapsed("HTTP ERROR:"),console.log(r.httpError),console.groupEnd()),r.graphQLErrors&&r.graphQLErrors.length>0&&(console.groupCollapsed("GRAPHQL ERROR:"),r.graphQLErrors.forEach((e=>console.log(e))),console.groupEnd())),console.groupEnd()}generateResult({fetchError:e,httpError:t,graphQLErrors:r,data:o}){return!!(r&&r.length>0||e||t)?{data:o,error:{fetchError:e,httpError:t,graphQLErrors:r}}:{data:o}}getCacheKey(e,t={}){return{operation:e,fetchOptions:P(P({},this.fetchOptions),t.fetchOptionsOverrides)}}getCache(e){const t=this.cache?this.cache.get(e):null;if(t)return t}saveCache(e,t){this.cache&&this.cache.set(e,t)}removeCache(e){var t;null==(t=this.cache)||t.delete(e)}getFetchOptions(e,t={}){const r=P(P({method:"POST",headers:P({},this.headers)},this.fetchOptions),t);if("GET"===r.method)return r;const{clone:o,files:n}=b(e,"",E),s=JSON.stringify(o);if(n.size){if(!this.FormData)throw Error("GraphQLClient: FormData must be polyfilled or passed in new GraphQLClient({ FormData })");const e=new this.FormData;e.append("operations",s);const t={};let o=0;n.forEach((e=>{t[++o]=e})),e.append("map",JSON.stringify(t)),o=0,n.forEach(((t,r)=>{e.append(""+ ++o,r,r.name)})),r.body=e}else r.headers["Content-Type"]="application/json",r.body=s;return r}request(e,t){const r=[],o=e=>r.push(e);return new Promise(((n,s)=>this.middleware.run({operation:e,client:this,addResponseHook:o,resolve:n,reject:s},(({operation:e})=>{const o=e=>{return r.length>0?(t=r,e=>t.reduce(((e,t)=>e.then(t)),Promise.resolve(e)))(e):e;var t};return this.fullWsTransport?this.requestViaWS(e).then(o).then(n).catch(s):this.url?this.requestViaHttp(e,t).then(o).then(n).catch(s):void s(Error("GraphQLClient: config.url is required"))}))))}requestViaHttp(e,t={}){let r=this.url;const o=this.getFetchOptions(e,t.fetchOptionsOverrides);if("GET"===o.method){r=r+"?"+Object.entries(e).filter((([,e])=>!!e)).map((([e,t])=>("variables"!==e&&"extensions"!==e||(t=JSON.stringify(t)),`${e}=${encodeURIComponent(t)}`))).join("&")}return this.fetch(r,o).then((e=>e.ok?e.json().then((({errors:r,data:o})=>this.generateResult({graphQLErrors:r,data:"function"==typeof t.responseReducer&&t.responseReducer(o,e)||o}))):e.text().then((t=>{const{status:r,statusText:o}=e;return this.generateResult({httpError:{status:r,statusText:o,body:t}})})))).catch((e=>this.generateResult({fetchError:e}))).then((t=>(t.error&&(this.logErrors&&this.logErrorResult({result:t,operation:e}),this.onError&&this.onError({result:t,operation:e})),t)))}requestViaWS(e){return new Promise(((t,r)=>{let o;try{const n=this.createSubscription(e).subscribe({next:e=>{o=e},error:r,complete:()=>{n.unsubscribe(),t(o)}})}catch(e){r(e)}}))}createSubscription(e){if(!this.subscriptionClient)throw Error("No SubscriptionClient! Please set in the constructor.");return"function"==typeof this.subscriptionClient.subscribe?{subscribe:t=>({unsubscribe:this.subscriptionClient.subscribe(e,t)})}:this.subscriptionClient.request(e)}invalidateQuery(e){const t="string"==typeof e?{query:e}:e,r=this.getCacheKey(t);this.cache&&r&&(this.removeCache(r),this.request(t).then((e=>{this.mutationsEmitter.emit(T.DATA_INVALIDATED,e)})).catch((e=>console.error(e))))}setQueryData(e,t){const r=this.getCacheKey("string"==typeof e?{query:e}:e);if(this.cache&&r){const e=this.cache.get(r),s=(o=P({},e),n={data:t(e.data||null)},C(o,D(n)));this.saveCache(r,s),this.mutationsEmitter.emit(T.DATA_UPDATED,s)}var o,n}}var q=Object.defineProperty,M=(e,t,r)=>(((e,t,r)=>{t in e?q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r})(e,"symbol"!=typeof t?t+"":t,r),r);class _{constructor(e){M(this,"fetchError"),M(this,"httpError"),M(this,"graphQLErrors"),this.fetchError=e.fetchError,this.httpError=e.httpError,this.graphQLErrors=e.graphQLErrors}}var I=Object.defineProperty,G=Object.getOwnPropertySymbols,N=Object.prototype.hasOwnProperty,H=Object.prototype.propertyIsEnumerable,U=(e,t,r)=>t in e?I(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,k=(e,t,r)=>(U(e,"symbol"!=typeof t?t+"":t,r),r);function x(e){const t={},r=[];for(const[o,n]of Object.entries(e)){const e=F(n);t[o]=e.data,null!=e.errors&&r.push(...e.errors)}return{data:t,errors:r}}function F(e){return e instanceof Error?{data:null,errors:[e]}:Array.isArray(e)?function(e){const t=Array(e.length),r=[];for(const[o,n]of e.entries()){const e=F(n);t[o]=e.data,null!=e.errors&&r.push(...e.errors)}return{data:t,errors:r}}(e):(t=e)===Object(t)?x(e):{data:e,errors:null};var t}var V=Object.prototype.hasOwnProperty;function K(e,t,r){for(r of e.keys())if(W(r,t))return r}function W(e,t){var r,o,n;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return""+e==""+t;if(r===Array){if((o=e.length)===t.length)for(;o--&&W(e[o],t[o]););return-1===o}if(r===Set){if(e.size!==t.size)return!1;for(o of e){if((n=o)&&"object"==typeof n&&!(n=K(t,n)))return!1;if(!t.has(n))return!1}return!0}if(r===Map){if(e.size!==t.size)return!1;for(o of e){if((n=o[0])&&"object"==typeof n&&!(n=K(t,n)))return!1;if(!W(o[1],t.get(n)))return!1}return!0}if(r===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(r===DataView){if((o=e.byteLength)===t.byteLength)for(;o--&&e.getInt8(o)===t.getInt8(o););return-1===o}if(ArrayBuffer.isView(e)){if((o=e.byteLength)===t.byteLength)for(;o--&&e[o]===t[o];);return-1===o}if(!r||"object"==typeof e){for(r in o=0,e){if(V.call(e,r)&&++o&&!V.call(t,r))return!1;if(!(r in t)||!W(e[r],t[r]))return!1}return Object.keys(t).length===o}}return e!=e&&t!=t}function z(e){var t=a.useRef(e),r=a.useRef(0);return W(e,t.current)||(t.current=e,r.current+=1),a.useMemo((function(){return t.current}),[r.current])}var J=Object.defineProperty,B=Object.defineProperties,$=Object.getOwnPropertyDescriptors,X=Object.getOwnPropertySymbols,Y=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable,ee=(e,t,r)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,te=(e,t)=>{for(var r in t||(t={}))Y.call(t,r)&&ee(e,r,t[r]);if(X)for(var r of X(t))Z.call(t,r)&&ee(e,r,t[r]);return e},re=(e,t)=>B(e,$(t));const oe={RESET_STATE:"RESET_STATE",LOADING:"LOADING",CACHE_HIT:"CACHE_HIT",REQUEST_RESULT:"REQUEST_RESULT",DATA_UPDATED:"DATA_UPDATED"};function ne(e,t){switch(t.type){case oe.RESET_STATE:return e.loading?e:t.initialState;case oe.LOADING:return e.error?re(te({},t.initialState),{data:e.data,loading:!0}):e.loading?e:re(te({},e),{loading:!0});case oe.DATA_UPDATED:return re(te({},e),{data:t.result.data});case oe.CACHE_HIT:return e.cacheHit&&!t.resetState?e:re(te({},t.result),{cacheHit:!0,loading:!1});case oe.REQUEST_RESULT:return re(te({},t.result),{data:e.data&&t.result.data&&t.updateData?t.updateData(e.data,t.result.data):t.result.data,cacheHit:!1,loading:!1});default:return e}}function se(e,t={}){var r;const n=O(e),s=null!=(r=t.operationName)?r:function(e){var t,r;let n;if("string"!=typeof e){const s=e.definitions.filter((e=>e.kind===o.Kind.OPERATION_DEFINITION));1===s.length&&(n=null==(r=null==(t=s[0])?void 0:t.name)?void 0:r.value)}return n}(e),a=i.default.useContext(c),u=t.client||a;if(null==u)throw Error("A client must be provided in order to use the useClientRequest hook.");const l=i.default.useRef(!0),f=i.default.useRef(null),h={query:n,variables:t.variables,operationName:s,persisted:t.persisted};(t.persisted||u.useGETForQueries&&!t.isMutation)&&(t.fetchOptionsOverrides=re(te({},t.fetchOptionsOverrides),{method:"GET"}));const p=u.getCacheKey(h,t),d=t.isMutation||t.isManual||t.skip,y=!t.skipCache&&u.cache&&p?u.cache.get(p):null,b=re(te({},y),{cacheHit:!!y,loading:!d&&!y}),[E,m]=i.default.useReducer(ne,b),g=JSON.stringify(p);i.default.useEffect((()=>{t.updateData||m({type:oe.RESET_STATE,initialState:b})}),[g]),i.default.useEffect((()=>(l.current=!0,()=>{l.current=!1})),[]);const v=i.default.useCallback((e=>{const r=te(te({},t),e),o=re(te({},h),{variables:r.variables,operationName:r.operationName});if(!l.current)return Promise.resolve({error:{fetchError:Error("fetchData should not be called after hook unmounted")},loading:!1,cacheHit:!1});const s=u.getCacheKey(o,r);f.current=s;const i=r.skipCache?null:u.getCache(s);return i?(m({type:oe.CACHE_HIT,result:i,resetState:g!==JSON.stringify(E.cacheKey)}),Promise.resolve(i)):(m({type:oe.LOADING,initialState:b}),u.request(o,r).then((e=>{if(r.updateData&&"function"!=typeof r.updateData)throw Error("options.updateData must be a function");const i=te({},e);if(r.useCache&&(i.useCache=!0,i.cacheKey=s,u.ssrMode)){const e={error:i.error,data:r.updateData?r.updateData(E.data,i.data):i.data};u.saveCache(s,e)}if(l.current&&s===f.current&&m({type:oe.REQUEST_RESULT,updateData:r.updateData,result:i}),t.isMutation&&u.mutationsEmitter.emit(n,re(te({},o),{mutation:n,result:i})),!(null==e?void 0:e.error)&&r.onSuccess){if("function"!=typeof r.onSuccess)throw Error("options.onSuccess must be a function");r.onSuccess(e,o.variables)}return e})))}),z([u,t,h]));i.default.useEffect((()=>{E.useCache&&!u.ssrMode&&u.saveCache(E.cacheKey,E)}),[u,E]);return i.default.useEffect((()=>{const e=(e,t)=>{m({type:t,result:e})},t=t=>e(t,oe.REQUEST_RESULT),r=t=>e(t,oe.DATA_UPDATED),o=u.mutationsEmitter;return o.on(T.DATA_INVALIDATED,t),o.on(T.DATA_UPDATED,r),()=>{o&&(o.removeListener(T.DATA_INVALIDATED,t),o.removeListener(T.DATA_UPDATED,r))}}),[]),[v,E,(e={})=>m({type:oe.RESET_STATE,initialState:te(te({},b),e)})]}var ie=Object.defineProperty,ae=Object.defineProperties,ue=Object.getOwnPropertyDescriptors,ce=Object.getOwnPropertySymbols,le=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable,he=(e,t,r)=>t in e?ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,pe=(e,t)=>{for(var r in t||(t={}))le.call(t,r)&&he(e,r,t[r]);if(ce)for(var r of ce(t))fe.call(t,r)&&he(e,r,t[r]);return e};const de={useCache:!0,skip:!1,throwErrors:!1};var ye=Object.defineProperty,be=Object.getOwnPropertySymbols,Ee=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable,ge=(e,t,r)=>t in e?ye(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var ve=Object.defineProperty,Oe=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,Ce=(e,t,r)=>t in e?ve(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;e.ClientContext=c,e.GraphQLClient=R,e.LocalGraphQLClient=class extends R{constructor(e){if(super(((e,t)=>{for(var r in t||(t={}))N.call(t,r)&&U(e,r,t[r]);if(G)for(var r of G(t))H.call(t,r)&&U(e,r,t[r]);return e})({url:""},e)),k(this,"localQueries"),k(this,"requestDelayMs"),this.localQueries=e.localQueries,this.requestDelayMs=e.requestDelayMs||0,!this.localQueries)throw Error("LocalGraphQLClient: `localQueries` object required in the constructor options")}verifyConfig(){}request(e){if(!this.localQueries[e.query])throw Error("LocalGraphQLClient: no query match for: "+e.query);return(t=this.requestDelayMs,new Promise((e=>{setTimeout(e,t)}))).then((()=>Promise.resolve(this.localQueries[e.query](e.variables,e.operationName)))).then((e=>{if(e instanceof _)return{error:e};const{data:t,errors:r}=x(e);return r.length>0?{data:t,error:new _({graphQLErrors:r})}:{data:t}}));var t}},e.LocalGraphQLError=_,e.useClientRequest=se,e.useManualQuery=(e,t={})=>se(e,((e,t)=>{for(var r in t||(t={}))Te.call(t,r)&&Ce(e,r,t[r]);if(Oe)for(var r of Oe(t))Ae.call(t,r)&&Ce(e,r,t[r]);return e})({useCache:!0,isManual:!0},t)),e.useMutation=(e,t={})=>se(e,((e,t)=>{for(var r in t||(t={}))Ee.call(t,r)&&ge(e,r,t[r]);if(be)for(var r of be(t))me.call(t,r)&&ge(e,r,t[r]);return e})({isMutation:!0},t)),e.useQuery=function(e,t={}){const r=pe(pe({},de),t),o=i.default.useContext(c),n=t.client||o,[s,a]=i.default.useState(!1),[u,l]=se(e,r);if(!n)throw Error("useQuery() requires a client to be passed in the options or as a context value");if(n.ssrMode&&!1!==t.ssr&&!s&&!t.skipCache&&!t.skip){if(!l.data&&!l.error){const e=u();n.ssrPromises.push(e)}a(!0)}const f=JSON.stringify(r);i.default.useEffect((()=>{r.skip||u()}),[e,f]),i.default.useEffect((()=>{if(l.error&&r.throwErrors)throw l.error}),[l.error,r.throwErrors]);const h=i.default.useCallback(((e={})=>u(pe({skipCache:!0,updateData:(e,t)=>t},e))),[u]);return i.default.useEffect((function(){const e=function(e){if(!e)return{};const t={};return(Array.isArray(e)?e:[e]).forEach((e=>{var r;if(null!=e)if("string"==typeof e)t[e]={};else if("object"==typeof(r=e)&&null!=r&&"mutation"in r){const{filter:r,mutation:o,refetchOnMutationError:n=!0}=e;t[o]={filter:r,refetchOnMutationError:n}}else(function(e){return"object"==typeof e&&null!=e&&"kind"in e})(e)&&(t[O(e)]={})})),t}(t.refetchAfterMutations),r=Object.keys(e),o=({mutation:t,variables:r,result:o})=>{const{filter:n,refetchOnMutationError:s}=e[t];(!n||r&&n(r))&&(s||!o.error)&&h()};return r.forEach((e=>{n.mutationsEmitter.on(e,o)})),()=>{r.forEach((e=>{n.mutationsEmitter.removeListener(e,o)}))}}),[t.refetchAfterMutations,h,n.mutationsEmitter]),p=pe({},l),ae(p,ue({refetch:h}));var p},e.useQueryClient=function(){return t.useContext(c)},e.useSubscription=function(e,r){const o=t.useRef(r);o.current=r;const n=t.useContext(c),s=e.client||n;if(!s)throw Error("useSubscription() requires a client to be passed in the options or as a context value");!function(e,t){a.useEffect(e,z(t))}((()=>{const t=s.createSubscription({query:e.query,variables:e.variables}).subscribe({next:e=>{o.current(e)},error:e=>{o.current({errors:e})},complete:()=>{t.unsubscribe()}});return()=>{t.unsubscribe()}}),[e.query,e.variables])},Object.defineProperty(e,"__esModule",{value:!0})}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("events")):"function"==typeof define&&define.amd?define(["exports","react","events"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).GraphQLHooks={},e.React,e.EventEmitter)}(this,(function(e,t,r){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=n(t),s=o(t),a=n(r);const u=i.default.createContext(null);function c(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}u.displayName="ClientContext";const l=class{constructor({uri:e,name:t,type:r}){this.uri=e,this.name=t,this.type=r}};var f=function(e){return"undefined"!=typeof File&&e instanceof File||"undefined"!=typeof Blob&&e instanceof Blob||e instanceof l},h=c(f);const p=f;var d=function(e,t="",r=p){const n=new Map,o=new Map;return{clone:function e(t,i,s){let a=t;if(r(t)){a=null;const e=n.get(t);e?e.push(i):n.set(t,[i])}else{const r=Array.isArray(t)||"undefined"!=typeof FileList&&t instanceof FileList;if(r||t&&t.constructor===Object){const n=o.has(t);if(n?a=o.get(t):(a=r?[]:{},o.set(t,a)),!s.has(t)){const o=i?i+".":"",u=new Set(s).add(t);if(r){let r=0;for(const i of t){const t=e(i,o+r++,u);n||a.push(t)}}else for(const r in t){const i=e(t[r],o+r,u);n||(a[r]=i)}}}}return a}(e,t,new Set),files:n}},E=c(d);const y=e=>h(e)||null!==e&&"object"==typeof e&&"function"==typeof e.pipe||null!==e&&"object"==typeof e&&"function"==typeof e.stream;function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);t>r;r++)n[r]=e[r];return n}function m(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return b(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?b(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return e.length>n?{done:!1,value:e[n++]}:{done:!0}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var v=function(){function e(e){var t=this;0===e.length&&e.push((function(e,t){return t()}));for(var r,n=function(){var e=r.value;if("function"!=typeof e)throw Error("GraphQLClient Middleware: middleware has to be of type `function`");t.run=function(r){return function(n,o){r(n,(function(){e.call(t,n,o.bind.call(o,null,n))}))}}(t.run)},o=m(e);!(r=o()).done;)n()}return e.prototype.run=function(e,t){t.apply(this,e)},e}(),g={NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType"},O=function(e){return e[e.Const=1]="Const",e[e.Var=2]="Var",e[e.Int=3]="Int",e[e.Float=4]="Float",e[e.BlockString=5]="BlockString",e[e.String=6]="String",e[e.Enum=7]="Enum",e}(O||{}),T=function(e){return e[e.Spread=1]="Spread",e[e.Name=2]="Name",e}(T||{});function D(e,t,r){for(var n="",o=0;e.length>o;o++)o&&(n+=t),n+=r(e[o]);return n}var A="\n",S={OperationDefinition(e){var t=e.operation;return e.name&&(t+=" "+e.name.value),e.variableDefinitions&&e.variableDefinitions.length&&(e.name||(t+=" "),t+="("+D(e.variableDefinitions,", ",S.VariableDefinition)+")"),e.directives&&e.directives.length&&(t+=" "+D(e.directives," ",S.Directive)),"query"!==t?t+" "+S.SelectionSet(e.selectionSet):S.SelectionSet(e.selectionSet)},VariableDefinition(e){var t=S.Variable(e.variable)+": "+C(e.type);return e.defaultValue&&(t+=" = "+C(e.defaultValue)),e.directives&&e.directives.length&&(t+=" "+D(e.directives," ",S.Directive)),t},Field(e){var t=e.alias?e.alias.value+": "+e.name.value:e.name.value;if(e.arguments&&e.arguments.length){var r=D(e.arguments,", ",S.Argument);t+=t.length+r.length+2>80?"("+(A+=" ")+D(e.arguments,A,S.Argument)+(A=A.slice(0,-2))+")":"("+r+")"}return e.directives&&e.directives.length&&(t+=" "+D(e.directives," ",S.Directive)),e.selectionSet&&(t+=" "+S.SelectionSet(e.selectionSet)),t},StringValue:e=>e.block?function(e){return'"""\n'+e.replace(/"""/g,'\\"""')+'\n"""'}(e.value).replace(/\n/g,A):function(e){return JSON.stringify(e)}(e.value),BooleanValue:e=>""+e.value,NullValue:e=>"null",IntValue:e=>e.value,FloatValue:e=>e.value,EnumValue:e=>e.value,Name:e=>e.value,Variable:e=>"$"+e.name.value,ListValue:e=>"["+D(e.values,", ",C)+"]",ObjectValue:e=>"{"+D(e.fields,", ",S.ObjectField)+"}",ObjectField:e=>e.name.value+": "+C(e.value),Document:e=>e.definitions&&e.definitions.length?D(e.definitions,"\n\n",C):"",SelectionSet:e=>"{"+(A+=" ")+D(e.selections,A,C)+(A=A.slice(0,-2))+"}",Argument:e=>e.name.value+": "+C(e.value),FragmentSpread(e){var t="..."+e.name.value;return e.directives&&e.directives.length&&(t+=" "+D(e.directives," ",S.Directive)),t},InlineFragment(e){var t="...";return e.typeCondition&&(t+=" on "+e.typeCondition.name.value),e.directives&&e.directives.length&&(t+=" "+D(e.directives," ",S.Directive)),t+" "+S.SelectionSet(e.selectionSet)},FragmentDefinition(e){var t="fragment "+e.name.value;return t+=" on "+e.typeCondition.name.value,e.directives&&e.directives.length&&(t+=" "+D(e.directives," ",S.Directive)),t+" "+S.SelectionSet(e.selectionSet)},Directive(e){var t="@"+e.name.value;return e.arguments&&e.arguments.length&&(t+="("+D(e.arguments,", ",S.Argument)+")"),t},NamedType:e=>e.name.value,ListType:e=>"["+C(e.type)+"]",NonNullType:e=>C(e.type)+"!"},C=e=>S[e.kind](e);function w(e){return"string"==typeof e?e:function(e){return A="\n",S[e.kind]?S[e.kind](e):""}(e)}var L=(e=>(e.DATA_INVALIDATED="DATA_INVALIDATED",e.DATA_UPDATED="DATA_UPDATED",e))(L||{}),j=Object.defineProperty,I=Object.defineProperties,N=Object.getOwnPropertyDescriptors,P=Object.getOwnPropertySymbols,R=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,F=(e,t,r)=>t in e?j(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))R.call(t,r)&&F(e,r,t[r]);if(P)for(var r of P(t))Q.call(t,r)&&F(e,r,t[r]);return e},M=(e,t,r)=>(F(e,"symbol"!=typeof t?t+"":t,r),r);class V{constructor(e){if(M(this,"url"),M(this,"ssrPromises"),M(this,"FormData"),M(this,"fetch"),M(this,"fetchOptions"),M(this,"logErrors"),M(this,"useGETForQueries"),M(this,"middleware"),M(this,"mutationsEmitter"),M(this,"cache"),M(this,"headers"),M(this,"ssrMode"),M(this,"subscriptionClient"),M(this,"fullWsTransport"),M(this,"onError"),!e)throw Error("GraphQLClient: config is required as first parameter");this.fullWsTransport=e.fullWsTransport,this.subscriptionClient="function"==typeof e.subscriptionClient?e.subscriptionClient():e.subscriptionClient,this.verifyConfig(e),this.cache=e.cache,this.headers=e.headers||{},this.ssrMode=e.ssrMode,this.ssrPromises=[],this.url=e.url,this.fetch=e.fetch||("undefined"!=typeof fetch&&fetch?fetch.bind(void 0):void 0),this.fetchOptions=e.fetchOptions||{},this.FormData=e.FormData||("undefined"!=typeof FormData?FormData:void 0),this.logErrors=void 0===e.logErrors||e.logErrors,this.onError=e.onError,this.useGETForQueries=!0===e.useGETForQueries,this.middleware=new v(e.middleware||[]),this.mutationsEmitter=new a.default}verifyConfig(e){if(!e.url){if(!this.fullWsTransport)throw Error("GraphQLClient: config.url is required");if(!this.subscriptionClient)throw Error("GraphQLClient: subscriptionClient is required")}if(e.fetch&&"function"!=typeof e.fetch)throw Error("GraphQLClient: config.fetch must be a function");if(("undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement||e.ssrMode)&&!e.fetch&&"function"!=typeof fetch)throw Error("GraphQLClient: fetch must be polyfilled or passed in new GraphQLClient({ fetch })");if(e.ssrMode&&!e.cache)throw Error("GraphQLClient: config.cache is required when in ssrMode")}setHeader(e,t){return this.headers[e]=t,this}setHeaders(e){return this.headers=e,this}removeHeader(e){return delete this.headers[e],this}logErrorResult({result:e,operation:t}){console.error("GraphQL Hooks Error"),console.groupCollapsed("---\x3e Full Error Details"),console.groupCollapsed("Operation:"),console.log(t),console.groupEnd();const r=e.error;r&&(r.fetchError&&(console.groupCollapsed("FETCH ERROR:"),console.log(r.fetchError),console.groupEnd()),r.httpError&&(console.groupCollapsed("HTTP ERROR:"),console.log(r.httpError),console.groupEnd()),r.graphQLErrors&&r.graphQLErrors.length>0&&(console.groupCollapsed("GRAPHQL ERROR:"),r.graphQLErrors.forEach((e=>console.log(e))),console.groupEnd())),console.groupEnd()}generateResult({fetchError:e,httpError:t,graphQLErrors:r,data:n}){return!!(r&&r.length>0||e||t)?{data:n,error:{fetchError:e,httpError:t,graphQLErrors:r}}:{data:n}}getCacheKey(e,t={}){return{operation:e,fetchOptions:_(_({},this.fetchOptions),t.fetchOptionsOverrides)}}getCache(e){const t=this.cache?this.cache.get(e):null;if(t)return t}saveCache(e,t){this.cache&&this.cache.set(e,t)}removeCache(e){var t;null==(t=this.cache)||t.delete(e)}getFetchOptions(e,t={}){const r=_(_({method:"POST",headers:_({},this.headers)},this.fetchOptions),t);if("GET"===r.method)return r;const{clone:n,files:o}=E(e,"",y),i=JSON.stringify(n);if(o.size){if(!this.FormData)throw Error("GraphQLClient: FormData must be polyfilled or passed in new GraphQLClient({ FormData })");const e=new this.FormData;e.append("operations",i);const t={};let n=0;o.forEach((e=>{t[++n]=e})),e.append("map",JSON.stringify(t)),n=0,o.forEach(((t,r)=>{e.append(""+ ++n,r,r.name)})),r.body=e}else r.headers["Content-Type"]="application/json",r.body=i;return r}request(e,t){const r=[],n=e=>r.push(e);return new Promise(((o,i)=>this.middleware.run({operation:e,client:this,addResponseHook:n,resolve:o,reject:i},(({operation:e})=>{const n=e=>{return r.length>0?(t=r,e=>t.reduce(((e,t)=>e.then(t)),Promise.resolve(e)))(e):e;var t};return this.fullWsTransport?this.requestViaWS(e).then(n).then(o).catch(i):this.url?this.requestViaHttp(e,t).then(n).then(o).catch(i):void i(Error("GraphQLClient: config.url is required"))}))))}requestViaHttp(e,t={}){let r=this.url;const n=this.getFetchOptions(e,t.fetchOptionsOverrides);if("GET"===n.method){const t=Object.entries(e).filter((([,e])=>!!e)).map((([e,t])=>("variables"!==e&&"extensions"!==e||(t=JSON.stringify(t)),`${e}=${encodeURIComponent(t)}`))).join("&");r=r+"?"+t}return this.fetch(r,n).then((e=>e.ok?e.json().then((({errors:r,data:n})=>this.generateResult({graphQLErrors:r,data:"function"==typeof t.responseReducer&&t.responseReducer(n,e)||n}))):e.text().then((t=>{const{status:r,statusText:n}=e;return this.generateResult({httpError:{status:r,statusText:n,body:t}})})))).catch((e=>this.generateResult({fetchError:e}))).then((t=>(t.error&&(this.logErrors&&this.logErrorResult({result:t,operation:e}),this.onError&&this.onError({result:t,operation:e})),t)))}requestViaWS(e){return new Promise(((t,r)=>{let n;try{const o=this.createSubscription(e).subscribe({next:e=>{n=e},error:r,complete:()=>{o.unsubscribe(),t(n)}})}catch(e){r(e)}}))}createSubscription(e){if(!this.subscriptionClient)throw Error("No SubscriptionClient! Please set in the constructor.");return"function"==typeof this.subscriptionClient.subscribe?{subscribe:t=>({unsubscribe:this.subscriptionClient.subscribe(e,t)})}:this.subscriptionClient.request(e)}invalidateQuery(e){const t="string"==typeof e?{query:e}:e,r=this.getCacheKey(t);this.cache&&r&&(this.removeCache(r),this.request(t).then((e=>{this.mutationsEmitter.emit(L.DATA_INVALIDATED,e)})).catch((e=>console.error(e))))}setQueryData(e,t){const r=this.getCacheKey("string"==typeof e?{query:e}:e);if(this.cache&&r){const e=this.cache.get(r),i=(n=_({},e),o={data:t(e.data||null)},I(n,N(o)));this.saveCache(r,i),this.mutationsEmitter.emit(L.DATA_UPDATED,i)}var n,o}}var q=Object.defineProperty,G=(e,t,r)=>(((e,t,r)=>{t in e?q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r})(e,"symbol"!=typeof t?t+"":t,r),r);class k{constructor(e){G(this,"fetchError"),G(this,"httpError"),G(this,"graphQLErrors"),this.fetchError=e.fetchError,this.httpError=e.httpError,this.graphQLErrors=e.graphQLErrors}}var U=Object.defineProperty,x=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable,J=(e,t,r)=>t in e?U(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,K=(e,t,r)=>(J(e,"symbol"!=typeof t?t+"":t,r),r);function W(e){const t={},r=[];for(const[n,o]of Object.entries(e)){const e=z(o);t[n]=e.data,null!=e.errors&&r.push(...e.errors)}return{data:t,errors:r}}function z(e){return e instanceof Error?{data:null,errors:[e]}:Array.isArray(e)?function(e){const t=Array(e.length),r=[];for(const[n,o]of e.entries()){const e=z(o);t[n]=e.data,null!=e.errors&&r.push(...e.errors)}return{data:t,errors:r}}(e):function(e){return e===Object(e)}(e)?W(e):{data:e,errors:null}}var $=Object.prototype.hasOwnProperty;function Y(e,t,r){for(r of e.keys())if(X(r,t))return r}function X(e,t){var r,n,o;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return""+e==""+t;if(r===Array){if((n=e.length)===t.length)for(;n--&&X(e[n],t[n]););return-1===n}if(r===Set){if(e.size!==t.size)return!1;for(n of e){if((o=n)&&"object"==typeof o&&!(o=Y(t,o)))return!1;if(!t.has(o))return!1}return!0}if(r===Map){if(e.size!==t.size)return!1;for(n of e){if((o=n[0])&&"object"==typeof o&&!(o=Y(t,o)))return!1;if(!X(n[1],t.get(o)))return!1}return!0}if(r===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(r===DataView){if((n=e.byteLength)===t.byteLength)for(;n--&&e.getInt8(n)===t.getInt8(n););return-1===n}if(ArrayBuffer.isView(e)){if((n=e.byteLength)===t.byteLength)for(;n--&&e[n]===t[n];);return-1===n}if(!r||"object"==typeof e){for(r in n=0,e){if($.call(e,r)&&++n&&!$.call(t,r))return!1;if(!(r in t)||!X(e[r],t[r]))return!1}return Object.keys(t).length===n}}return e!=e&&t!=t}function Z(e){var t=s.useRef(e),r=s.useRef(0);return X(e,t.current)||(t.current=e,r.current+=1),s.useMemo((function(){return t.current}),[r.current])}var ee=Object.defineProperty,te=Object.defineProperties,re=Object.getOwnPropertyDescriptors,ne=Object.getOwnPropertySymbols,oe=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable,se=(e,t,r)=>t in e?ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ae=(e,t)=>{for(var r in t||(t={}))oe.call(t,r)&&se(e,r,t[r]);if(ne)for(var r of ne(t))ie.call(t,r)&&se(e,r,t[r]);return e},ue=(e,t)=>te(e,re(t));const ce={RESET_STATE:"RESET_STATE",LOADING:"LOADING",CACHE_HIT:"CACHE_HIT",REQUEST_RESULT:"REQUEST_RESULT",DATA_UPDATED:"DATA_UPDATED"};function le(e,t){switch(t.type){case ce.RESET_STATE:return e.loading?e:t.initialState;case ce.LOADING:return e.error?ue(ae({},t.initialState),{data:e.data,loading:!0}):e.loading?e:ue(ae({},e),{loading:!0});case ce.DATA_UPDATED:return ue(ae({},e),{data:t.result.data});case ce.CACHE_HIT:return e.cacheHit&&!t.resetState?e:ue(ae({},t.result),{cacheHit:!0,loading:!1});case ce.REQUEST_RESULT:return ue(ae({},t.result),{data:e.data&&t.result.data&&t.updateData?t.updateData(e.data,t.result.data):t.result.data,cacheHit:!1,loading:!1});default:return e}}function fe(e,t={}){var r;const n=w(e),o=null!=(r=t.operationName)?r:function(e){var t,r;let n;if("string"!=typeof e){const o=e.definitions.filter((e=>e.kind===g.OPERATION_DEFINITION));1===o.length&&(n=null==(r=null==(t=o[0])?void 0:t.name)?void 0:r.value)}return n}(e),s=i.default.useContext(u),a=t.client||s;if(null==a)throw Error("A client must be provided in order to use the useClientRequest hook.");const c=i.default.useRef(!0),l=i.default.useRef(null),f={query:n,variables:t.variables,operationName:o,persisted:t.persisted};(t.persisted||a.useGETForQueries&&!t.isMutation)&&(t.fetchOptionsOverrides=ue(ae({},t.fetchOptionsOverrides),{method:"GET"}));const h=a.getCacheKey(f,t),p=t.isMutation||t.isManual||t.skip,d=!t.skipCache&&a.cache&&h?a.cache.get(h):null,E=ue(ae({},d),{cacheHit:!!d,loading:!p&&!d}),[y,b]=i.default.useReducer(le,E),m=JSON.stringify(h);i.default.useEffect((()=>{t.updateData||b({type:ce.RESET_STATE,initialState:E})}),[m]),i.default.useEffect((()=>(c.current=!0,()=>{c.current=!1})),[]);const v=i.default.useCallback((e=>{const r=ae(ae({},t),e),o=ue(ae({},f),{variables:r.variables,operationName:r.operationName});if(!c.current)return Promise.resolve({error:{fetchError:Error("fetchData should not be called after hook unmounted")},loading:!1,cacheHit:!1});const i=a.getCacheKey(o,r);l.current=i;const s=r.skipCache?null:a.getCache(i);return s?(b({type:ce.CACHE_HIT,result:s,resetState:m!==JSON.stringify(y.cacheKey)}),Promise.resolve(s)):(b({type:ce.LOADING,initialState:E}),a.request(o,r).then((e=>{if(r.updateData&&"function"!=typeof r.updateData)throw Error("options.updateData must be a function");const s=ae({},e);if(r.useCache&&(s.useCache=!0,s.cacheKey=i,a.ssrMode)){const e={error:s.error,data:r.updateData?r.updateData(y.data,s.data):s.data};a.saveCache(i,e)}if(c.current&&i===l.current&&b({type:ce.REQUEST_RESULT,updateData:r.updateData,result:s}),t.isMutation&&a.mutationsEmitter.emit(n,ue(ae({},o),{mutation:n,result:s})),!(null==e?void 0:e.error)&&r.onSuccess){if("function"!=typeof r.onSuccess)throw Error("options.onSuccess must be a function");r.onSuccess(e,o.variables)}return e})))}),Z([a,t,f]));i.default.useEffect((()=>{y.useCache&&!a.ssrMode&&a.saveCache(y.cacheKey,y)}),[a,y]);return i.default.useEffect((()=>{const e=(e,t)=>{b({type:t,result:e})},t=t=>e(t,ce.REQUEST_RESULT),r=t=>e(t,ce.DATA_UPDATED),n=a.mutationsEmitter;return n.on(L.DATA_INVALIDATED,t),n.on(L.DATA_UPDATED,r),()=>{n&&(n.removeListener(L.DATA_INVALIDATED,t),n.removeListener(L.DATA_UPDATED,r))}}),[]),[v,y,(e={})=>b({type:ce.RESET_STATE,initialState:ae(ae({},E),e)})]}var he=Object.defineProperty,pe=Object.defineProperties,de=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable,me=(e,t,r)=>t in e?he(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ve=(e,t)=>{for(var r in t||(t={}))ye.call(t,r)&&me(e,r,t[r]);if(Ee)for(var r of Ee(t))be.call(t,r)&&me(e,r,t[r]);return e};const ge={useCache:!0,skip:!1,throwErrors:!1};var Oe=Object.defineProperty,Te=Object.getOwnPropertySymbols,De=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,Se=(e,t,r)=>t in e?Oe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Ce=Object.defineProperty,we=Object.getOwnPropertySymbols,Le=Object.prototype.hasOwnProperty,je=Object.prototype.propertyIsEnumerable,Ie=(e,t,r)=>t in e?Ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;e.ClientContext=u,e.GraphQLClient=V,e.LocalGraphQLClient=class extends V{constructor(e){if(super(((e,t)=>{for(var r in t||(t={}))H.call(t,r)&&J(e,r,t[r]);if(x)for(var r of x(t))B.call(t,r)&&J(e,r,t[r]);return e})({url:""},e)),K(this,"localQueries"),K(this,"requestDelayMs"),this.localQueries=e.localQueries,this.requestDelayMs=e.requestDelayMs||0,!this.localQueries)throw Error("LocalGraphQLClient: `localQueries` object required in the constructor options")}verifyConfig(){}request(e){if(!this.localQueries[e.query])throw Error("LocalGraphQLClient: no query match for: "+e.query);return(t=this.requestDelayMs,new Promise((e=>{setTimeout(e,t)}))).then((()=>Promise.resolve(this.localQueries[e.query](e.variables,e.operationName)))).then((e=>{if(e instanceof k)return{error:e};const{data:t,errors:r}=W(e);return r.length>0?{data:t,error:new k({graphQLErrors:r})}:{data:t}}));var t}},e.LocalGraphQLError=k,e.useClientRequest=fe,e.useManualQuery=(e,t={})=>fe(e,((e,t)=>{for(var r in t||(t={}))Le.call(t,r)&&Ie(e,r,t[r]);if(we)for(var r of we(t))je.call(t,r)&&Ie(e,r,t[r]);return e})({useCache:!0,isManual:!0},t)),e.useMutation=(e,t={})=>fe(e,((e,t)=>{for(var r in t||(t={}))De.call(t,r)&&Se(e,r,t[r]);if(Te)for(var r of Te(t))Ae.call(t,r)&&Se(e,r,t[r]);return e})({isMutation:!0},t)),e.useQuery=function(e,t={}){const r=ve(ve({},ge),t),n=i.default.useContext(u),o=t.client||n,[s,a]=i.default.useState(!1),[c,l]=fe(e,r);if(!o)throw Error("useQuery() requires a client to be passed in the options or as a context value");if(o.ssrMode&&!1!==t.ssr&&!s&&!t.skipCache&&!t.skip){if(!l.data&&!l.error){const e=c();o.ssrPromises.push(e)}a(!0)}const f=((e,t)=>{var r={};for(var n in e)ye.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&Ee)for(var n of Ee(e))0>t.indexOf(n)&&be.call(e,n)&&(r[n]=e[n]);return r})(r,["client"]),h=JSON.stringify(f);i.default.useEffect((()=>{r.skip||c()}),[e,h]),i.default.useEffect((()=>{if(l.error&&r.throwErrors)throw l.error}),[l.error,r.throwErrors]);const p=i.default.useCallback(((e={})=>c(ve({skipCache:!0,updateData:(e,t)=>t},e))),[c]);return i.default.useEffect((function(){const e=function(e){if(!e)return{};const t={};return(Array.isArray(e)?e:[e]).forEach((e=>{var r;if(null!=e)if("string"==typeof e)t[e]={};else if("object"==typeof(r=e)&&null!=r&&"mutation"in r){const{filter:r,mutation:n,refetchOnMutationError:o=!0}=e;t[n]={filter:r,refetchOnMutationError:o}}else(function(e){return"object"==typeof e&&null!=e&&"kind"in e})(e)&&(t[w(e)]={})})),t}(t.refetchAfterMutations),r=Object.keys(e),n=({mutation:t,variables:r,result:n})=>{const{filter:o,refetchOnMutationError:i}=e[t];(!o||r&&o(r))&&(i||!n.error)&&p()};return r.forEach((e=>{o.mutationsEmitter.on(e,n)})),()=>{r.forEach((e=>{o.mutationsEmitter.removeListener(e,n)}))}}),[t.refetchAfterMutations,p,o.mutationsEmitter]),d=ve({},l),pe(d,de({refetch:p}));var d},e.useQueryClient=function(){return t.useContext(u)},e.useSubscription=function(e,r){const n=t.useRef(r);n.current=r;const o=t.useContext(u),i=e.client||o;if(!i)throw Error("useSubscription() requires a client to be passed in the options or as a context value");!function(e,t){s.useEffect(e,Z(t))}((()=>{const t=i.createSubscription({query:e.query,variables:e.variables}).subscribe({next:e=>{n.current(e)},error:e=>{n.current({errors:e})},complete:()=>{t.unsubscribe()}});return()=>{t.unsubscribe()}}),[e.query,e.variables])},Object.defineProperty(e,"__esModule",{value:!0})}));
import React, { useContext, useRef } from 'react';
import EventEmitter from 'events';
import { isExtractableFile, extractFiles } from 'extract-files';
import { Kind, print } from 'graphql';
import { Kind, print } from '@0no-co/graphql.web';
import useDeepCompareEffect, { useDeepCompareMemoize } from 'use-deep-compare-effect';

@@ -866,2 +866,14 @@

var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __objRest = (source, exclude) => {
var target = {};
for (var prop in source)
if (__hasOwnProp$2.call(source, prop) && exclude.indexOf(prop) < 0)
target[prop] = source[prop];
if (source != null && __getOwnPropSymbols$2)
for (var prop of __getOwnPropSymbols$2(source)) {
if (exclude.indexOf(prop) < 0 && __propIsEnum$2.call(source, prop))
target[prop] = source[prop];
}
return target;
};
const defaultOpts = {

@@ -890,3 +902,4 @@ useCache: true,

}
const stringifiedAllOpts = JSON.stringify(allOpts);
const _a = allOpts, allOptsToStringify = __objRest(_a, ["client"]);
const stringifiedAllOpts = JSON.stringify(allOptsToStringify);
React.useEffect(() => {

@@ -893,0 +906,0 @@ if (allOpts.skip) {

@@ -8,3 +8,3 @@ 'use strict';

var extractFiles = require('extract-files');
var graphql = require('graphql');
var graphql_web = require('@0no-co/graphql.web');
var useDeepCompareEffect = require('use-deep-compare-effect');

@@ -110,3 +110,3 @@

const operationDefinitions = document.definitions.filter(
(definition) => definition.kind === graphql.Kind.OPERATION_DEFINITION
(definition) => definition.kind === graphql_web.Kind.OPERATION_DEFINITION
);

@@ -123,3 +123,3 @@ if (operationDefinitions.length === 1) {

}
return graphql.print(document);
return graphql_web.print(document);
}

@@ -879,2 +879,14 @@

var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __objRest = (source, exclude) => {
var target = {};
for (var prop in source)
if (__hasOwnProp$2.call(source, prop) && exclude.indexOf(prop) < 0)
target[prop] = source[prop];
if (source != null && __getOwnPropSymbols$2)
for (var prop of __getOwnPropSymbols$2(source)) {
if (exclude.indexOf(prop) < 0 && __propIsEnum$2.call(source, prop))
target[prop] = source[prop];
}
return target;
};
const defaultOpts = {

@@ -903,3 +915,4 @@ useCache: true,

}
const stringifiedAllOpts = JSON.stringify(allOpts);
const _a = allOpts, allOptsToStringify = __objRest(_a, ["client"]);
const stringifiedAllOpts = JSON.stringify(allOptsToStringify);
React__default["default"].useEffect(() => {

@@ -906,0 +919,0 @@ if (allOpts.skip) {

@@ -1,2 +0,2 @@

import { TypedDocumentNode } from '@graphql-typed-document-node/core';
import { TypedDocumentNode } from './types/typedDocumentNode';
import { UseClientRequestOptions, FetchData, UseClientRequestResult, ResetFunction, GraphQLResponseError } from './types/common-types';

@@ -3,0 +3,0 @@ declare function useClientRequest<ResponseData = any, Variables = object, TGraphQLError extends GraphQLResponseError = GraphQLResponseError>(query: string | TypedDocumentNode<ResponseData, Variables>, initialOpts?: UseClientRequestOptions<ResponseData, Variables>): [

@@ -1,4 +0,4 @@

import type { TypedDocumentNode } from '@graphql-typed-document-node/core';
import type { TypedDocumentNode } from './types/typedDocumentNode';
import { FetchData, ResetFunction, UseClientRequestOptions, UseClientRequestResult } from './types/common-types';
declare const useManualQuery: <ResponseData = any, Variables = object, TGraphQLError = object>(query: string | TypedDocumentNode<ResponseData, Variables>, options?: Omit<UseClientRequestOptions<ResponseData, Variables, import("./types/common-types").GraphQLResponseError>, "useCache" | "isManual">) => [FetchData<ResponseData, Variables, TGraphQLError>, UseClientRequestResult<ResponseData, TGraphQLError>, ResetFunction];
export default useManualQuery;

@@ -1,4 +0,4 @@

import type { TypedDocumentNode } from '@graphql-typed-document-node/core';
import type { TypedDocumentNode } from './types/typedDocumentNode';
import { UseClientRequestOptions, FetchData, UseClientRequestResult, ResetFunction } from './types/common-types';
declare const useMutation: <ResponseData = any, Variables = object, TGraphQLError = object>(query: string | TypedDocumentNode<ResponseData, Variables>, options?: Omit<UseClientRequestOptions<ResponseData, Variables, import("./types/common-types").GraphQLResponseError>, "isMutation">) => [FetchData<ResponseData, Variables, TGraphQLError>, UseClientRequestResult<ResponseData, TGraphQLError>, ResetFunction];
export default useMutation;

@@ -1,4 +0,4 @@

import type { TypedDocumentNode } from '@graphql-typed-document-node/core';
import type { TypedDocumentNode } from './types/typedDocumentNode';
import { GraphQLResponseError, UseQueryOptions, UseQueryResult } from './types/common-types';
declare function useQuery<ResponseData = any, Variables = object, TGraphQLError extends GraphQLResponseError = GraphQLResponseError, TRefetchData = any, TRefetchVariables = object>(query: string | TypedDocumentNode<ResponseData, Variables>, opts?: UseQueryOptions<ResponseData, Variables, TRefetchData, TRefetchVariables>): UseQueryResult<ResponseData, Variables, TGraphQLError>;
export default useQuery;
{
"name": "graphql-hooks",
"version": "7.0.0",
"version": "8.0.0",
"description": "Graphql Hooks",

@@ -36,8 +36,7 @@ "main": "lib/graphql-hooks.js",

"peerDependencies": {
"graphql": "^16.8.1",
"react": "^17.0.0 || ^18.0.0"
},
"dependencies": {
"@0no-co/graphql.web": "^1.0.7",
"@aws-crypto/sha256-browser": "^5.2.0",
"@graphql-typed-document-node/core": "^3.2.0",
"buffer": "^6.0.3",

@@ -49,3 +48,3 @@ "events": "^3.3.0",

"devDependencies": {
"@testing-library/react": "^14.0.0",
"@testing-library/react": "^15.0.7",
"@types/extract-files": "^8.1.1",

@@ -73,3 +72,3 @@ "cross-env": "^7.0.3",

"homepage": "https://github.com/nearform/graphql-hooks#readme",
"gitHead": "4b44a40fc1cd5fee908a6d2d34a087fe11fb83cf"
"gitHead": "86b65ba4cd5ef0bd78d26b6101b7338b6afd802c"
}

@@ -1452,39 +1452,43 @@ # graphql-hooks

<table>
<tr>
<td align="center"><a href="https://twitter.com/bmullan91"><img src="https://avatars1.githubusercontent.com/u/1939483?v=4" width="100px;" alt=""/><br /><sub><b>Brian Mullan</b></sub></a><br /><a href="#question-bmullan91" title="Answering Questions">๐Ÿ’ฌ</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Abmullan91" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=bmullan91" title="Code">๐Ÿ’ป</a> <a href="#content-bmullan91" title="Content">๐Ÿ–‹</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=bmullan91" title="Documentation">๐Ÿ“–</a> <a href="#example-bmullan91" title="Examples">๐Ÿ’ก</a> <a href="#ideas-bmullan91" title="Ideas, Planning, & Feedback">๐Ÿค”</a> <a href="#maintenance-bmullan91" title="Maintenance">๐Ÿšง</a> <a href="https://github.com/nearform/graphql-hooks/pulls?q=is%3Apr+reviewed-by%3Abmullan91" title="Reviewed Pull Requests">๐Ÿ‘€</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=bmullan91" title="Tests">โš ๏ธ</a></td>
<td align="center"><a href="https://jackdc.com"><img src="https://avatars0.githubusercontent.com/u/1485654?v=4" width="100px;" alt=""/><br /><sub><b>Jack Clark</b></sub></a><br /><a href="#question-jackdclark" title="Answering Questions">๐Ÿ’ฌ</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Ajackdclark" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=jackdclark" title="Code">๐Ÿ’ป</a> <a href="#content-jackdclark" title="Content">๐Ÿ–‹</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=jackdclark" title="Documentation">๐Ÿ“–</a> <a href="#example-jackdclark" title="Examples">๐Ÿ’ก</a> <a href="#ideas-jackdclark" title="Ideas, Planning, & Feedback">๐Ÿค”</a> <a href="#maintenance-jackdclark" title="Maintenance">๐Ÿšง</a> <a href="https://github.com/nearform/graphql-hooks/pulls?q=is%3Apr+reviewed-by%3Ajackdclark" title="Reviewed Pull Requests">๐Ÿ‘€</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=jackdclark" title="Tests">โš ๏ธ</a></td>
<td align="center"><a href="http://twitter.com/joezo"><img src="https://avatars1.githubusercontent.com/u/2870255?v=4" width="100px;" alt=""/><br /><sub><b>Joe Warren</b></sub></a><br /><a href="#question-Joezo" title="Answering Questions">๐Ÿ’ฌ</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3AJoezo" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=Joezo" title="Code">๐Ÿ’ป</a> <a href="#content-Joezo" title="Content">๐Ÿ–‹</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=Joezo" title="Documentation">๐Ÿ“–</a> <a href="#example-Joezo" title="Examples">๐Ÿ’ก</a> <a href="#ideas-Joezo" title="Ideas, Planning, & Feedback">๐Ÿค”</a> <a href="#maintenance-Joezo" title="Maintenance">๐Ÿšง</a> <a href="https://github.com/nearform/graphql-hooks/pulls?q=is%3Apr+reviewed-by%3AJoezo" title="Reviewed Pull Requests">๐Ÿ‘€</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=Joezo" title="Tests">โš ๏ธ</a></td>
<td align="center"><a href="http://simoneb.github.io"><img src="https://avatars1.githubusercontent.com/u/20181?v=4" width="100px;" alt=""/><br /><sub><b>Simone Busoli</b></sub></a><br /><a href="#question-simoneb" title="Answering Questions">๐Ÿ’ฌ</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Asimoneb" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=simoneb" title="Documentation">๐Ÿ“–</a></td>
<td align="center"><a href="https://jheytompkins.com"><img src="https://avatars1.githubusercontent.com/u/842246?v=4" width="100px;" alt=""/><br /><sub><b>jhey tompkins</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=jh3y" title="Tests">โš ๏ธ</a> <a href="#question-jh3y" title="Answering Questions">๐Ÿ’ฌ</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Ajh3y" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=jh3y" title="Code">๐Ÿ’ป</a> <a href="#content-jh3y" title="Content">๐Ÿ–‹</a> <a href="https://github.com/nearform/graphql-hooks/pulls?q=is%3Apr+reviewed-by%3Ajh3y" title="Reviewed Pull Requests">๐Ÿ‘€</a></td>
<td align="center"><a href="https://haroen.me"><img src="https://avatars3.githubusercontent.com/u/6270048?v=4" width="100px;" alt=""/><br /><sub><b>Haroen Viaene</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/issues?q=author%3AHaroenv" title="Bug reports">๐Ÿ›</a></td>
<td align="center"><a href="https://github.com/aribouius"><img src="https://avatars2.githubusercontent.com/u/10748727?v=4" width="100px;" alt=""/><br /><sub><b>Ari Bouius</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=aribouius" title="Documentation">๐Ÿ“–</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Aaribouius" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=aribouius" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=aribouius" title="Tests">โš ๏ธ</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/kkogovsek"><img src="https://avatars1.githubusercontent.com/u/8089644?v=4" width="100px;" alt=""/><br /><sub><b>Klemen Kogovลกek</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Akkogovsek" title="Bug reports">๐Ÿ›</a> <a href="#ideas-kkogovsek" title="Ideas, Planning, & Feedback">๐Ÿค”</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=kkogovsek" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=kkogovsek" title="Tests">โš ๏ธ</a></td>
<td align="center"><a href="https://github.com/wescoder"><img src="https://avatars0.githubusercontent.com/u/22945955?v=4" width="100px;" alt=""/><br /><sub><b>Wรฉsley Queiroz</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Awescoder" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=wescoder" title="Code">๐Ÿ’ป</a></td>
<td align="center"><a href="https://www.good-idea.studio"><img src="https://avatars3.githubusercontent.com/u/11514928?v=4" width="100px;" alt=""/><br /><sub><b>Joseph Thomas</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Agood-idea" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=good-idea" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=good-idea" title="Tests">โš ๏ธ</a></td>
<td align="center"><a href="http://edvinasbartkus.lt"><img src="https://avatars0.githubusercontent.com/u/202988?v=4" width="100px;" alt=""/><br /><sub><b>Edvinas Bartkus</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=edvinasbartkus" title="Code">๐Ÿ’ป</a> <a href="#question-edvinasbartkus" title="Answering Questions">๐Ÿ’ฌ</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Aedvinasbartkus" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=edvinasbartkus" title="Documentation">๐Ÿ“–</a> <a href="#example-edvinasbartkus" title="Examples">๐Ÿ’ก</a> <a href="#ideas-edvinasbartkus" title="Ideas, Planning, & Feedback">๐Ÿค”</a> <a href="#maintenance-edvinasbartkus" title="Maintenance">๐Ÿšง</a> <a href="https://github.com/nearform/graphql-hooks/pulls?q=is%3Apr+reviewed-by%3Aedvinasbartkus" title="Reviewed Pull Requests">๐Ÿ‘€</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=edvinasbartkus" title="Tests">โš ๏ธ</a></td>
<td align="center"><a href="https://github.com/olistic"><img src="https://avatars1.githubusercontent.com/u/5600126?v=4" width="100px;" alt=""/><br /><sub><b>Matรญas Olivera</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Aolistic" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=olistic" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=olistic" title="Tests">โš ๏ธ</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=olistic" title="Documentation">๐Ÿ“–</a></td>
<td align="center"><a href="https://github.com/tcudok-jg"><img src="https://avatars3.githubusercontent.com/u/50208575?v=4" width="100px;" alt=""/><br /><sub><b>tcudok-jg</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=tcudok-jg" title="Code">๐Ÿ’ป</a></td>
<td align="center"><a href="https://github.com/heymartinadams"><img src="https://avatars2.githubusercontent.com/u/11673745?v=4" width="100px;" alt=""/><br /><sub><b>Martin Adams</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=heymartinadams" title="Documentation">๐Ÿ“–</a></td>
</tr>
<tr>
<td align="center"><a href="http://gal.js.org"><img src="https://avatars3.githubusercontent.com/u/191608?v=4" width="100px;" alt=""/><br /><sub><b>Gal Dubitski</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=galmail" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Agalmail" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=galmail" title="Documentation">๐Ÿ“–</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=galmail" title="Tests">โš ๏ธ</a></td>
<td align="center"><a href="https://twitter.com/osdevisnot"><img src="https://avatars1.githubusercontent.com/u/802242?v=4" width="100px;" alt=""/><br /><sub><b>Abhishek Shende</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=osdevisnot" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Aosdevisnot" title="Bug reports">๐Ÿ›</a></td>
<td align="center"><a href="http://fabien.cool"><img src="https://avatars1.githubusercontent.com/u/1702255?v=4" width="100px;" alt=""/><br /><sub><b>fabienheureux</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/pulls?q=is%3Apr+reviewed-by%3Afabienheureux" title="Reviewed Pull Requests">๐Ÿ‘€</a></td>
<td align="center"><a href="https://hughboylan.com"><img src="https://avatars2.githubusercontent.com/u/2158740?v=4" width="100px;" alt=""/><br /><sub><b>Hugh Boylan</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/pulls?q=is%3Apr+reviewed-by%3Ahboylan" title="Reviewed Pull Requests">๐Ÿ‘€</a></td>
<td align="center"><a href="https://github.com/bmamouri"><img src="https://avatars2.githubusercontent.com/u/6419173?v=4" width="100px;" alt=""/><br /><sub><b>Baqer Mamouri</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=bmamouri" title="Code">๐Ÿ’ป</a></td>
<td align="center"><a href="http://www.netnotion.com"><img src="https://avatars0.githubusercontent.com/u/17315?v=4" width="100px;" alt=""/><br /><sub><b>Guillermo Gonzalez </b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=helloguille" title="Code">๐Ÿ’ป</a></td>
<td align="center"><a href="https://github.com/brookback"><img src="https://avatars0.githubusercontent.com/u/30257156?v=4" width="100px;" alt=""/><br /><sub><b>Johan Brook</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=brookback" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Abrookback" title="Bug reports">๐Ÿ›</a> <a href="#maintenance-brookback" title="Maintenance">๐Ÿšง</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/frikille"><img src="https://avatars2.githubusercontent.com/u/569278?v=4" width="100px;" alt=""/><br /><sub><b>Peter Balazs</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=frikille" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=frikille" title="Documentation">๐Ÿ“–</a> <a href="#example-frikille" title="Examples">๐Ÿ’ก</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=frikille" title="Tests">โš ๏ธ</a></td>
<td align="center"><a href="http://panz3r.dev"><img src="https://avatars3.githubusercontent.com/u/1754457?v=4" width="100px;" alt=""/><br /><sub><b>Mattia Panzeri</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=panz3r" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=panz3r" title="Tests">โš ๏ธ</a></td>
<td align="center"><a href="https://github.com/lynxtaa"><img src="https://avatars1.githubusercontent.com/u/22496946?v=4" width="100px;" alt=""/><br /><sub><b>Alex Kondratyuk</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=lynxtaa" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=lynxtaa" title="Tests">โš ๏ธ</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=lynxtaa" title="Documentation">๐Ÿ“–</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Alynxtaa" title="Bug reports">๐Ÿ›</a></td>
<td align="center"><a href="https://github.com/cepelinc"><img src="https://avatars1.githubusercontent.com/u/25613873?v=4" width="100px;" alt=""/><br /><sub><b>Matias Cepeda</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=cepelinc" title="Documentation">๐Ÿ“–</a></td>
<td align="center"><a href="https://github.com/jackh726"><img src="https://avatars1.githubusercontent.com/u/31162821?v=4" width="100px;" alt=""/><br /><sub><b>Jack Huey</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Ajackh726" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=jackh726" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=jackh726" title="Documentation">๐Ÿ“–</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=jackh726" title="Tests">โš ๏ธ</a></td>
</tr>
<tbody>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/bmullan91"><img src="https://avatars1.githubusercontent.com/u/1939483?v=4?s=100" width="100px;" alt="Brian Mullan"/><br /><sub><b>Brian Mullan</b></sub></a><br /><a href="#question-bmullan91" title="Answering Questions">๐Ÿ’ฌ</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Abmullan91" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=bmullan91" title="Code">๐Ÿ’ป</a> <a href="#content-bmullan91" title="Content">๐Ÿ–‹</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=bmullan91" title="Documentation">๐Ÿ“–</a> <a href="#example-bmullan91" title="Examples">๐Ÿ’ก</a> <a href="#ideas-bmullan91" title="Ideas, Planning, & Feedback">๐Ÿค”</a> <a href="#maintenance-bmullan91" title="Maintenance">๐Ÿšง</a> <a href="https://github.com/nearform/graphql-hooks/pulls?q=is%3Apr+reviewed-by%3Abmullan91" title="Reviewed Pull Requests">๐Ÿ‘€</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=bmullan91" title="Tests">โš ๏ธ</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://jackdc.com"><img src="https://avatars0.githubusercontent.com/u/1485654?v=4?s=100" width="100px;" alt="Jack Clark"/><br /><sub><b>Jack Clark</b></sub></a><br /><a href="#question-jackdclark" title="Answering Questions">๐Ÿ’ฌ</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Ajackdclark" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=jackdclark" title="Code">๐Ÿ’ป</a> <a href="#content-jackdclark" title="Content">๐Ÿ–‹</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=jackdclark" title="Documentation">๐Ÿ“–</a> <a href="#example-jackdclark" title="Examples">๐Ÿ’ก</a> <a href="#ideas-jackdclark" title="Ideas, Planning, & Feedback">๐Ÿค”</a> <a href="#maintenance-jackdclark" title="Maintenance">๐Ÿšง</a> <a href="https://github.com/nearform/graphql-hooks/pulls?q=is%3Apr+reviewed-by%3Ajackdclark" title="Reviewed Pull Requests">๐Ÿ‘€</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=jackdclark" title="Tests">โš ๏ธ</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://twitter.com/joezo"><img src="https://avatars1.githubusercontent.com/u/2870255?v=4?s=100" width="100px;" alt="Joe Warren"/><br /><sub><b>Joe Warren</b></sub></a><br /><a href="#question-Joezo" title="Answering Questions">๐Ÿ’ฌ</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3AJoezo" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=Joezo" title="Code">๐Ÿ’ป</a> <a href="#content-Joezo" title="Content">๐Ÿ–‹</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=Joezo" title="Documentation">๐Ÿ“–</a> <a href="#example-Joezo" title="Examples">๐Ÿ’ก</a> <a href="#ideas-Joezo" title="Ideas, Planning, & Feedback">๐Ÿค”</a> <a href="#maintenance-Joezo" title="Maintenance">๐Ÿšง</a> <a href="https://github.com/nearform/graphql-hooks/pulls?q=is%3Apr+reviewed-by%3AJoezo" title="Reviewed Pull Requests">๐Ÿ‘€</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=Joezo" title="Tests">โš ๏ธ</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://simoneb.github.io"><img src="https://avatars1.githubusercontent.com/u/20181?v=4?s=100" width="100px;" alt="Simone Busoli"/><br /><sub><b>Simone Busoli</b></sub></a><br /><a href="#question-simoneb" title="Answering Questions">๐Ÿ’ฌ</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Asimoneb" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=simoneb" title="Documentation">๐Ÿ“–</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://jheytompkins.com"><img src="https://avatars1.githubusercontent.com/u/842246?v=4?s=100" width="100px;" alt="jhey tompkins"/><br /><sub><b>jhey tompkins</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=jh3y" title="Tests">โš ๏ธ</a> <a href="#question-jh3y" title="Answering Questions">๐Ÿ’ฌ</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Ajh3y" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=jh3y" title="Code">๐Ÿ’ป</a> <a href="#content-jh3y" title="Content">๐Ÿ–‹</a> <a href="https://github.com/nearform/graphql-hooks/pulls?q=is%3Apr+reviewed-by%3Ajh3y" title="Reviewed Pull Requests">๐Ÿ‘€</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://haroen.me"><img src="https://avatars3.githubusercontent.com/u/6270048?v=4?s=100" width="100px;" alt="Haroen Viaene"/><br /><sub><b>Haroen Viaene</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/issues?q=author%3AHaroenv" title="Bug reports">๐Ÿ›</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/aribouius"><img src="https://avatars2.githubusercontent.com/u/10748727?v=4?s=100" width="100px;" alt="Ari Bouius"/><br /><sub><b>Ari Bouius</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=aribouius" title="Documentation">๐Ÿ“–</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Aaribouius" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=aribouius" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=aribouius" title="Tests">โš ๏ธ</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kkogovsek"><img src="https://avatars1.githubusercontent.com/u/8089644?v=4?s=100" width="100px;" alt="Klemen Kogovลกek"/><br /><sub><b>Klemen Kogovลกek</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Akkogovsek" title="Bug reports">๐Ÿ›</a> <a href="#ideas-kkogovsek" title="Ideas, Planning, & Feedback">๐Ÿค”</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=kkogovsek" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=kkogovsek" title="Tests">โš ๏ธ</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wescoder"><img src="https://avatars0.githubusercontent.com/u/22945955?v=4?s=100" width="100px;" alt="Wรฉsley Queiroz"/><br /><sub><b>Wรฉsley Queiroz</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Awescoder" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=wescoder" title="Code">๐Ÿ’ป</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.good-idea.studio"><img src="https://avatars3.githubusercontent.com/u/11514928?v=4?s=100" width="100px;" alt="Joseph Thomas"/><br /><sub><b>Joseph Thomas</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Agood-idea" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=good-idea" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=good-idea" title="Tests">โš ๏ธ</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://edvinasbartkus.lt"><img src="https://avatars0.githubusercontent.com/u/202988?v=4?s=100" width="100px;" alt="Edvinas Bartkus"/><br /><sub><b>Edvinas Bartkus</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=edvinasbartkus" title="Code">๐Ÿ’ป</a> <a href="#question-edvinasbartkus" title="Answering Questions">๐Ÿ’ฌ</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Aedvinasbartkus" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=edvinasbartkus" title="Documentation">๐Ÿ“–</a> <a href="#example-edvinasbartkus" title="Examples">๐Ÿ’ก</a> <a href="#ideas-edvinasbartkus" title="Ideas, Planning, & Feedback">๐Ÿค”</a> <a href="#maintenance-edvinasbartkus" title="Maintenance">๐Ÿšง</a> <a href="https://github.com/nearform/graphql-hooks/pulls?q=is%3Apr+reviewed-by%3Aedvinasbartkus" title="Reviewed Pull Requests">๐Ÿ‘€</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=edvinasbartkus" title="Tests">โš ๏ธ</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/olistic"><img src="https://avatars1.githubusercontent.com/u/5600126?v=4?s=100" width="100px;" alt="Matรญas Olivera"/><br /><sub><b>Matรญas Olivera</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Aolistic" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=olistic" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=olistic" title="Tests">โš ๏ธ</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=olistic" title="Documentation">๐Ÿ“–</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tcudok-jg"><img src="https://avatars3.githubusercontent.com/u/50208575?v=4?s=100" width="100px;" alt="tcudok-jg"/><br /><sub><b>tcudok-jg</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=tcudok-jg" title="Code">๐Ÿ’ป</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/heymartinadams"><img src="https://avatars2.githubusercontent.com/u/11673745?v=4?s=100" width="100px;" alt="Martin Adams"/><br /><sub><b>Martin Adams</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=heymartinadams" title="Documentation">๐Ÿ“–</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="http://gal.js.org"><img src="https://avatars3.githubusercontent.com/u/191608?v=4?s=100" width="100px;" alt="Gal Dubitski"/><br /><sub><b>Gal Dubitski</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=galmail" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Agalmail" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=galmail" title="Documentation">๐Ÿ“–</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=galmail" title="Tests">โš ๏ธ</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/osdevisnot"><img src="https://avatars1.githubusercontent.com/u/802242?v=4?s=100" width="100px;" alt="Abhishek Shende"/><br /><sub><b>Abhishek Shende</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=osdevisnot" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Aosdevisnot" title="Bug reports">๐Ÿ›</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://fabien.cool"><img src="https://avatars1.githubusercontent.com/u/1702255?v=4?s=100" width="100px;" alt="fabienheureux"/><br /><sub><b>fabienheureux</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/pulls?q=is%3Apr+reviewed-by%3Afabienheureux" title="Reviewed Pull Requests">๐Ÿ‘€</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://hughboylan.com"><img src="https://avatars2.githubusercontent.com/u/2158740?v=4?s=100" width="100px;" alt="Hugh Boylan"/><br /><sub><b>Hugh Boylan</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/pulls?q=is%3Apr+reviewed-by%3Ahboylan" title="Reviewed Pull Requests">๐Ÿ‘€</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bmamouri"><img src="https://avatars2.githubusercontent.com/u/6419173?v=4?s=100" width="100px;" alt="Baqer Mamouri"/><br /><sub><b>Baqer Mamouri</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=bmamouri" title="Code">๐Ÿ’ป</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.netnotion.com"><img src="https://avatars0.githubusercontent.com/u/17315?v=4?s=100" width="100px;" alt="Guillermo Gonzalez "/><br /><sub><b>Guillermo Gonzalez </b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=helloguille" title="Code">๐Ÿ’ป</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/brookback"><img src="https://avatars0.githubusercontent.com/u/30257156?v=4?s=100" width="100px;" alt="Johan Brook"/><br /><sub><b>Johan Brook</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=brookback" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Abrookback" title="Bug reports">๐Ÿ›</a> <a href="#maintenance-brookback" title="Maintenance">๐Ÿšง</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/frikille"><img src="https://avatars2.githubusercontent.com/u/569278?v=4?s=100" width="100px;" alt="Peter Balazs"/><br /><sub><b>Peter Balazs</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=frikille" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=frikille" title="Documentation">๐Ÿ“–</a> <a href="#example-frikille" title="Examples">๐Ÿ’ก</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=frikille" title="Tests">โš ๏ธ</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://panz3r.dev"><img src="https://avatars3.githubusercontent.com/u/1754457?v=4?s=100" width="100px;" alt="Mattia Panzeri"/><br /><sub><b>Mattia Panzeri</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=panz3r" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=panz3r" title="Tests">โš ๏ธ</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lynxtaa"><img src="https://avatars1.githubusercontent.com/u/22496946?v=4?s=100" width="100px;" alt="Alex Kondratyuk"/><br /><sub><b>Alex Kondratyuk</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=lynxtaa" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=lynxtaa" title="Tests">โš ๏ธ</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=lynxtaa" title="Documentation">๐Ÿ“–</a> <a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Alynxtaa" title="Bug reports">๐Ÿ›</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/cepelinc"><img src="https://avatars1.githubusercontent.com/u/25613873?v=4?s=100" width="100px;" alt="Matias Cepeda"/><br /><sub><b>Matias Cepeda</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=cepelinc" title="Documentation">๐Ÿ“–</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jackh726"><img src="https://avatars1.githubusercontent.com/u/31162821?v=4?s=100" width="100px;" alt="Jack Huey"/><br /><sub><b>Jack Huey</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/issues?q=author%3Ajackh726" title="Bug reports">๐Ÿ›</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=jackh726" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=jackh726" title="Documentation">๐Ÿ“–</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=jackh726" title="Tests">โš ๏ธ</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/zanettin"><img src="https://avatars.githubusercontent.com/u/3241476?v=4?s=100" width="100px;" alt="Roman Zanettin"/><br /><sub><b>Roman Zanettin</b></sub></a><br /><a href="https://github.com/nearform/graphql-hooks/commits?author=zanettin" title="Code">๐Ÿ’ป</a> <a href="https://github.com/nearform/graphql-hooks/commits?author=zanettin" title="Tests">โš ๏ธ</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://edge33.github.io"><img src="https://avatars.githubusercontent.com/u/5662280?v=4?s=100" width="100px;" alt="Francesco Maida"/><br /><sub><b>Francesco Maida</b></sub></a><br /><a href="#maintenance-edge33" title="Maintenance">๐Ÿšง</a></td>
</tr>
</tbody>
</table>
<!-- markdownlint-enable -->
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

@@ -1491,0 +1495,0 @@

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with โšก๏ธ by Socket Inc