{"version":3,"file":"urql.es-FsI5gZlB.js","sources":["../../../node_modules/urql/dist/urql.es.js"],"sourcesContent":["import { createRequest as e } from \"@urql/core\";\n\nexport * from \"@urql/core\";\n\nimport * as r from \"react\";\n\nimport { toPromise as t, take as a, filter as n, onPush as u, subscribe as i, takeWhile as s, onEnd as o } from \"wonka\";\n\nvar c = {};\n\nvar v = r.createContext(c);\n\nvar f = v.Provider;\n\nvar l = v.Consumer;\n\nv.displayName = \"UrqlContext\";\n\nvar useClient = () => {\n var e = r.useContext(v);\n if (e === c && \"production\" !== process.env.NODE_ENV) {\n var t = \"No client has been specified using urql's Provider. please create a client and add a Provider.\";\n console.error(t);\n throw new Error(t);\n }\n return e;\n};\n\nvar d = {\n fetching: !1,\n stale: !1,\n hasNext: !1,\n error: void 0,\n data: void 0,\n extensions: void 0,\n operation: void 0\n};\n\nvar areOperationsEqual = (e, r) => e === r || !(!e || !r || e.key !== r.key);\n\nvar computeNextState = (e, r) => {\n var t = {\n ...e,\n ...r,\n data: void 0 !== r.data || r.error ? r.data : e.data,\n fetching: !!r.fetching,\n stale: !!r.stale\n };\n return ((e, r) => {\n for (var t in e) {\n if (!(t in r)) {\n return !0;\n }\n }\n for (var a in r) {\n if (\"operation\" === a ? !areOperationsEqual(e[a], r[a]) : e[a] !== r[a]) {\n return !0;\n }\n }\n return !1;\n })(e, t) ? t : e;\n};\n\nvar hasDepsChanged = (e, r) => {\n for (var t = 0, a = r.length; t < a; t++) {\n if (e[t] !== r[t]) {\n return !0;\n }\n }\n return !1;\n};\n\nvar p = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction deferDispatch(e, r) {\n if (\"production\" !== process.env.NODE_ENV && p && p.ReactCurrentOwner && p.ReactCurrentOwner.current) {\n Promise.resolve(r).then(e);\n } else {\n e(r);\n }\n}\n\nfunction useMutation(i) {\n var s = r.useRef(!0);\n var o = useClient();\n var [c, v] = r.useState(d);\n var f = r.useCallback(((r, c) => {\n deferDispatch(v, {\n ...d,\n fetching: !0\n });\n return t(a(1)(n((e => !e.hasNext))(u((e => {\n if (s.current) {\n deferDispatch(v, {\n fetching: !1,\n stale: e.stale,\n data: e.data,\n error: e.error,\n extensions: e.extensions,\n operation: e.operation,\n hasNext: e.hasNext\n });\n }\n }))(o.executeMutation(e(i, r), c || {})))));\n }), [ o, i, v ]);\n r.useEffect((() => {\n s.current = !0;\n return () => {\n s.current = !1;\n };\n }), []);\n return [ c, f ];\n}\n\nfunction useRequest(t, a) {\n var n = r.useRef(void 0);\n return r.useMemo((() => {\n var r = e(t, a);\n if (void 0 !== n.current && n.current.key === r.key) {\n return n.current;\n } else {\n n.current = r;\n return r;\n }\n }), [ t, a ]);\n}\n\nvar getCacheForClient = e => {\n if (!e._react) {\n var r = new Set;\n var t = new Map;\n if (e.operations$) {\n i((e => {\n if (\"teardown\" === e.kind && r.has(e.key)) {\n r.delete(e.key);\n t.delete(e.key);\n }\n }))(e.operations$);\n }\n e._react = {\n get: e => t.get(e),\n set(e, a) {\n r.delete(e);\n t.set(e, a);\n },\n dispose(e) {\n r.add(e);\n }\n };\n }\n return e._react;\n};\n\nvar isSuspense = (e, r) => r && void 0 !== r.suspense ? !!r.suspense : e.suspense;\n\nfunction useQuery(e) {\n var t = useClient();\n var a = getCacheForClient(t);\n var n = isSuspense(t, e.context);\n var c = useRequest(e.query, e.variables);\n var v = r.useMemo((() => {\n if (e.pause) {\n return null;\n }\n var r = t.executeQuery(c, {\n requestPolicy: e.requestPolicy,\n ...e.context\n });\n return n ? u((e => {\n a.set(c.key, e);\n }))(r) : r;\n }), [ a, t, c, n, e.pause, e.requestPolicy, e.context ]);\n var f = r.useCallback(((e, r) => {\n if (!e) {\n return {\n fetching: !1\n };\n }\n var t = a.get(c.key);\n if (!t) {\n var n;\n var u = i((e => {\n t = e;\n if (n) {\n n(t);\n }\n }))(s((() => r && !n || !t || \"hasNext\" in t && t.hasNext))(e));\n if (null == t && r) {\n var o = new Promise((e => {\n n = e;\n }));\n a.set(c.key, o);\n throw o;\n } else {\n u.unsubscribe();\n }\n } else if (r && null != t && \"then\" in t) {\n throw t;\n }\n return t || {\n fetching: !0\n };\n }), [ a, c ]);\n var l = [ t, c, e.requestPolicy, e.context, e.pause ];\n var [p, h] = r.useState((() => [ v, computeNextState(d, f(v, n)), l ]));\n var x = p[1];\n if (v !== p[0] && hasDepsChanged(p[2], l)) {\n h([ v, x = computeNextState(p[1], f(v, n)), l ]);\n }\n r.useEffect((() => {\n var e = p[0];\n var r = p[2][1];\n var t = !1;\n var updateResult = e => {\n t = !0;\n deferDispatch(h, (r => {\n var t = computeNextState(r[1], e);\n return r[1] !== t ? [ r[0], t, r[2] ] : r;\n }));\n };\n if (e) {\n var n = i(updateResult)(o((() => {\n updateResult({\n fetching: !1\n });\n }))(e));\n if (!t) {\n updateResult({\n fetching: !0\n });\n }\n return () => {\n a.dispose(r.key);\n n.unsubscribe();\n };\n } else {\n updateResult({\n fetching: !1\n });\n }\n }), [ a, p[0], p[2][1] ]);\n var y = r.useCallback((r => {\n var i = {\n requestPolicy: e.requestPolicy,\n ...e.context,\n ...r\n };\n deferDispatch(h, (e => [ n ? u((e => {\n a.set(c.key, e);\n }))(t.executeQuery(c, i)) : t.executeQuery(c, i), e[1], l ]));\n }), [ t, a, c, n, e.requestPolicy, e.context, e.pause ]);\n return [ x, y ];\n}\n\nfunction useSubscription(e, t) {\n var a = useClient();\n var n = useRequest(e.query, e.variables);\n var u = r.useRef(t);\n u.current = t;\n var s = r.useMemo((() => !e.pause ? a.executeSubscription(n, e.context) : null), [ a, n, e.pause, e.context ]);\n var c = [ a, n, e.context, e.pause ];\n var [v, f] = r.useState((() => [ s, {\n ...d,\n fetching: !!s\n }, c ]));\n var l = v[1];\n if (s !== v[0] && hasDepsChanged(v[2], c)) {\n f([ s, l = computeNextState(v[1], {\n fetching: !!s\n }), c ]);\n }\n r.useEffect((() => {\n var updateResult = e => {\n deferDispatch(f, (r => {\n var t = computeNextState(r[1], e);\n if (r[1] === t) {\n return r;\n }\n if (u.current && null != t.data && r[1].data !== t.data) {\n t.data = u.current(r[1].data, t.data);\n }\n return [ r[0], t, r[2] ];\n }));\n };\n if (v[0]) {\n return i(updateResult)(o((() => {\n updateResult({\n fetching: !!s\n });\n }))(v[0])).unsubscribe;\n } else {\n updateResult({\n fetching: !1\n });\n }\n }), [ v[0] ]);\n var p = r.useCallback((r => {\n var t = a.executeSubscription(n, {\n ...e.context,\n ...r\n });\n deferDispatch(f, (e => [ t, e[1], c ]));\n }), [ a, n, e.context, e.pause ]);\n return [ l, p ];\n}\n\nfunction Mutation(e) {\n var r = useMutation(e.query);\n return e.children({\n ...r[0],\n executeMutation: r[1]\n });\n}\n\nfunction Query(e) {\n var r = useQuery(e);\n return e.children({\n ...r[0],\n executeQuery: r[1]\n });\n}\n\nfunction Subscription(e) {\n var r = useSubscription(e, e.handler);\n return e.children({\n ...r[0],\n executeSubscription: r[1]\n });\n}\n\nexport { l as Consumer, v as Context, Mutation, f as Provider, Query, Subscription, useClient, useMutation, useQuery, useSubscription };\n//# sourceMappingURL=urql.es.js.map\n"],"names":["c","v","r.createContext","f","useClient","e","r.useContext","t"],"mappings":"wCAQA,IAAIA,EAAI,CAAC,EAELC,EAAIC,EAAE,cAAcF,CAAC,EAErBG,EAAIF,EAAE,SAEFA,EAAE,SAEVA,EAAE,YAAc,cAEhB,IAAIG,EAAY,IAAM,CAChBC,IAAAA,EAAIC,EAAE,WAAWL,CAAC,EAClBI,GAAAA,IAAML,GAAK,GACb,IAAIO,EAICF,OAAAA,CACT","x_google_ignoreList":[0]}