@urql/exchange-persisted-fetch
Advanced tools
Comparing version 0.1.0 to 0.1.1
# @urql/exchange-persisted-fetch | ||
## 0.1.1 | ||
### Patch Changes | ||
- ⚠️ Fix `persistedFetchExchange` not sending the SHA256 hash extension after a cache miss (`PersistedQueryNotFound` error), by [@kitten](https://github.com/kitten) (See [#766](https://github.com/FormidableLabs/urql/pull/766)) | ||
## 0.1.0 | ||
@@ -4,0 +10,0 @@ |
@@ -5,7 +5,7 @@ "use strict"; | ||
return (_extends = Object.assign || function(a) { | ||
var c, b, d; | ||
for (c = 1; c < arguments.length; c++) { | ||
b = arguments[c]; | ||
for (d in b) { | ||
Object.prototype.hasOwnProperty.call(b, d) && (a[d] = b[d]); | ||
var b, c, d; | ||
for (b = 1; b < arguments.length; b++) { | ||
c = arguments[b]; | ||
for (d in c) { | ||
Object.prototype.hasOwnProperty.call(c, d) && (a[d] = c[d]); | ||
} | ||
@@ -18,8 +18,8 @@ } | ||
function _ref3(a) { | ||
var c, b, d, f; | ||
for (c = "", b = 0, d = a.length; b < d; b++) { | ||
f = a[b].toString(16); | ||
c += "00".slice(0, Math.max(0, 2 - f.length)) + f; | ||
var b, c, d, e; | ||
for (b = "", c = 0, d = a.length; c < d; c++) { | ||
e = a[c].toString(16); | ||
b += "00".slice(0, Math.max(0, 2 - e.length)) + e; | ||
} | ||
return c; | ||
return b; | ||
} | ||
@@ -50,13 +50,13 @@ | ||
} | ||
var c = cryptoSubtle.digest({ | ||
var b = cryptoSubtle.digest({ | ||
name: "SHA-256" | ||
}, a); | ||
return new Promise((function(a, d) { | ||
isIE ? (c.oncomplete = function b(b) { | ||
isIE ? (b.oncomplete = function c(b) { | ||
a(new Uint8Array(b.target.result)); | ||
}, c.onerror = function g(a) { | ||
}, b.onerror = function g(a) { | ||
d(a); | ||
}) : Promise.resolve(c).then((function e(b) { | ||
}) : Promise.resolve(b).then((function h(b) { | ||
a(new Uint8Array(b)); | ||
})).catch((function h(a) { | ||
})).catch((function k(a) { | ||
d(a); | ||
@@ -66,3 +66,3 @@ })); | ||
}, hash = function(a) { | ||
var c, b, d; | ||
var b, c, d; | ||
try { | ||
@@ -73,88 +73,69 @@ if ("undefined" == typeof window) { | ||
if ("undefined" != typeof TextEncoder) { | ||
c = (new TextEncoder).encode(a); | ||
b = (new TextEncoder).encode(a); | ||
} else { | ||
c = new Uint8Array(a.length); | ||
for (b = 0, d = a.length; b < d; b++) { | ||
c[b] = a.charCodeAt(b); | ||
b = new Uint8Array(a.length); | ||
for (c = 0, d = a.length; c < d; c++) { | ||
b[c] = a.charCodeAt(c); | ||
} | ||
} | ||
return Promise.resolve(sha256(c)).then(_ref3); | ||
} catch (f) { | ||
return Promise.reject(f); | ||
return Promise.resolve(sha256(b)).then(_ref3); | ||
} catch (e) { | ||
return Promise.reject(e); | ||
} | ||
}, persistedFetchExchange = function(a) { | ||
var c = a.forward, b = a.dispatchDebug, d = !0; | ||
var b = a.forward, c = a.dispatchDebug, d = !0; | ||
return function(a) { | ||
var e, g = wonka.share(a); | ||
a = wonka.mergeMap((function(a) { | ||
var c = a.key, e = wonka.filter((function(a) { | ||
return "teardown" === a.operationName && a.key === c; | ||
}))(g); | ||
return d ? wonka.takeUntil(e)(wonka.mergeMap((function(c) { | ||
return c.error && isPersistedUnsupported(c.error) ? (d = !1, makeNormalFetchSource(a, b)) : c.error && isPersistedMiss(c.error) ? makeNormalFetchSource(a, b) : wonka.fromValue(c); | ||
}))(makePersistedFetchSource(a, b))) : wonka.takeUntil(e)(makeNormalFetchSource(a, b)); | ||
var h, b = a.key, e = wonka.filter((function(a) { | ||
return "teardown" === a.operationName && a.key === b; | ||
}))(g), f = internal.makeFetchBody(a); | ||
if (!d) { | ||
return wonka.takeUntil(e)(makePersistedFetchSource(a, f, c)); | ||
} | ||
h = f.query; | ||
return wonka.takeUntil(e)(wonka.mergeMap((function(b) { | ||
return b.error && isPersistedUnsupported(b.error) ? (f.query = h, f.extensions = void 0, | ||
d = !1, makePersistedFetchSource(a, f, c)) : b.error && isPersistedMiss(b.error) ? (f.query = h, | ||
makePersistedFetchSource(a, f, c)) : wonka.fromValue(b); | ||
}))(wonka.mergeMap((function(b) { | ||
f.query = void 0; | ||
f.extensions = { | ||
persistedQuery: { | ||
version: 1, | ||
sha256Hash: b | ||
} | ||
}; | ||
return makePersistedFetchSource(a, f, c); | ||
}))(wonka.fromPromise(hash(h))))); | ||
}))(wonka.filter(_ref)(g)); | ||
e = c(wonka.filter(_ref2)(g)); | ||
e = b(wonka.filter(_ref2)(g)); | ||
return wonka.merge([ a, e ]); | ||
}; | ||
}, makePersistedFetchSource = function(a, c) { | ||
var b = internal.makeFetchBody(a), d = b.query; | ||
return wonka.mergeMap((function(d) { | ||
b.query = void 0; | ||
b.extensions = { | ||
persistedQuery: { | ||
version: 1, | ||
sha256Hash: d | ||
} | ||
}; | ||
var g = internal.makeFetchURL(a, _extends({}, b, { | ||
query: "" | ||
})), e = internal.makeFetchOptions(a, b); | ||
"production" !== process.env.NODE_ENV && c({ | ||
type: "fetchRequest", | ||
message: "A fetch request for a persisted query is being executed.", | ||
operation: a, | ||
data: { | ||
url: g, | ||
fetchOptions: e | ||
} | ||
}); | ||
return wonka.onPush((function(b) { | ||
var d = b.error && (isPersistedMiss(b.error) || isPersistedUnsupported(b.error)), f = b.data ? void 0 : b.error; | ||
"production" !== process.env.NODE_ENV && c({ | ||
type: d || f ? "fetchError" : "fetchSuccess", | ||
message: d ? "A Persisted Query request has failed. A non-persisted GraphQL request will follow." : "A " + (f ? "failed" : "successful") + " fetch response has been returned.", | ||
operation: a, | ||
data: { | ||
url: g, | ||
fetchOptions: e, | ||
value: d ? b.error : f || b | ||
} | ||
}); | ||
}))(internal.makeFetchSource(a, g, e)); | ||
}))(wonka.fromPromise(hash(d))); | ||
}, makeNormalFetchSource = function(a, c) { | ||
var b = internal.makeFetchBody(a), d = internal.makeFetchURL(a, b), f = internal.makeFetchOptions(a, b); | ||
}, makePersistedFetchSource = function(a, b, c) { | ||
var d = internal.makeFetchURL(a, b.query ? b : _extends({}, b, { | ||
query: "" | ||
})), e = internal.makeFetchOptions(a, b); | ||
"production" !== process.env.NODE_ENV && c({ | ||
type: "fetchRequest", | ||
message: "A fetch request is being executed.", | ||
message: b.query ? "A fetch request is being executed." : "A fetch request for a persisted query is being executed.", | ||
operation: a, | ||
data: { | ||
url: d, | ||
fetchOptions: f | ||
fetchOptions: e | ||
} | ||
}); | ||
return wonka.onPush((function(b) { | ||
var e = b.data ? void 0 : b.error; | ||
var h = b.error && (isPersistedMiss(b.error) || isPersistedUnsupported(b.error)), g = b.data ? void 0 : b.error; | ||
"production" !== process.env.NODE_ENV && c({ | ||
type: e ? "fetchError" : "fetchSuccess", | ||
message: "A " + (e ? "failed" : "successful") + " fetch response has been returned.", | ||
type: h || g ? "fetchError" : "fetchSuccess", | ||
message: h ? "A Persisted Query request has failed. A non-persisted GraphQL request will follow." : "A " + (g ? "failed" : "successful") + " fetch response has been returned.", | ||
operation: a, | ||
data: { | ||
url: d, | ||
fetchOptions: f, | ||
value: e || b | ||
fetchOptions: e, | ||
value: h ? b.error : g || b | ||
} | ||
}); | ||
}))(internal.makeFetchSource(a, d, f)); | ||
}))(internal.makeFetchSource(a, d, e)); | ||
}, isPersistedMiss = function(a) { | ||
@@ -161,0 +142,0 @@ return a.graphQLErrors.some(_ref3$1); |
@@ -1,2 +0,2 @@ | ||
"use strict";var e,r=require("wonka"),n=require("@urql/core/internal"),t=(e=require("js-sha256"))&&"object"==typeof e&&"default"in e?e.default:e;function o(){return(o=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n,t=arguments[r];for(n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e}).apply(this,arguments)}var i="undefined"!=typeof window?window.crypto||window.msCrypto:void 0,u=i&&(i.subtle||i.webkitSubtle),a=!(!i||!window.msCrypto);function c(e){for(var r="",n=0,t=e.length;n<t;n++){var o=e[n].toString(16);r+="00".slice(0,Math.max(0,2-o.length))+o}return r}function s(e){return"query"===e.operationName}function f(e){return"query"!==e.operationName}var m=function(e,t){var o=n.makeFetchBody(e);return t=n.makeFetchURL(e,o),o=n.makeFetchOptions(e,o),r.onPush((function(e){}))(n.makeFetchSource(e,t,o))};function h(e){return"PersistedQueryNotFound"===e.message}var d=function(e){return e.graphQLErrors.some(h)};function l(e){return"PersistedQueryNotSupported"===e.message}var p=function(e){return e.graphQLErrors.some(l)};exports.persistedFetchExchange=function(e){var i=e.forward,h=!0;return function(e){var l=r.share(e);e=r.mergeMap((function(e){var i=e.key,s=r.filter((function(e){return"teardown"===e.operationName&&e.key===i}))(l);return h?r.takeUntil(s)(r.mergeMap((function(n){return n.error&&p(n.error)?(h=!1,m(e)):n.error&&d(n.error)?m(e):r.fromValue(n)}))(function(e,i){var s=n.makeFetchBody(e);return i=s.query,r.mergeMap((function(t){s.query=void 0,s.extensions={persistedQuery:{version:1,sha256Hash:t}},t=n.makeFetchURL(e,o({},s,{query:""}));var i=n.makeFetchOptions(e,s);return r.onPush((function(e){e.error&&(d(e.error)||p(e.error))}))(n.makeFetchSource(e,t,i))}))(r.fromPromise(function(e){try{if("undefined"==typeof window)return Promise.resolve(t.sha256(e));if("undefined"!=typeof TextEncoder)var r=(new TextEncoder).encode(e);else{r=new Uint8Array(e.length);for(var n=0,o=e.length;n<o;n++)r[n]=e.charCodeAt(n)}return Promise.resolve(function(e){if(!u)return Promise.resolve(new Uint8Array(0));var r=u.digest({name:"SHA-256"},e);return new Promise((function(e,n){a?(r.oncomplete=function(r){e(new Uint8Array(r.target.result))},r.onerror=function(e){n(e)}):Promise.resolve(r).then((function(r){e(new Uint8Array(r))})).catch((function(e){n(e)}))}))}(r)).then(c)}catch(e){return Promise.reject(e)}}(i)))}(e))):r.takeUntil(s)(m(e))}))(r.filter(s)(l));var y=i(r.filter(f)(l));return r.merge([e,y])}}; | ||
"use strict";var r,e=require("wonka"),n=require("@urql/core/internal"),t=(r=require("js-sha256"))&&"object"==typeof r&&"default"in r?r.default:r;function o(){return(o=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var n,t=arguments[e];for(n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var i="undefined"!=typeof window?window.crypto||window.msCrypto:void 0,u=i&&(i.subtle||i.webkitSubtle),a=!(!i||!window.msCrypto);function s(r){for(var e="",n=0,t=r.length;n<t;n++){var o=r[n].toString(16);e+="00".slice(0,Math.max(0,2-o.length))+o}return e}function c(r){return"query"===r.operationName}function f(r){return"query"!==r.operationName}var d=function(r,t,i){return i=n.makeFetchURL(r,t.query?t:o({},t,{query:""})),t=n.makeFetchOptions(r,t),e.onPush((function(r){r.error&&(y(r.error)||h(r.error))}))(n.makeFetchSource(r,i,t))};function m(r){return"PersistedQueryNotFound"===r.message}var y=function(r){return r.graphQLErrors.some(m)};function l(r){return"PersistedQueryNotSupported"===r.message}var h=function(r){return r.graphQLErrors.some(l)};exports.persistedFetchExchange=function(r){var o=r.forward,i=!0;return function(r){var m=e.share(r);r=e.mergeMap((function(r){var o=r.key,c=e.filter((function(r){return"teardown"===r.operationName&&r.key===o}))(m),f=n.makeFetchBody(r);if(!i)return e.takeUntil(c)(d(r,f));var l=f.query;return e.takeUntil(c)(e.mergeMap((function(n){return n.error&&h(n.error)?(f.query=l,f.extensions=void 0,i=!1,d(r,f)):n.error&&y(n.error)?(f.query=l,d(r,f)):e.fromValue(n)}))(e.mergeMap((function(e){return f.query=void 0,f.extensions={persistedQuery:{version:1,sha256Hash:e}},d(r,f)}))(e.fromPromise(function(r){try{if("undefined"==typeof window)return Promise.resolve(t.sha256(r));if("undefined"!=typeof TextEncoder)var e=(new TextEncoder).encode(r);else{e=new Uint8Array(r.length);for(var n=0,o=r.length;n<o;n++)e[n]=r.charCodeAt(n)}return Promise.resolve(function(r){if(!u)return Promise.resolve(new Uint8Array(0));var e=u.digest({name:"SHA-256"},r);return new Promise((function(r,n){a?(e.oncomplete=function(e){r(new Uint8Array(e.target.result))},e.onerror=function(r){n(r)}):Promise.resolve(e).then((function(e){r(new Uint8Array(e))})).catch((function(r){n(r)}))}))}(e)).then(s)}catch(r){return Promise.reject(r)}}(l)))))}))(e.filter(c)(m));var l=o(e.filter(f)(m));return e.merge([r,l])}}; | ||
//# sourceMappingURL=urql-exchange-persisted-fetch.min.js.map |
{ | ||
"name": "@urql/exchange-persisted-fetch", | ||
"version": "0.1.0", | ||
"version": "0.1.1", | ||
"description": "An exchange that allows for persisted queries support when fetching queries", | ||
@@ -44,3 +44,3 @@ "sideEffects": false, | ||
"build": "rollup -c ../../scripts/rollup/config.js", | ||
"prepare": "../../scripts/prepare/index.js", | ||
"prepare": "node ../../scripts/prepare/index.js", | ||
"prepublishOnly": "run-s clean build" | ||
@@ -47,0 +47,0 @@ }, |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
6
48155
296