Socket
Socket
Sign inDemoInstall

axios-cache-interceptor

Package Overview
Dependencies
Maintainers
1
Versions
78
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

axios-cache-interceptor - npm Package Compare versions

Comparing version 1.5.1 to 1.5.2

2

dev/index.bundle.d.ts
/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors
* Released under the MIT License.
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("cache-parser"),require("fast-defer"),require("object-code")):"function"==typeof define&&define.amd?define(["exports","cache-parser","fast-defer","object-code"],t):t((e||self).axiosCacheInterceptor={},e.cacheParser,e.fastDefer,e.objectCode)}(this,function(e,t,r,n){var a=Object.freeze({IfModifiedSince:"if-modified-since",LastModified:"last-modified",IfNoneMatch:"if-none-match",CacheControl:"cache-control",Pragma:"pragma",ETag:"etag",Expires:"expires",Age:"age",XAxiosCacheEtag:"x-axios-cache-etag",XAxiosCacheLastModified:"x-axios-cache-last-modified",XAxiosCacheStaleIfError:"x-axios-cache-stale-if-error"}),o=function(e){if(!e)return"not enough headers";var r=e[a.CacheControl];if(r){var n=t.parse(String(r)),o=n.maxAge,i=n.maxStale,c=n.staleWhileRevalidate;if(n.noCache||n.noStore)return"dont cache";if(n.immutable)return{cache:31536e6};if(void 0!==o){var u=e[a.Age];return{cache:u?1e3*(o-Number(u)):1e3*o,stale:void 0!==i?1e3*i:void 0!==c?1e3*c:void 0}}}var s=e[a.Expires];if(s){var d=Date.parse(String(s))-Date.now();return d>=0?{cache:d}:"dont cache"}return"not enough headers"};function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},i.apply(this,arguments)}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function u(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 c(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)?c(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(e){return e?function(t){return e(t)||304===t}:function(e){return e>=200&&e<300||304===e}}function d(e,t){return void 0===e&&(e="get"),void 0===t&&(t=[]),e=e.toLowerCase(),t.some(function(t){return t===e})}function f(e,t){t.headers||(t.headers={});var r=t.cache,n=r.etag,o=r.modifiedSince;if(n){var i,c=!0===n?null==(i=e.data)?void 0:i.headers[a.ETag]:n;c&&(t.headers[a.IfNoneMatch]=c)}o&&(t.headers[a.IfModifiedSince]=!0===o?e.data.headers[a.LastModified]||new Date(e.createdAt).toUTCString():o.toUTCString())}function h(e,t){return 304===e.status&&t?(e.cached=!0,e.data=t.data,e.status=t.status,e.statusText=t.statusText,e.headers=i({},t.headers,e.headers),t):{data:e.data,status:e.status,statusText:e.statusText,headers:e.headers}}function l(e){var t=function t(n){try{if(n.id=e.generateKey(n),!1===n.cache)return e.debug({id:n.id,msg:"Ignoring cache because config.cache === false",data:n}),Promise.resolve(n);if(n.cache=i({},e.defaults.cache,n.cache),"object"==typeof n.cache.cachePredicate&&n.cache.cachePredicate.ignoreUrls&&n.url)for(var o,c=u(n.cache.cachePredicate.ignoreUrls);!(o=c()).done;){var h=o.value;if(h instanceof RegExp?(h.lastIndex=0,h.test(n.url)):n.url.includes(h))return e.debug({id:n.id,msg:"Ignored because url ("+n.url+") matches ignoreUrls ("+n.cache.cachePredicate.ignoreUrls+")",data:{url:n.url,cachePredicate:n.cache.cachePredicate}}),Promise.resolve(n)}var l,v,g,m,p,b;return n.cache.cacheTakeover&&(null!=(l=n.headers)[v=a.CacheControl]||(l[v]="no-cache"),null!=(g=n.headers)[m=a.Pragma]||(g[m]="no-cache"),null!=(p=n.headers)[b=a.Expires]||(p[b]="0")),d(n.method,n.cache.methods)?Promise.resolve(e.storage.get(n.id,n)).then(function(a){var o;function i(r){var i,c;if(o)return r;function u(t){return i?t:(n.transformResponse=void 0,n.adapter=function(){return Promise.resolve({config:n,data:c.data,headers:c.headers,status:c.status,statusText:c.statusText,cached:!0,id:n.id})},e.debug({id:n.id,msg:"Returning cached response"}),n)}var s=function(){if("loading"===a.state){var r=function(r){return i?r:(e.debug({id:n.id,msg:"Detected concurrent request, waiting for it to finish"}),function(e,t){try{var r=Promise.resolve(o).then(function(e){c=e})}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}(0,function(r){function o(){var e=t(n);return i=1,e}e.debug({id:n.id,msg:"Deferred rejected, requesting again",data:r});var c=function(){if(a.data)return Promise.resolve(null==n.cache.hydrate?void 0:n.cache.hydrate(a)).then(function(){})}();return c&&c.then?c.then(o):o()}))},o=e.waiting[n.id],u=function(){if(!o){var e=function(){return i=1,n},t=function(){if(a.data)return Promise.resolve(null==n.cache.hydrate?void 0:n.cache.hydrate(a)).then(function(){})}();return t&&t.then?t.then(e):e()}}();return u&&u.then?u.then(r):r(u)}c=a.data}();return s&&s.then?s.then(u):u(s)}var c=n.cache.override,u=function(){if("empty"===a.state||"stale"===a.state||c){var t=function(){return e.waiting[n.id]=r.deferred(),e.waiting[n.id].catch(function(){}),Promise.resolve(e.storage.set(n.id,{state:"loading",previous:c?a.data?"stale":"empty":a.state,data:a.data,createdAt:c&&!a.createdAt?Date.now():a.createdAt},n)).then(function(){function t(){return o=1,n}"stale"===a.state&&(f(a,n),e.debug({id:n.id,msg:"Updated stale request"})),n.validateStatus=s(n.validateStatus),e.debug({id:n.id,msg:"Sending request, waiting for response",data:{overrideCache:c,state:a.state}});var r=function(){if("stale"===a.state||a.data)return Promise.resolve(null==n.cache.hydrate?void 0:n.cache.hydrate(a)).then(function(){})}();return r&&r.then?r.then(t):t()})},i=function(){if(e.waiting[n.id]&&!c)return Promise.resolve(e.storage.get(n.id,n)).then(function(t){"empty"!==(a=t).state&&e.debug({id:n.id,msg:"Waiting list had an deferred for this key, waiting for it to finish"})})}();return i&&i.then?i.then(t):t()}}();return u&&u.then?u.then(i):i(u)}):(e.debug({id:n.id,msg:"Ignored because method ("+n.method+") is not in cache.methods ("+n.cache.methods+")"}),Promise.resolve(n))}catch(e){return Promise.reject(e)}};return{onFulfilled:t,apply:function(){return e.interceptors.request.use(t)}}}const v="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function g(e,t,r){if(!e.s){if(r instanceof m){if(!r.s)return void(r.o=g.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(g.bind(null,e,t),g.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var m=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,r){var n=new e,a=this.s;if(a){var o=1&a?t:r;if(o){try{g(n,1,o(this.v))}catch(e){g(n,2,e)}return n}return this}return this.o=function(e){try{var a=e.v;1&e.s?g(n,1,t?t(a):a):r?g(n,1,r(a)):g(n,2,a)}catch(e){g(n,2,e)}},n},e}();function p(e){return e instanceof m&&1&e.s}var b=function(e,t){try{var r=function(t){function r(r){var i;if(n&&!t||a&&!r)return!1;var c=function(){if(o)return function(e,t,r){if("function"==typeof e[v]){var n,a,o,i=e[v]();if(function e(c){try{for(;!((n=i.next()).done||r&&r());)if((c=t(n.value))&&c.then){if(!p(c))return void c.then(e,o||(o=g.bind(null,a=new m,2)));c=c.v}a?g(a,1,c):a=c}catch(e){g(a||(a=new m),2,e)}}(),i.return){var c=function(e){try{n.done||i.return()}catch(e){}return e};if(a&&a.then)return a.then(c,function(e){throw c(e)});c()}return a}if(!("length"in e))throw new TypeError("Object is not iterable");for(var u=[],s=0;s<e.length;s++)u.push(e[s]);return function(e,t,r){var n,a,o=-1;return function i(c){try{for(;++o<e.length&&(!r||!r());)if((c=t(o))&&c.then){if(!p(c))return void c.then(i,a||(a=g.bind(null,n=new m,2)));c=c.v}n?g(n,1,c):n=c}catch(e){g(n||(n=new m),2,e)}}(),n}(u,function(e){return t(u[e])},r)}(Object.entries(o),function(t){var r,n=t[0];return Promise.resolve((0,t[1])(null!=(r=e.headers[n.toLowerCase()])?r:e.headers[n])).then(function(e){if(!e)return i=1,!1})},function(){return i})}();return c&&c.then?c.then(function(e){return!i||e}):!i||c}return n&&!t||!a?r(n&&!t||a&&a(e)):Promise.resolve(n&&!t||a&&a(e)).then(r)};if("function"==typeof t)return Promise.resolve(t(e));var n=t.statusCheck,a=t.responseMatch,o=t.containsHeaders;return Promise.resolve(n?Promise.resolve(n(e.status)).then(r):r(n))}catch(e){return Promise.reject(e)}};const y="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function P(e,t,r){if(!e.s){if(r instanceof w){if(!r.s)return void(r.o=P.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(P.bind(null,e,t),P.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var w=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,r){var n=new e,a=this.s;if(a){var o=1&a?t:r;if(o){try{P(n,1,o(this.v))}catch(e){P(n,2,e)}return n}return this}return this.o=function(e){try{var a=e.v;1&e.s?P(n,1,t?t(a):a):r?P(n,1,r(a)):P(n,2,a)}catch(e){P(n,2,e)}},n},e}();function S(e){return e instanceof w&&1&e.s}var I=function(e,t,r){try{if("function"==typeof r)return Promise.resolve(r(t));var n=function(e,t,r){if("function"==typeof e[y]){var n,a,o,i=e[y]();if(function e(r){try{for(;!(n=i.next()).done;)if((r=t(n.value))&&r.then){if(!S(r))return void r.then(e,o||(o=P.bind(null,a=new w,2)));r=r.v}a?P(a,1,r):a=r}catch(e){P(a||(a=new w),2,e)}}(),i.return){var c=function(e){try{n.done||i.return()}catch(e){}return e};if(a&&a.then)return a.then(c,function(e){throw c(e)});c()}return a}if(!("length"in e))throw new TypeError("Object is not iterable");for(var u=[],s=0;s<e.length;s++)u.push(e[s]);return function(e,t,r){var n,a,o=-1;return function r(i){try{for(;++o<e.length;)if((i=t(o))&&i.then){if(!S(i))return void i.then(r,a||(a=P.bind(null,n=new w,2)));i=i.v}n?P(n,1,i):n=i}catch(e){P(n||(n=new w),2,e)}}(),n}(u,function(e){return t(u[e])})}(Object.entries(r),function(r){var n=r[0],a=r[1];function o(){return Promise.resolve(e.get(n,t.config)).then(function(r){if("loading"!==r.state)return Promise.resolve(a(r,t)).then(function(r){function a(){var a=function(){if("ignore"!==r)return Promise.resolve(e.set(n,r,t.config)).then(function(){})}();if(a&&a.then)return a.then(function(){})}var o=function(){if("delete"===r)return Promise.resolve(e.remove(n,t.config)).then(function(){})}();return o&&o.then?o.then(a):a()})})}var i=function(){if("delete"===a)return Promise.resolve(e.remove(n,t.config)).then(function(){})}();return i&&i.then?i.then(o):o()});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}};function C(e){var r=function(t,r){try{return Promise.resolve(e.storage.remove(t,r)).then(function(){var r;null==(r=e.waiting[t])||r.reject(),delete e.waiting[t]})}catch(e){return Promise.reject(e)}},n=function(t){try{var n=function(){return d(o.method,i.methods)?Promise.resolve(e.storage.get(t.id,o)).then(function(n){function c(c){function s(c){var u;function s(r){if(u)return r;function c(){i.staleIfError&&(t.headers[a.XAxiosCacheStaleIfError]=String(g)),e.debug({id:t.id,msg:"Useful response configuration found",data:{cacheConfig:i,cacheResponse:s}});var r={state:"cached",ttl:g,staleTtl:v,createdAt:Date.now(),data:s},n=e.waiting[t.id];return n&&(n.resolve(r.data),delete e.waiting[t.id],e.debug({id:t.id,msg:"Found waiting deferred(s) and resolved them"})),Promise.resolve(e.storage.set(t.id,r,o)).then(function(){return e.debug({id:t.id,msg:"Response cached",data:{cache:r,response:t}}),t})}var s=h(t,n.data),d=function(){if("function"==typeof g)return Promise.resolve(g(t)).then(function(e){g=e})}();return d&&d.then?d.then(c):c()}for(var d=0,f=Object.keys(t.headers);d<f.length;d++){var l=f[d];l.startsWith("x-axios-cache")&&delete t.headers[l]}i.etag&&!0!==i.etag&&(t.headers[a.XAxiosCacheEtag]=i.etag),i.modifiedSince&&(t.headers[a.XAxiosCacheLastModified]=!0===i.modifiedSince?"use-cache-timestamp":i.modifiedSince.toUTCString());var v,g=i.ttl||-1,m=function(){if(i.interpretHeader){var a=function(e){if(u)return e;"not enough headers"!==c&&("number"==typeof c?g=c:(g=c.cache,v=c.stale))},c=e.headerInterpreter(t.headers),s=function(){if("dont cache"===c)return Promise.resolve(r(t.id,o)).then(function(){return e.debug({id:t.id,msg:"Cache header interpreted as 'dont cache'",data:{cache:n,response:t,expirationTime:c}}),u=1,t})}();return s&&s.then?s.then(a):a(s)}}();return m&&m.then?m.then(s):s(m)}var d=function(){if(u&&!c)return Promise.resolve(r(t.id,o)).then(function(){return e.debug({id:t.id,msg:"Cache predicate rejected this response"}),t})}();return d&&d.then?d.then(s):s()}if("loading"!==n.state)return e.debug({id:t.id,msg:"Response not cached and storage isn't loading",data:{cache:n,response:t}}),t;var u=!n.data;return u?Promise.resolve(b(t,i.cachePredicate)).then(c):c(u)}):(e.debug({id:t.id,msg:"Ignored because method ("+o.method+") is not in cache.methods ("+i.methods+")",data:{config:o,cacheConfig:i}}),t)};if(null==t||!t.config)throw e.debug({msg:"Response interceptor received an unknown response.",data:t}),t;t.id=t.config.id,null!=t.cached||(t.cached=!1);var o=t.config,i=o.cache;if(t.cached)return e.debug({id:t.id,msg:"Returned cached response"}),Promise.resolve(t);if(!i)return e.debug({id:t.id,msg:"Response with config.cache falsy",data:t}),t.cached=!1,Promise.resolve(t);var c=function(){if(i.update)return Promise.resolve(I(e.storage,t,i.update)).then(function(){})}();return Promise.resolve(c&&c.then?c.then(n):n())}catch(e){return Promise.reject(e)}},o=function(n){try{var o=function(o){return Promise.resolve(e.storage.get(c,i)).then(function(o){function d(d){var f;function h(t){return f?t:(e.debug({id:c,msg:"Received an unknown error that could not be handled",data:{error:n,config:i}}),Promise.resolve(r(c,i)).then(function(){throw n}))}var l=function(){if(u.staleIfError){var r=function(t){return e.debug({id:c,msg:"Found cache if stale config for rejected response",data:{error:n,config:i,staleIfError:t}}),function(){var r;if(!0===t||"number"==typeof t&&o.createdAt+t>Date.now())return null==(r=e.waiting[c])||r.resolve(o.data),delete e.waiting[c],Promise.resolve(e.storage.set(c,{state:"stale",createdAt:Date.now(),data:o.data},i)).then(function(){return e.debug({id:c,msg:"staleIfError resolved this response with cached data",data:{error:n,config:i,cache:o}}),f=1,{cached:!0,config:i,id:c,data:o.data.data,headers:o.data.headers,status:o.data.status,statusText:o.data.statusText}})}()},d=String(null==s?void 0:s.headers[a.CacheControl]),h=d&&t.parse(d).staleIfError;return"function"==typeof u.staleIfError?Promise.resolve(u.staleIfError(s,o,n)).then(r):r(!0===u.staleIfError&&h?1e3*h:u.staleIfError)}}();return l&&l.then?l.then(h):h(l)}var f=function(){if("loading"!==o.state||"stale"!==o.previous)return e.debug({id:c,msg:"Caught an error in the request interceptor",data:{cache:o,error:n,config:i}}),Promise.resolve(r(c,i)).then(function(){throw n})}();return f&&f.then?f.then(d):d()})};if(!n.isAxiosError||!n.config)throw e.debug({msg:"FATAL: Received an non axios error in the rejected response interceptor, ignoring.",data:n}),n;var i=n.config,c=i.id,u=i.cache,s=n.response;if(!u||!c)throw e.debug({msg:"Web request returned an error but cache handling is not enabled",data:{error:n}}),n;var f=function(){if(!d(i.method,u.methods))return e.debug({id:c,msg:"Ignored because method ("+i.method+") is not in cache.methods ("+u.methods+")",data:{config:i,cacheConfig:u}}),Promise.resolve(r(c,i)).then(function(){throw n})}();return Promise.resolve(f&&f.then?f.then(o):o())}catch(e){return Promise.reject(e)}};return{onFulfilled:n,onRejected:o,apply:function(){return e.interceptors.response.use(n,o)}}}var x=function(e){return!!e&&!!e["is-storage"]};function j(e){var t=e.data.headers;return a.ETag in t||a.LastModified in t||a.XAxiosCacheEtag in t||a.XAxiosCacheLastModified in t}function A(e){return!String(e.data.headers[a.CacheControl]).includes("must-revalidate")&&(!!j(e)||"cached"===e.state&&void 0!==e.staleTtl&&Math.abs(Date.now()-(e.createdAt+e.ttl))<=e.staleTtl)}function E(e){return void 0!==e.ttl&&e.createdAt+e.ttl<=Date.now()}function T(e){var t=e.set,r=e.find,n=e.remove;return{"is-storage":1,set:t,remove:n,get:function(e,a){try{return Promise.resolve(r(e,a)).then(function(r){var o;function i(t){return o?t:E(r)?j(r)?r:Promise.resolve(n(e,a)).then(function(){return{state:"empty"}}):r}if(!r)return{state:"empty"};if("empty"===r.state||"loading"===r.state)return r;var c=function(){if("cached"===r.state){var i=function(n){return o?n:(r={state:"stale",createdAt:r.createdAt,data:r.data,ttl:void 0!==r.staleTtl?r.staleTtl+r.ttl:void 0},Promise.resolve(t(e,r,a)).then(function(){}))};if(!E(r))return o=1,r;var c=function(){if(!A(r))return Promise.resolve(n(e,a)).then(function(){return o=1,{state:"empty"}})}();return c&&c.then?c.then(i):i(c)}}();return c&&c.then?c.then(i):i(c)})}catch(e){return Promise.reject(e)}}}}function O(e,t,r){void 0===e&&(e=!1),void 0===t&&(t=!1),void 0===r&&(r=!1);var n=T({set:function(t,a){if(r){var o=Object.keys(n.data);if(o.length>=r)for(n.cleanup(),o=Object.keys(n.data);o.length>=r;)delete n.data[o.shift()]}n.data[t]="double"===e?"function"==typeof structuredClone?structuredClone(a):JSON.parse(JSON.stringify(a)):a},remove:function(e){delete n.data[e]},find:function(t){var r=n.data[t];return e&&void 0!==r?"function"==typeof structuredClone?structuredClone(r):JSON.parse(JSON.stringify(r)):r}});return n.data=Object.create(null),n.cleanup=function(){for(var e,t,r=Object.keys(n.data),a=-1;++a<r.length;)"empty"!==(e=n.data[t=r[a]]).state?"cached"===e.state&&E(e)&&!A(e)&&n.remove(t):n.remove(t)},t&&(n.cleaner=setInterval(n.cleanup,t)),n}var R=/^\/|\/$/g;function M(e){return function(t){if(t.id)return t.id;var r=e(t);return"string"==typeof r||"number"==typeof r?""+r:""+n.hash(r)}}var q=M(function(e){var t=e.baseURL,r=e.url,n=e.method,a=e.params,o=e.data;return t=void 0!==t?t.replace(R,""):"",r=void 0!==r?r.replace(R,""):"",{url:t+(t&&r?"/":"")+r,params:a,method:n=void 0!==n?n.toLowerCase():"get",data:o}});console.error("You are using a development build. Make sure to use the correct build in production\nhttps://axios-cache-interceptor.js.org/guide/getting-started\n\n"),e.Header=a,e.buildKeyGenerator=M,e.buildMemoryStorage=O,e.buildStorage=T,e.buildWebStorage=function(e,t){return void 0===t&&(t="axios-cache-"),T({find:function(r){var n=e.getItem(t+r);return n?JSON.parse(n):void 0},remove:function(r){e.removeItem(t+r)},set:function(r,n){var a=function(){return e.setItem(t+r,JSON.stringify(n))};try{return a()}catch(n){for(var o,i=Object.entries(e).filter(function(e){return e[0].startsWith(t)}).map(function(e){return[e[0],JSON.parse(e[1])]}),c=u(i);!(o=c()).done;){var s=o.value;"cached"===s[1].state&&E(s[1])&&!A(s[1])&&e.removeItem(s[0])}try{return a()}catch(t){for(var d,f=u(i.sort(function(e,t){return(e[1].createdAt||0)-(t[1].createdAt||0)}));!(d=f()).done;){e.removeItem(d.value[0]);try{return a()}catch(e){}}}e.removeItem(t+r)}}})},e.canStale=A,e.createCacheResponse=h,e.createValidateStatus=s,e.defaultHeaderInterpreter=o,e.defaultKeyGenerator=q,e.defaultRequestInterceptor=l,e.defaultResponseInterceptor=C,e.isExpired=E,e.isMethodIn=d,e.isStorage=x,e.setupCache=function(e,t){var r,n,a,i,c,u,s,d;void 0===t&&(t={});var f=e;if(f.defaults.cache)throw new Error("setupCache() should be called only once");if(f.storage=t.storage||O(),!x(f.storage))throw new Error("Use buildStorage() function");return f.waiting=t.waiting||{},f.generateKey=t.generateKey||q,f.headerInterpreter=t.headerInterpreter||o,f.requestInterceptor=t.requestInterceptor||l(f),f.responseInterceptor=t.responseInterceptor||C(f),f.debug=t.debug||function(){},f.defaults.cache={update:t.update||{},ttl:null!=(r=t.ttl)?r:3e5,methods:t.methods||["get","head"],cachePredicate:t.cachePredicate||{statusCheck:function(e){return[200,203,300,301,302,404,405,410,414,501].includes(e)}},etag:null==(n=t.etag)||n,modifiedSince:null!=(a=t.modifiedSince)?a:!1===t.etag,interpretHeader:null==(i=t.interpretHeader)||i,cacheTakeover:null==(c=t.cacheTakeover)||c,staleIfError:null==(u=t.staleIfError)||u,override:null!=(s=t.override)&&s,hydrate:null!=(d=t.hydrate)?d:void 0},f.requestInterceptor.apply(),f.responseInterceptor.apply(),f},e.testCachePredicate=b,e.updateCache=I,e.updateStaleRequest=f});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("cache-parser"),require("fast-defer"),require("object-code")):"function"==typeof define&&define.amd?define(["exports","cache-parser","fast-defer","object-code"],t):t((e||self).axiosCacheInterceptor={},e.cacheParser,e.fastDefer,e.objectCode)}(this,function(e,t,r,n){var a=Object.freeze({IfModifiedSince:"if-modified-since",LastModified:"last-modified",IfNoneMatch:"if-none-match",CacheControl:"cache-control",Pragma:"pragma",ETag:"etag",Expires:"expires",Age:"age",XAxiosCacheEtag:"x-axios-cache-etag",XAxiosCacheLastModified:"x-axios-cache-last-modified",XAxiosCacheStaleIfError:"x-axios-cache-stale-if-error"}),i=function(e){if(!e)return"not enough headers";var r=e[a.CacheControl];if(r){var n=t.parse(String(r)),i=n.maxAge,o=n.maxStale,c=n.staleWhileRevalidate;if(n.noCache||n.noStore)return"dont cache";if(n.immutable)return{cache:31536e6};if(void 0!==i){var s=e[a.Age];return{cache:s?1e3*(i-Number(s)):1e3*i,stale:void 0!==o?1e3*o:void 0!==c?1e3*c:void 0}}}var u=e[a.Expires];if(u){var d=Date.parse(String(u))-Date.now();return d>=0?{cache:d}:"dont cache"}return"not enough headers"};function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function s(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 c(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)?c(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function u(e){return e?function(t){return e(t)||304===t}:function(e){return e>=200&&e<300||304===e}}function d(e,t){return void 0===e&&(e="get"),void 0===t&&(t=[]),e=e.toLowerCase(),t.some(function(t){return t===e})}function f(e,t){t.headers||(t.headers={});var r=t.cache,n=r.etag,i=r.modifiedSince;if(n){var o,c=!0===n?null==(o=e.data)?void 0:o.headers[a.ETag]:n;c&&(t.headers[a.IfNoneMatch]=c)}i&&(t.headers[a.IfModifiedSince]=!0===i?e.data.headers[a.LastModified]||new Date(e.createdAt).toUTCString():i.toUTCString())}function h(e,t){return 304===e.status&&t?(e.cached=!0,e.data=t.data,e.status=t.status,e.statusText=t.statusText,e.headers=o({},t.headers,e.headers),t):{data:e.data,status:e.status,statusText:e.statusText,headers:e.headers}}function l(e){var t=function t(n){try{if(n.id=e.generateKey(n),!1===n.cache)return e.debug({id:n.id,msg:"Ignoring cache because config.cache === false",data:n}),Promise.resolve(n);if(n.cache=o({},e.defaults.cache,n.cache),"object"==typeof n.cache.cachePredicate&&n.cache.cachePredicate.ignoreUrls&&n.url)for(var i,c=s(n.cache.cachePredicate.ignoreUrls);!(i=c()).done;){var h=i.value;if(h instanceof RegExp?(h.lastIndex=0,h.test(n.url)):n.url.includes(h))return e.debug({id:n.id,msg:"Ignored because url ("+n.url+") matches ignoreUrls ("+n.cache.cachePredicate.ignoreUrls+")",data:{url:n.url,cachePredicate:n.cache.cachePredicate}}),Promise.resolve(n)}var l,v,g,m,p,b;return n.cache.cacheTakeover&&(null!=(l=n.headers)[v=a.CacheControl]||(l[v]="no-cache"),null!=(g=n.headers)[m=a.Pragma]||(g[m]="no-cache"),null!=(p=n.headers)[b=a.Expires]||(p[b]="0")),d(n.method,n.cache.methods)?Promise.resolve(e.storage.get(n.id,n)).then(function(a){var i;function o(r){var o,c;if(i)return r;function s(t){return o?t:(n.transformResponse=void 0,n.adapter=function(){return Promise.resolve({config:n,data:c.data,headers:c.headers,status:c.status,statusText:c.statusText,cached:!0,id:n.id})},e.debug({id:n.id,msg:"Returning cached response"}),n)}var u=function(){if("loading"===a.state){var r=function(r){return o?r:(e.debug({id:n.id,msg:"Detected concurrent request, waiting for it to finish"}),function(e,t){try{var r=Promise.resolve(i).then(function(e){c=e})}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}(0,function(r){function i(){var e=t(n);return o=1,e}e.debug({id:n.id,msg:"Deferred rejected, requesting again",data:r});var c=function(){if(a.data)return Promise.resolve(null==n.cache.hydrate?void 0:n.cache.hydrate(a)).then(function(){})}();return c&&c.then?c.then(i):i()}))},i=e.waiting[n.id],s=function(){if(!i){var e=function(){return o=1,n},t=function(){if(a.data)return Promise.resolve(null==n.cache.hydrate?void 0:n.cache.hydrate(a)).then(function(){})}();return t&&t.then?t.then(e):e()}}();return s&&s.then?s.then(r):r(s)}c=a.data}();return u&&u.then?u.then(s):s(u)}var c=n.cache.override,s=function(){if("empty"===a.state||"stale"===a.state||"must-revalidate"===a.state||c){var t=function(){return e.waiting[n.id]=r.deferred(),e.waiting[n.id].catch(function(){}),Promise.resolve(e.storage.set(n.id,{state:"loading",previous:c?a.data?"stale":"empty":a.state,data:a.data,createdAt:c&&!a.createdAt?Date.now():a.createdAt},n)).then(function(){function t(){return i=1,n}"stale"!==a.state&&"must-revalidate"!==a.state||(f(a,n),e.debug({id:n.id,msg:"Updated stale request"})),n.validateStatus=u(n.validateStatus),e.debug({id:n.id,msg:"Sending request, waiting for response",data:{overrideCache:c,state:a.state}});var r=function(){if("stale"===a.state||a.data&&"must-revalidate"!==a.state)return Promise.resolve(null==n.cache.hydrate?void 0:n.cache.hydrate(a)).then(function(){})}();return r&&r.then?r.then(t):t()})},o=function(){if(e.waiting[n.id]&&!c)return Promise.resolve(e.storage.get(n.id,n)).then(function(t){"empty"!==(a=t).state&&"must-revalidate"!==a.state&&e.debug({id:n.id,msg:"Waiting list had an deferred for this key, waiting for it to finish"})})}();return o&&o.then?o.then(t):t()}}();return s&&s.then?s.then(o):o(s)}):(e.debug({id:n.id,msg:"Ignored because method ("+n.method+") is not in cache.methods ("+n.cache.methods+")"}),Promise.resolve(n))}catch(e){return Promise.reject(e)}};return{onFulfilled:t,apply:function(){return e.interceptors.request.use(t)}}}const v="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function g(e,t,r){if(!e.s){if(r instanceof m){if(!r.s)return void(r.o=g.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(g.bind(null,e,t),g.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var m=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,r){var n=new e,a=this.s;if(a){var i=1&a?t:r;if(i){try{g(n,1,i(this.v))}catch(e){g(n,2,e)}return n}return this}return this.o=function(e){try{var a=e.v;1&e.s?g(n,1,t?t(a):a):r?g(n,1,r(a)):g(n,2,a)}catch(e){g(n,2,e)}},n},e}();function p(e){return e instanceof m&&1&e.s}var b=function(e,t){try{var r=function(t){function r(r){var o;if(n&&!t||a&&!r)return!1;var c=function(){if(i)return function(e,t,r){if("function"==typeof e[v]){var n,a,i,o=e[v]();if(function e(c){try{for(;!((n=o.next()).done||r&&r());)if((c=t(n.value))&&c.then){if(!p(c))return void c.then(e,i||(i=g.bind(null,a=new m,2)));c=c.v}a?g(a,1,c):a=c}catch(e){g(a||(a=new m),2,e)}}(),o.return){var c=function(e){try{n.done||o.return()}catch(e){}return e};if(a&&a.then)return a.then(c,function(e){throw c(e)});c()}return a}if(!("length"in e))throw new TypeError("Object is not iterable");for(var s=[],u=0;u<e.length;u++)s.push(e[u]);return function(e,t,r){var n,a,i=-1;return function o(c){try{for(;++i<e.length&&(!r||!r());)if((c=t(i))&&c.then){if(!p(c))return void c.then(o,a||(a=g.bind(null,n=new m,2)));c=c.v}n?g(n,1,c):n=c}catch(e){g(n||(n=new m),2,e)}}(),n}(s,function(e){return t(s[e])},r)}(Object.entries(i),function(t){var r,n=t[0];return Promise.resolve((0,t[1])(null!=(r=e.headers[n.toLowerCase()])?r:e.headers[n])).then(function(e){if(!e)return o=1,!1})},function(){return o})}();return c&&c.then?c.then(function(e){return!o||e}):!o||c}return n&&!t||!a?r(n&&!t||a&&a(e)):Promise.resolve(n&&!t||a&&a(e)).then(r)};if("function"==typeof t)return Promise.resolve(t(e));var n=t.statusCheck,a=t.responseMatch,i=t.containsHeaders;return Promise.resolve(n?Promise.resolve(n(e.status)).then(r):r(n))}catch(e){return Promise.reject(e)}};const y="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function P(e,t,r){if(!e.s){if(r instanceof w){if(!r.s)return void(r.o=P.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(P.bind(null,e,t),P.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var w=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,r){var n=new e,a=this.s;if(a){var i=1&a?t:r;if(i){try{P(n,1,i(this.v))}catch(e){P(n,2,e)}return n}return this}return this.o=function(e){try{var a=e.v;1&e.s?P(n,1,t?t(a):a):r?P(n,1,r(a)):P(n,2,a)}catch(e){P(n,2,e)}},n},e}();function S(e){return e instanceof w&&1&e.s}var I=function(e,t,r){try{if("function"==typeof r)return Promise.resolve(r(t));var n=function(e,t,r){if("function"==typeof e[y]){var n,a,i,o=e[y]();if(function e(r){try{for(;!(n=o.next()).done;)if((r=t(n.value))&&r.then){if(!S(r))return void r.then(e,i||(i=P.bind(null,a=new w,2)));r=r.v}a?P(a,1,r):a=r}catch(e){P(a||(a=new w),2,e)}}(),o.return){var c=function(e){try{n.done||o.return()}catch(e){}return e};if(a&&a.then)return a.then(c,function(e){throw c(e)});c()}return a}if(!("length"in e))throw new TypeError("Object is not iterable");for(var s=[],u=0;u<e.length;u++)s.push(e[u]);return function(e,t,r){var n,a,i=-1;return function r(o){try{for(;++i<e.length;)if((o=t(i))&&o.then){if(!S(o))return void o.then(r,a||(a=P.bind(null,n=new w,2)));o=o.v}n?P(n,1,o):n=o}catch(e){P(n||(n=new w),2,e)}}(),n}(s,function(e){return t(s[e])})}(Object.entries(r),function(r){var n=r[0],a=r[1];function i(){return Promise.resolve(e.get(n,t.config)).then(function(r){if("loading"!==r.state)return Promise.resolve(a(r,t)).then(function(r){function a(){var a=function(){if("ignore"!==r)return Promise.resolve(e.set(n,r,t.config)).then(function(){})}();if(a&&a.then)return a.then(function(){})}var i=function(){if("delete"===r)return Promise.resolve(e.remove(n,t.config)).then(function(){})}();return i&&i.then?i.then(a):a()})})}var o=function(){if("delete"===a)return Promise.resolve(e.remove(n,t.config)).then(function(){})}();return o&&o.then?o.then(i):i()});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}};function C(e){var r=function(t,r){try{return Promise.resolve(e.storage.remove(t,r)).then(function(){var r;null==(r=e.waiting[t])||r.reject(),delete e.waiting[t]})}catch(e){return Promise.reject(e)}},n=function(t){try{var n=function(){return d(i.method,o.methods)?Promise.resolve(e.storage.get(t.id,i)).then(function(n){function c(c){function u(c){var s;function u(r){if(s)return r;function c(){o.staleIfError&&(t.headers[a.XAxiosCacheStaleIfError]=String(g)),e.debug({id:t.id,msg:"Useful response configuration found",data:{cacheConfig:o,cacheResponse:u}});var r={state:"cached",ttl:g,staleTtl:v,createdAt:Date.now(),data:u},n=e.waiting[t.id];return n&&(n.resolve(r.data),delete e.waiting[t.id],e.debug({id:t.id,msg:"Found waiting deferred(s) and resolved them"})),Promise.resolve(e.storage.set(t.id,r,i)).then(function(){return e.debug({id:t.id,msg:"Response cached",data:{cache:r,response:t}}),t})}var u=h(t,n.data),d=function(){if("function"==typeof g)return Promise.resolve(g(t)).then(function(e){g=e})}();return d&&d.then?d.then(c):c()}for(var d=0,f=Object.keys(t.headers);d<f.length;d++){var l=f[d];l.startsWith("x-axios-cache")&&delete t.headers[l]}o.etag&&!0!==o.etag&&(t.headers[a.XAxiosCacheEtag]=o.etag),o.modifiedSince&&(t.headers[a.XAxiosCacheLastModified]=!0===o.modifiedSince?"use-cache-timestamp":o.modifiedSince.toUTCString());var v,g=o.ttl||-1,m=function(){if(o.interpretHeader){var a=function(e){if(s)return e;"not enough headers"!==c&&("number"==typeof c?g=c:(g=c.cache,v=c.stale))},c=e.headerInterpreter(t.headers),u=function(){if("dont cache"===c)return Promise.resolve(r(t.id,i)).then(function(){return e.debug({id:t.id,msg:"Cache header interpreted as 'dont cache'",data:{cache:n,response:t,expirationTime:c}}),s=1,t})}();return u&&u.then?u.then(a):a(u)}}();return m&&m.then?m.then(u):u(m)}var d=function(){if(s&&!c)return Promise.resolve(r(t.id,i)).then(function(){return e.debug({id:t.id,msg:"Cache predicate rejected this response"}),t})}();return d&&d.then?d.then(u):u()}if("loading"!==n.state)return e.debug({id:t.id,msg:"Response not cached and storage isn't loading",data:{cache:n,response:t}}),t;var s=!n.data;return s?Promise.resolve(b(t,o.cachePredicate)).then(c):c(s)}):(e.debug({id:t.id,msg:"Ignored because method ("+i.method+") is not in cache.methods ("+o.methods+")",data:{config:i,cacheConfig:o}}),t)};if(null==t||!t.config)throw e.debug({msg:"Response interceptor received an unknown response.",data:t}),t;t.id=t.config.id,null!=t.cached||(t.cached=!1);var i=t.config,o=i.cache;if(t.cached)return e.debug({id:t.id,msg:"Returned cached response"}),Promise.resolve(t);if(!o)return e.debug({id:t.id,msg:"Response with config.cache falsy",data:t}),t.cached=!1,Promise.resolve(t);var c=function(){if(o.update)return Promise.resolve(I(e.storage,t,o.update)).then(function(){})}();return Promise.resolve(c&&c.then?c.then(n):n())}catch(e){return Promise.reject(e)}},i=function(n){try{var i=function(i){return Promise.resolve(e.storage.get(c,o)).then(function(i){function d(d){var f;function h(t){return f?t:(e.debug({id:c,msg:"Received an unknown error that could not be handled",data:{error:n,config:o}}),Promise.resolve(r(c,o)).then(function(){throw n}))}var l=function(){if(s.staleIfError){var r=function(t){return e.debug({id:c,msg:"Found cache if stale config for rejected response",data:{error:n,config:o,staleIfError:t}}),function(){var r;if(!0===t||"number"==typeof t&&i.createdAt+t>Date.now())return null==(r=e.waiting[c])||r.resolve(i.data),delete e.waiting[c],Promise.resolve(e.storage.set(c,{state:"stale",createdAt:Date.now(),data:i.data},o)).then(function(){return e.debug({id:c,msg:"staleIfError resolved this response with cached data",data:{error:n,config:o,cache:i}}),f=1,{cached:!0,config:o,id:c,data:i.data.data,headers:i.data.headers,status:i.data.status,statusText:i.data.statusText}})}()},d=String(null==u?void 0:u.headers[a.CacheControl]),h=d&&t.parse(d).staleIfError;return"function"==typeof s.staleIfError?Promise.resolve(s.staleIfError(u,i,n)).then(r):r(!0===s.staleIfError&&h?1e3*h:s.staleIfError)}}();return l&&l.then?l.then(h):h(l)}var f=function(){if("loading"!==i.state||"stale"!==i.previous)return e.debug({id:c,msg:"Caught an error in the request interceptor",data:{cache:i,error:n,config:o}}),Promise.resolve(r(c,o)).then(function(){throw n})}();return f&&f.then?f.then(d):d()})};if(!n.isAxiosError||!n.config)throw e.debug({msg:"FATAL: Received an non axios error in the rejected response interceptor, ignoring.",data:n}),n;var o=n.config,c=o.id,s=o.cache,u=n.response;if(!s||!c)throw e.debug({msg:"Web request returned an error but cache handling is not enabled",data:{error:n}}),n;var f=function(){if(!d(o.method,s.methods))return e.debug({id:c,msg:"Ignored because method ("+o.method+") is not in cache.methods ("+s.methods+")",data:{config:o,cacheConfig:s}}),Promise.resolve(r(c,o)).then(function(){throw n})}();return Promise.resolve(f&&f.then?f.then(i):i())}catch(e){return Promise.reject(e)}};return{onFulfilled:n,onRejected:i,apply:function(){return e.interceptors.response.use(n,i)}}}var x=function(e){return!!e&&!!e["is-storage"]};function j(e){var t=e.data.headers;return a.ETag in t||a.LastModified in t||a.XAxiosCacheEtag in t||a.XAxiosCacheLastModified in t}function A(e){return String(e.data.headers[a.CacheControl]).includes("must-revalidate")}function E(e){return!!j(e)||"cached"===e.state&&void 0!==e.staleTtl&&Math.abs(Date.now()-(e.createdAt+e.ttl))<=e.staleTtl}function T(e){return void 0!==e.ttl&&e.createdAt+e.ttl<=Date.now()}function O(e){var t=e.set,r=e.find,n=e.remove;return{"is-storage":1,set:t,remove:n,get:function(e,a){try{return Promise.resolve(r(e,a)).then(function(r){var i;function c(t){return i?t:T(r)?j(r)?r:Promise.resolve(n(e,a)).then(function(){return{state:"empty"}}):r}if(!r)return{state:"empty"};if("empty"===r.state||"loading"===r.state||"must-revalidate"===r.state)return r;var s=function(){if("cached"===r.state){var c=function(n){return i?n:(r={state:"stale",createdAt:r.createdAt,data:r.data,ttl:void 0!==r.staleTtl?r.staleTtl+r.ttl:void 0},Promise.resolve(t(e,r,a)).then(function(){if(A(r)){var e=o({},r,{state:"must-revalidate"});return i=1,e}}))};if(!T(r))return i=1,r;var s=function(){if(!E(r))return Promise.resolve(n(e,a)).then(function(){return i=1,{state:"empty"}})}();return s&&s.then?s.then(c):c(s)}}();return s&&s.then?s.then(c):c(s)})}catch(e){return Promise.reject(e)}}}}function R(e,t,r){void 0===e&&(e=!1),void 0===t&&(t=!1),void 0===r&&(r=!1);var n=O({set:function(t,a){if(r){var i=Object.keys(n.data);if(i.length>=r)for(n.cleanup(),i=Object.keys(n.data);i.length>=r;)delete n.data[i.shift()]}n.data[t]="double"===e?"function"==typeof structuredClone?structuredClone(a):JSON.parse(JSON.stringify(a)):a},remove:function(e){delete n.data[e]},find:function(t){var r=n.data[t];return e&&void 0!==r?"function"==typeof structuredClone?structuredClone(r):JSON.parse(JSON.stringify(r)):r}});return n.data=Object.create(null),n.cleanup=function(){for(var e,t,r=Object.keys(n.data),a=-1;++a<r.length;)"empty"!==(e=n.data[t=r[a]]).state?"cached"===e.state&&T(e)&&!E(e)&&n.remove(t):n.remove(t)},t&&(n.cleaner=setInterval(n.cleanup,t)),n}var M=/^\/|\/$/g;function q(e){return function(t){if(t.id)return t.id;var r=e(t);return"string"==typeof r||"number"==typeof r?""+r:""+n.hash(r)}}var k=q(function(e){var t=e.baseURL,r=e.url,n=e.method,a=e.params,i=e.data;return t=void 0!==t?t.replace(M,""):"",r=void 0!==r?r.replace(M,""):"",{url:t+(t&&r?"/":"")+r,params:a,method:n=void 0!==n?n.toLowerCase():"get",data:i}});console.error("You are using a development build. Make sure to use the correct build in production\nhttps://axios-cache-interceptor.js.org/guide/getting-started\n\n"),e.Header=a,e.buildKeyGenerator=q,e.buildMemoryStorage=R,e.buildStorage=O,e.buildWebStorage=function(e,t){return void 0===t&&(t="axios-cache-"),O({find:function(r){var n=e.getItem(t+r);return n?JSON.parse(n):void 0},remove:function(r){e.removeItem(t+r)},set:function(r,n){var a=function(){return e.setItem(t+r,JSON.stringify(n))};try{return a()}catch(n){for(var i,o=Object.entries(e).filter(function(e){return e[0].startsWith(t)}).map(function(e){return[e[0],JSON.parse(e[1])]}),c=s(o);!(i=c()).done;){var u=i.value;"cached"===u[1].state&&T(u[1])&&!E(u[1])&&e.removeItem(u[0])}try{return a()}catch(t){for(var d,f=s(o.sort(function(e,t){return(e[1].createdAt||0)-(t[1].createdAt||0)}));!(d=f()).done;){e.removeItem(d.value[0]);try{return a()}catch(e){}}}e.removeItem(t+r)}}})},e.canStale=E,e.createCacheResponse=h,e.createValidateStatus=u,e.defaultHeaderInterpreter=i,e.defaultKeyGenerator=k,e.defaultRequestInterceptor=l,e.defaultResponseInterceptor=C,e.isExpired=T,e.isMethodIn=d,e.isStorage=x,e.mustRevalidate=A,e.setupCache=function(e,t){var r,n,a,o,c,s,u,d;void 0===t&&(t={});var f=e;if(f.defaults.cache)throw new Error("setupCache() should be called only once");if(f.storage=t.storage||R(),!x(f.storage))throw new Error("Use buildStorage() function");return f.waiting=t.waiting||{},f.generateKey=t.generateKey||k,f.headerInterpreter=t.headerInterpreter||i,f.requestInterceptor=t.requestInterceptor||l(f),f.responseInterceptor=t.responseInterceptor||C(f),f.debug=t.debug||function(){},f.defaults.cache={update:t.update||{},ttl:null!=(r=t.ttl)?r:3e5,methods:t.methods||["get","head"],cachePredicate:t.cachePredicate||{statusCheck:function(e){return[200,203,300,301,302,404,405,410,414,501].includes(e)}},etag:null==(n=t.etag)||n,modifiedSince:null!=(a=t.modifiedSince)?a:!1===t.etag,interpretHeader:null==(o=t.interpretHeader)||o,cacheTakeover:null==(c=t.cacheTakeover)||c,staleIfError:null==(s=t.staleIfError)||s,override:null!=(u=t.override)&&u,hydrate:null!=(d=t.hydrate)?d:void 0},f.requestInterceptor.apply(),f.responseInterceptor.apply(),f},e.testCachePredicate=b,e.updateCache=I,e.updateStaleRequest=f});
//# sourceMappingURL=index.bundle.js.map
/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -298,3 +298,3 @@ * Released under the MIT License.

// biome-ignore lint/suspicious/noConfusingLabels: required to break condition in simultaneous accesses
ignoreAndRequest: if (cache.state === 'empty' || cache.state === 'stale' || overrideCache) {
ignoreAndRequest: if (cache.state === 'empty' || cache.state === 'stale' || cache.state === 'must-revalidate' || overrideCache) {
// This checks for simultaneous access to a new key. The js event loop jumps on the

@@ -309,3 +309,3 @@ // first await statement, so the second (asynchronous call) request may have already

// on waiting map.
if (cache.state !== 'empty') {
if (cache.state !== 'empty' && cache.state !== 'must-revalidate') {
{

@@ -337,3 +337,3 @@ axios.debug({

}, config);
if (cache.state === 'stale') {
if (cache.state === 'stale' || cache.state === 'must-revalidate') {
updateStaleRequest(cache, config);

@@ -359,3 +359,3 @@ {

// Hydrates any UI temporarily, if cache is available
if (cache.state === 'stale' || cache.data) {
if (cache.state === 'stale' || cache.data && cache.state !== 'must-revalidate') {
await (config.cache.hydrate == null ? void 0 : config.cache.hydrate(cache));

@@ -823,10 +823,10 @@ }

}
/** Returns true if value must be revalidated */
function mustRevalidate(value) {
// Must revalidate is a special case and should not serve stale values
// We could use cache-control's parse function, but this is way faster and simpler
return String(value.data.headers[Header.CacheControl]).includes('must-revalidate');
}
/** Returns true if this has sufficient properties to stale instead of expire. */
function canStale(value) {
// Must revalidate is a special case and should not be staled
if (String(value.data.headers[Header.CacheControl])
// We could use cache-control's parse function, but this is way faster and simpler
.includes('must-revalidate')) {
return false;
}
if (hasUniqueIdentifierHeader(value)) {

@@ -846,3 +846,3 @@ return true;

* Checks if the provided cache is expired. You should also check if the cache
* {@link canStale}
* {@link canStale} and {@link mayUseStale}
*/

@@ -892,3 +892,3 @@ function isExpired(value) {

}
if (value.state === 'empty' || value.state === 'loading') {
if (value.state === 'empty' || value.state === 'loading' || value.state === 'must-revalidate') {
return value;

@@ -915,2 +915,8 @@ }

await set(key, value, config);
// Must revalidate is a special case and should not serve stale values
if (mustRevalidate(value)) {
return _extends({}, value, {
state: 'must-revalidate'
});
}
}

@@ -1233,3 +1239,3 @@ // A second check in case the new stale value was created already expired.

export { Header, buildKeyGenerator, buildMemoryStorage, buildStorage, buildWebStorage, canStale, createCacheResponse, createValidateStatus, defaultHeaderInterpreter, defaultKeyGenerator, defaultRequestInterceptor, defaultResponseInterceptor, isExpired, isMethodIn, isStorage, setupCache, testCachePredicate, updateCache, updateStaleRequest };
export { Header, buildKeyGenerator, buildMemoryStorage, buildStorage, buildWebStorage, canStale, createCacheResponse, createValidateStatus, defaultHeaderInterpreter, defaultKeyGenerator, defaultRequestInterceptor, defaultResponseInterceptor, isExpired, isMethodIn, isStorage, mustRevalidate, setupCache, testCachePredicate, updateCache, updateStaleRequest };
//# sourceMappingURL=index.modern.js.map
/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -190,3 +190,3 @@ * Released under the MIT License.

hydrate: undefined | ((cache: (LoadingStorageValue & {
previous: 'stale';
previous: 'stale' | 'must-revalidate';
}) | CachedStorageValue | StaleStorageValue) => void | Promise<void>);

@@ -306,3 +306,3 @@ }

* @default noop function
* @see https://axios-cache-interceptor.js.org/#/pages/development-mode
* @see https://axios-cache-interceptor.js.org/guide/debugging
*/

@@ -309,0 +309,0 @@ debug: (this: void, msg: DebugObject) => void;

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors
* Released under the MIT License.
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("cache-parser"),require("fast-defer"),require("object-code")):"function"==typeof define&&define.amd?define(["exports","cache-parser","fast-defer","object-code"],t):t((e||self).axiosCacheInterceptor={},e.cacheParser,e.fastDefer,e.objectCode)}(this,function(e,t,r,n){var a=Object.freeze({IfModifiedSince:"if-modified-since",LastModified:"last-modified",IfNoneMatch:"if-none-match",CacheControl:"cache-control",Pragma:"pragma",ETag:"etag",Expires:"expires",Age:"age",XAxiosCacheEtag:"x-axios-cache-etag",XAxiosCacheLastModified:"x-axios-cache-last-modified",XAxiosCacheStaleIfError:"x-axios-cache-stale-if-error"}),o=function(e){if(!e)return"not enough headers";var r=e[a.CacheControl];if(r){var n=t.parse(String(r)),o=n.maxAge,i=n.maxStale,u=n.staleWhileRevalidate;if(n.noCache||n.noStore)return"dont cache";if(n.immutable)return{cache:31536e6};if(void 0!==o){var c=e[a.Age];return{cache:c?1e3*(o-Number(c)):1e3*o,stale:void 0!==i?1e3*i:void 0!==u?1e3*u:void 0}}}var s=e[a.Expires];if(s){var f=Date.parse(String(s))-Date.now();return f>=0?{cache:f}:"dont cache"}return"not enough headers"};function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},i.apply(this,arguments)}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function c(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 u(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)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(e){return e?function(t){return e(t)||304===t}:function(e){return e>=200&&e<300||304===e}}function f(e,t){return void 0===e&&(e="get"),void 0===t&&(t=[]),e=e.toLowerCase(),t.some(function(t){return t===e})}function d(e,t){t.headers||(t.headers={});var r=t.cache,n=r.etag,o=r.modifiedSince;if(n){var i,u=!0===n?null==(i=e.data)?void 0:i.headers[a.ETag]:n;u&&(t.headers[a.IfNoneMatch]=u)}o&&(t.headers[a.IfModifiedSince]=!0===o?e.data.headers[a.LastModified]||new Date(e.createdAt).toUTCString():o.toUTCString())}function h(e,t){return 304===e.status&&t?(e.cached=!0,e.data=t.data,e.status=t.status,e.statusText=t.statusText,e.headers=i({},t.headers,e.headers),t):{data:e.data,status:e.status,statusText:e.statusText,headers:e.headers}}function l(e){var t=function t(n){try{if(n.id=e.generateKey(n),!1===n.cache)return Promise.resolve(n);if(n.cache=i({},e.defaults.cache,n.cache),"object"==typeof n.cache.cachePredicate&&n.cache.cachePredicate.ignoreUrls&&n.url)for(var o,u=c(n.cache.cachePredicate.ignoreUrls);!(o=u()).done;){var h=o.value;if(h instanceof RegExp?(h.lastIndex=0,h.test(n.url)):n.url.includes(h))return Promise.resolve(n)}var l,v,m,g,p,y;return n.cache.cacheTakeover&&(null!=(l=n.headers)[v=a.CacheControl]||(l[v]="no-cache"),null!=(m=n.headers)[g=a.Pragma]||(m[g]="no-cache"),null!=(p=n.headers)[y=a.Expires]||(p[y]="0")),f(n.method,n.cache.methods)?Promise.resolve(e.storage.get(n.id,n)).then(function(a){var o;function i(r){var i,u;if(o)return r;function c(e){return i?e:(n.transformResponse=void 0,n.adapter=function(){return Promise.resolve({config:n,data:u.data,headers:u.headers,status:u.status,statusText:u.statusText,cached:!0,id:n.id})},n)}var s=function(){if("loading"===a.state){var r=function(e){return i?e:function(e,t){try{var r=Promise.resolve(o).then(function(e){u=e})}catch(e){return t()}return r&&r.then?r.then(void 0,t):r}(0,function(e){function r(){var e=t(n);return i=1,e}var o=function(){if(a.data)return Promise.resolve(null==n.cache.hydrate?void 0:n.cache.hydrate(a)).then(function(){})}();return o&&o.then?o.then(r):r()})},o=e.waiting[n.id],c=function(){if(!o){var e=function(){return i=1,n},t=function(){if(a.data)return Promise.resolve(null==n.cache.hydrate?void 0:n.cache.hydrate(a)).then(function(){})}();return t&&t.then?t.then(e):e()}}();return c&&c.then?c.then(r):r(c)}u=a.data}();return s&&s.then?s.then(c):c(s)}var u=n.cache.override,c=function(){if("empty"===a.state||"stale"===a.state||u){var t=function(){return e.waiting[n.id]=r.deferred(),e.waiting[n.id].catch(function(){}),Promise.resolve(e.storage.set(n.id,{state:"loading",previous:u?a.data?"stale":"empty":a.state,data:a.data,createdAt:u&&!a.createdAt?Date.now():a.createdAt},n)).then(function(){function e(){return o=1,n}"stale"===a.state&&d(a,n),n.validateStatus=s(n.validateStatus);var t=function(){if("stale"===a.state||a.data)return Promise.resolve(null==n.cache.hydrate?void 0:n.cache.hydrate(a)).then(function(){})}();return t&&t.then?t.then(e):e()})},i=function(){if(e.waiting[n.id]&&!u)return Promise.resolve(e.storage.get(n.id,n)).then(function(e){a=e})}();return i&&i.then?i.then(t):t()}}();return c&&c.then?c.then(i):i(c)}):Promise.resolve(n)}catch(e){return Promise.reject(e)}};return{onFulfilled:t,apply:function(){return e.interceptors.request.use(t)}}}const v="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function m(e,t,r){if(!e.s){if(r instanceof g){if(!r.s)return void(r.o=m.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(m.bind(null,e,t),m.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var g=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,r){var n=new e,a=this.s;if(a){var o=1&a?t:r;if(o){try{m(n,1,o(this.v))}catch(e){m(n,2,e)}return n}return this}return this.o=function(e){try{var a=e.v;1&e.s?m(n,1,t?t(a):a):r?m(n,1,r(a)):m(n,2,a)}catch(e){m(n,2,e)}},n},e}();function p(e){return e instanceof g&&1&e.s}var y=function(e,t){try{var r=function(t){function r(r){var i;if(n&&!t||a&&!r)return!1;var u=function(){if(o)return function(e,t,r){if("function"==typeof e[v]){var n,a,o,i=e[v]();if(function e(u){try{for(;!((n=i.next()).done||r&&r());)if((u=t(n.value))&&u.then){if(!p(u))return void u.then(e,o||(o=m.bind(null,a=new g,2)));u=u.v}a?m(a,1,u):a=u}catch(e){m(a||(a=new g),2,e)}}(),i.return){var u=function(e){try{n.done||i.return()}catch(e){}return e};if(a&&a.then)return a.then(u,function(e){throw u(e)});u()}return a}if(!("length"in e))throw new TypeError("Object is not iterable");for(var c=[],s=0;s<e.length;s++)c.push(e[s]);return function(e,t,r){var n,a,o=-1;return function i(u){try{for(;++o<e.length&&(!r||!r());)if((u=t(o))&&u.then){if(!p(u))return void u.then(i,a||(a=m.bind(null,n=new g,2)));u=u.v}n?m(n,1,u):n=u}catch(e){m(n||(n=new g),2,e)}}(),n}(c,function(e){return t(c[e])},r)}(Object.entries(o),function(t){var r,n=t[0];return Promise.resolve((0,t[1])(null!=(r=e.headers[n.toLowerCase()])?r:e.headers[n])).then(function(e){if(!e)return i=1,!1})},function(){return i})}();return u&&u.then?u.then(function(e){return!i||e}):!i||u}return n&&!t||!a?r(n&&!t||a&&a(e)):Promise.resolve(n&&!t||a&&a(e)).then(r)};if("function"==typeof t)return Promise.resolve(t(e));var n=t.statusCheck,a=t.responseMatch,o=t.containsHeaders;return Promise.resolve(n?Promise.resolve(n(e.status)).then(r):r(n))}catch(e){return Promise.reject(e)}};const b="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function P(e,t,r){if(!e.s){if(r instanceof w){if(!r.s)return void(r.o=P.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(P.bind(null,e,t),P.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var w=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,r){var n=new e,a=this.s;if(a){var o=1&a?t:r;if(o){try{P(n,1,o(this.v))}catch(e){P(n,2,e)}return n}return this}return this.o=function(e){try{var a=e.v;1&e.s?P(n,1,t?t(a):a):r?P(n,1,r(a)):P(n,2,a)}catch(e){P(n,2,e)}},n},e}();function S(e){return e instanceof w&&1&e.s}var x=function(e,t,r){try{if("function"==typeof r)return Promise.resolve(r(t));var n=function(e,t,r){if("function"==typeof e[b]){var n,a,o,i=e[b]();if(function e(r){try{for(;!(n=i.next()).done;)if((r=t(n.value))&&r.then){if(!S(r))return void r.then(e,o||(o=P.bind(null,a=new w,2)));r=r.v}a?P(a,1,r):a=r}catch(e){P(a||(a=new w),2,e)}}(),i.return){var u=function(e){try{n.done||i.return()}catch(e){}return e};if(a&&a.then)return a.then(u,function(e){throw u(e)});u()}return a}if(!("length"in e))throw new TypeError("Object is not iterable");for(var c=[],s=0;s<e.length;s++)c.push(e[s]);return function(e,t,r){var n,a,o=-1;return function r(i){try{for(;++o<e.length;)if((i=t(o))&&i.then){if(!S(i))return void i.then(r,a||(a=P.bind(null,n=new w,2)));i=i.v}n?P(n,1,i):n=i}catch(e){P(n||(n=new w),2,e)}}(),n}(c,function(e){return t(c[e])})}(Object.entries(r),function(r){var n=r[0],a=r[1];function o(){return Promise.resolve(e.get(n,t.config)).then(function(r){if("loading"!==r.state)return Promise.resolve(a(r,t)).then(function(r){function a(){var a=function(){if("ignore"!==r)return Promise.resolve(e.set(n,r,t.config)).then(function(){})}();if(a&&a.then)return a.then(function(){})}var o=function(){if("delete"===r)return Promise.resolve(e.remove(n,t.config)).then(function(){})}();return o&&o.then?o.then(a):a()})})}var i=function(){if("delete"===a)return Promise.resolve(e.remove(n,t.config)).then(function(){})}();return i&&i.then?i.then(o):o()});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}};function I(e){var r=function(t,r){try{return Promise.resolve(e.storage.remove(t,r)).then(function(){var r;null==(r=e.waiting[t])||r.reject(),delete e.waiting[t]})}catch(e){return Promise.reject(e)}},n=function(t){try{var n=function(){return f(o.method,i.methods)?Promise.resolve(e.storage.get(t.id,o)).then(function(n){function u(u){function s(u){var c;function s(r){if(c)return r;function u(){i.staleIfError&&(t.headers[a.XAxiosCacheStaleIfError]=String(m));var r={state:"cached",ttl:m,staleTtl:v,createdAt:Date.now(),data:s},n=e.waiting[t.id];return n&&(n.resolve(r.data),delete e.waiting[t.id]),Promise.resolve(e.storage.set(t.id,r,o)).then(function(){return t})}var s=h(t,n.data),f=function(){if("function"==typeof m)return Promise.resolve(m(t)).then(function(e){m=e})}();return f&&f.then?f.then(u):u()}for(var f=0,d=Object.keys(t.headers);f<d.length;f++){var l=d[f];l.startsWith("x-axios-cache")&&delete t.headers[l]}i.etag&&!0!==i.etag&&(t.headers[a.XAxiosCacheEtag]=i.etag),i.modifiedSince&&(t.headers[a.XAxiosCacheLastModified]=!0===i.modifiedSince?"use-cache-timestamp":i.modifiedSince.toUTCString());var v,m=i.ttl||-1,g=function(){if(i.interpretHeader){var n=function(e){if(c)return e;"not enough headers"!==a&&("number"==typeof a?m=a:(m=a.cache,v=a.stale))},a=e.headerInterpreter(t.headers),u=function(){if("dont cache"===a)return Promise.resolve(r(t.id,o)).then(function(){return c=1,t})}();return u&&u.then?u.then(n):n(u)}}();return g&&g.then?g.then(s):s(g)}var f=function(){if(c&&!u)return Promise.resolve(r(t.id,o)).then(function(){return t})}();return f&&f.then?f.then(s):s()}if("loading"!==n.state)return t;var c=!n.data;return c?Promise.resolve(y(t,i.cachePredicate)).then(u):u(c)}):t};if(null==t||!t.config)throw t;t.id=t.config.id,null!=t.cached||(t.cached=!1);var o=t.config,i=o.cache;if(t.cached)return Promise.resolve(t);if(!i)return t.cached=!1,Promise.resolve(t);var u=function(){if(i.update)return Promise.resolve(x(e.storage,t,i.update)).then(function(){})}();return Promise.resolve(u&&u.then?u.then(n):n())}catch(e){return Promise.reject(e)}},o=function(n){try{var o=function(o){return Promise.resolve(e.storage.get(u,i)).then(function(o){function f(f){var d;function h(e){return d?e:Promise.resolve(r(u,i)).then(function(){throw n})}var l=function(){if(c.staleIfError){var r=function(t){return function(){var r;if(!0===t||"number"==typeof t&&o.createdAt+t>Date.now())return null==(r=e.waiting[u])||r.resolve(o.data),delete e.waiting[u],Promise.resolve(e.storage.set(u,{state:"stale",createdAt:Date.now(),data:o.data},i)).then(function(){return d=1,{cached:!0,config:i,id:u,data:o.data.data,headers:o.data.headers,status:o.data.status,statusText:o.data.statusText}})}()},f=String(null==s?void 0:s.headers[a.CacheControl]),h=f&&t.parse(f).staleIfError;return"function"==typeof c.staleIfError?Promise.resolve(c.staleIfError(s,o,n)).then(r):r(!0===c.staleIfError&&h?1e3*h:c.staleIfError)}}();return l&&l.then?l.then(h):h(l)}var d=function(){if("loading"!==o.state||"stale"!==o.previous)return Promise.resolve(r(u,i)).then(function(){throw n})}();return d&&d.then?d.then(f):f()})};if(!n.isAxiosError||!n.config)throw n;var i=n.config,u=i.id,c=i.cache,s=n.response;if(!c||!u)throw n;var d=function(){if(!f(i.method,c.methods))return Promise.resolve(r(u,i)).then(function(){throw n})}();return Promise.resolve(d&&d.then?d.then(o):o())}catch(e){return Promise.reject(e)}};return{onFulfilled:n,onRejected:o,apply:function(){return e.interceptors.response.use(n,o)}}}var C=function(e){return!!e&&!!e["is-storage"]};function j(e){var t=e.data.headers;return a.ETag in t||a.LastModified in t||a.XAxiosCacheEtag in t||a.XAxiosCacheLastModified in t}function A(e){return!String(e.data.headers[a.CacheControl]).includes("must-revalidate")&&(!!j(e)||"cached"===e.state&&void 0!==e.staleTtl&&Math.abs(Date.now()-(e.createdAt+e.ttl))<=e.staleTtl)}function E(e){return void 0!==e.ttl&&e.createdAt+e.ttl<=Date.now()}function T(e){var t=e.set,r=e.find,n=e.remove;return{"is-storage":1,set:t,remove:n,get:function(e,a){try{return Promise.resolve(r(e,a)).then(function(r){var o;function i(t){return o?t:E(r)?j(r)?r:Promise.resolve(n(e,a)).then(function(){return{state:"empty"}}):r}if(!r)return{state:"empty"};if("empty"===r.state||"loading"===r.state)return r;var u=function(){if("cached"===r.state){var i=function(n){return o?n:(r={state:"stale",createdAt:r.createdAt,data:r.data,ttl:void 0!==r.staleTtl?r.staleTtl+r.ttl:void 0},Promise.resolve(t(e,r,a)).then(function(){}))};if(!E(r))return o=1,r;var u=function(){if(!A(r))return Promise.resolve(n(e,a)).then(function(){return o=1,{state:"empty"}})}();return u&&u.then?u.then(i):i(u)}}();return u&&u.then?u.then(i):i(u)})}catch(e){return Promise.reject(e)}}}}function O(e,t,r){void 0===e&&(e=!1),void 0===t&&(t=!1),void 0===r&&(r=!1);var n=T({set:function(t,a){if(r){var o=Object.keys(n.data);if(o.length>=r)for(n.cleanup(),o=Object.keys(n.data);o.length>=r;)delete n.data[o.shift()]}n.data[t]="double"===e?"function"==typeof structuredClone?structuredClone(a):JSON.parse(JSON.stringify(a)):a},remove:function(e){delete n.data[e]},find:function(t){var r=n.data[t];return e&&void 0!==r?"function"==typeof structuredClone?structuredClone(r):JSON.parse(JSON.stringify(r)):r}});return n.data=Object.create(null),n.cleanup=function(){for(var e,t,r=Object.keys(n.data),a=-1;++a<r.length;)"empty"!==(e=n.data[t=r[a]]).state?"cached"===e.state&&E(e)&&!A(e)&&n.remove(t):n.remove(t)},t&&(n.cleaner=setInterval(n.cleanup,t)),n}var M=/^\/|\/$/g;function D(e){return function(t){if(t.id)return t.id;var r=e(t);return"string"==typeof r||"number"==typeof r?""+r:""+n.hash(r)}}var L=D(function(e){var t=e.baseURL,r=e.url,n=e.method,a=e.params,o=e.data;return t=void 0!==t?t.replace(M,""):"",r=void 0!==r?r.replace(M,""):"",{url:t+(t&&r?"/":"")+r,params:a,method:n=void 0!==n?n.toLowerCase():"get",data:o}});e.Header=a,e.buildKeyGenerator=D,e.buildMemoryStorage=O,e.buildStorage=T,e.buildWebStorage=function(e,t){return void 0===t&&(t="axios-cache-"),T({find:function(r){var n=e.getItem(t+r);return n?JSON.parse(n):void 0},remove:function(r){e.removeItem(t+r)},set:function(r,n){var a=function(){return e.setItem(t+r,JSON.stringify(n))};try{return a()}catch(n){for(var o,i=Object.entries(e).filter(function(e){return e[0].startsWith(t)}).map(function(e){return[e[0],JSON.parse(e[1])]}),u=c(i);!(o=u()).done;){var s=o.value;"cached"===s[1].state&&E(s[1])&&!A(s[1])&&e.removeItem(s[0])}try{return a()}catch(t){for(var f,d=c(i.sort(function(e,t){return(e[1].createdAt||0)-(t[1].createdAt||0)}));!(f=d()).done;){e.removeItem(f.value[0]);try{return a()}catch(e){}}}e.removeItem(t+r)}}})},e.canStale=A,e.createCacheResponse=h,e.createValidateStatus=s,e.defaultHeaderInterpreter=o,e.defaultKeyGenerator=L,e.defaultRequestInterceptor=l,e.defaultResponseInterceptor=I,e.isExpired=E,e.isMethodIn=f,e.isStorage=C,e.setupCache=function(e,t){var r,n,a,i,u,c,s,f;void 0===t&&(t={});var d=e;if(d.defaults.cache)throw new Error("setupCache() should be called only once");if(d.storage=t.storage||O(),!C(d.storage))throw new Error("Use buildStorage() function");return d.waiting=t.waiting||{},d.generateKey=t.generateKey||L,d.headerInterpreter=t.headerInterpreter||o,d.requestInterceptor=t.requestInterceptor||l(d),d.responseInterceptor=t.responseInterceptor||I(d),d.debug=t.debug||function(){},d.defaults.cache={update:t.update||{},ttl:null!=(r=t.ttl)?r:3e5,methods:t.methods||["get","head"],cachePredicate:t.cachePredicate||{statusCheck:function(e){return[200,203,300,301,302,404,405,410,414,501].includes(e)}},etag:null==(n=t.etag)||n,modifiedSince:null!=(a=t.modifiedSince)?a:!1===t.etag,interpretHeader:null==(i=t.interpretHeader)||i,cacheTakeover:null==(u=t.cacheTakeover)||u,staleIfError:null==(c=t.staleIfError)||c,override:null!=(s=t.override)&&s,hydrate:null!=(f=t.hydrate)?f:void 0},d.requestInterceptor.apply(),d.responseInterceptor.apply(),d},e.testCachePredicate=y,e.updateCache=x,e.updateStaleRequest=d});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("cache-parser"),require("fast-defer"),require("object-code")):"function"==typeof define&&define.amd?define(["exports","cache-parser","fast-defer","object-code"],t):t((e||self).axiosCacheInterceptor={},e.cacheParser,e.fastDefer,e.objectCode)}(this,function(e,t,r,n){var a=Object.freeze({IfModifiedSince:"if-modified-since",LastModified:"last-modified",IfNoneMatch:"if-none-match",CacheControl:"cache-control",Pragma:"pragma",ETag:"etag",Expires:"expires",Age:"age",XAxiosCacheEtag:"x-axios-cache-etag",XAxiosCacheLastModified:"x-axios-cache-last-modified",XAxiosCacheStaleIfError:"x-axios-cache-stale-if-error"}),o=function(e){if(!e)return"not enough headers";var r=e[a.CacheControl];if(r){var n=t.parse(String(r)),o=n.maxAge,i=n.maxStale,u=n.staleWhileRevalidate;if(n.noCache||n.noStore)return"dont cache";if(n.immutable)return{cache:31536e6};if(void 0!==o){var c=e[a.Age];return{cache:c?1e3*(o-Number(c)):1e3*o,stale:void 0!==i?1e3*i:void 0!==u?1e3*u:void 0}}}var s=e[a.Expires];if(s){var f=Date.parse(String(s))-Date.now();return f>=0?{cache:f}:"dont cache"}return"not enough headers"};function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},i.apply(this,arguments)}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function c(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 u(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)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(e){return e?function(t){return e(t)||304===t}:function(e){return e>=200&&e<300||304===e}}function f(e,t){return void 0===e&&(e="get"),void 0===t&&(t=[]),e=e.toLowerCase(),t.some(function(t){return t===e})}function d(e,t){t.headers||(t.headers={});var r=t.cache,n=r.etag,o=r.modifiedSince;if(n){var i,u=!0===n?null==(i=e.data)?void 0:i.headers[a.ETag]:n;u&&(t.headers[a.IfNoneMatch]=u)}o&&(t.headers[a.IfModifiedSince]=!0===o?e.data.headers[a.LastModified]||new Date(e.createdAt).toUTCString():o.toUTCString())}function h(e,t){return 304===e.status&&t?(e.cached=!0,e.data=t.data,e.status=t.status,e.statusText=t.statusText,e.headers=i({},t.headers,e.headers),t):{data:e.data,status:e.status,statusText:e.statusText,headers:e.headers}}function l(e){var t=function t(n){try{if(n.id=e.generateKey(n),!1===n.cache)return Promise.resolve(n);if(n.cache=i({},e.defaults.cache,n.cache),"object"==typeof n.cache.cachePredicate&&n.cache.cachePredicate.ignoreUrls&&n.url)for(var o,u=c(n.cache.cachePredicate.ignoreUrls);!(o=u()).done;){var h=o.value;if(h instanceof RegExp?(h.lastIndex=0,h.test(n.url)):n.url.includes(h))return Promise.resolve(n)}var l,v,m,g,p,y;return n.cache.cacheTakeover&&(null!=(l=n.headers)[v=a.CacheControl]||(l[v]="no-cache"),null!=(m=n.headers)[g=a.Pragma]||(m[g]="no-cache"),null!=(p=n.headers)[y=a.Expires]||(p[y]="0")),f(n.method,n.cache.methods)?Promise.resolve(e.storage.get(n.id,n)).then(function(a){var o;function i(r){var i,u;if(o)return r;function c(e){return i?e:(n.transformResponse=void 0,n.adapter=function(){return Promise.resolve({config:n,data:u.data,headers:u.headers,status:u.status,statusText:u.statusText,cached:!0,id:n.id})},n)}var s=function(){if("loading"===a.state){var r=function(e){return i?e:function(e,t){try{var r=Promise.resolve(o).then(function(e){u=e})}catch(e){return t()}return r&&r.then?r.then(void 0,t):r}(0,function(e){function r(){var e=t(n);return i=1,e}var o=function(){if(a.data)return Promise.resolve(null==n.cache.hydrate?void 0:n.cache.hydrate(a)).then(function(){})}();return o&&o.then?o.then(r):r()})},o=e.waiting[n.id],c=function(){if(!o){var e=function(){return i=1,n},t=function(){if(a.data)return Promise.resolve(null==n.cache.hydrate?void 0:n.cache.hydrate(a)).then(function(){})}();return t&&t.then?t.then(e):e()}}();return c&&c.then?c.then(r):r(c)}u=a.data}();return s&&s.then?s.then(c):c(s)}var u=n.cache.override,c=function(){if("empty"===a.state||"stale"===a.state||"must-revalidate"===a.state||u){var t=function(){return e.waiting[n.id]=r.deferred(),e.waiting[n.id].catch(function(){}),Promise.resolve(e.storage.set(n.id,{state:"loading",previous:u?a.data?"stale":"empty":a.state,data:a.data,createdAt:u&&!a.createdAt?Date.now():a.createdAt},n)).then(function(){function e(){return o=1,n}"stale"!==a.state&&"must-revalidate"!==a.state||d(a,n),n.validateStatus=s(n.validateStatus);var t=function(){if("stale"===a.state||a.data&&"must-revalidate"!==a.state)return Promise.resolve(null==n.cache.hydrate?void 0:n.cache.hydrate(a)).then(function(){})}();return t&&t.then?t.then(e):e()})},i=function(){if(e.waiting[n.id]&&!u)return Promise.resolve(e.storage.get(n.id,n)).then(function(e){a=e})}();return i&&i.then?i.then(t):t()}}();return c&&c.then?c.then(i):i(c)}):Promise.resolve(n)}catch(e){return Promise.reject(e)}};return{onFulfilled:t,apply:function(){return e.interceptors.request.use(t)}}}const v="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function m(e,t,r){if(!e.s){if(r instanceof g){if(!r.s)return void(r.o=m.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(m.bind(null,e,t),m.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var g=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,r){var n=new e,a=this.s;if(a){var o=1&a?t:r;if(o){try{m(n,1,o(this.v))}catch(e){m(n,2,e)}return n}return this}return this.o=function(e){try{var a=e.v;1&e.s?m(n,1,t?t(a):a):r?m(n,1,r(a)):m(n,2,a)}catch(e){m(n,2,e)}},n},e}();function p(e){return e instanceof g&&1&e.s}var y=function(e,t){try{var r=function(t){function r(r){var i;if(n&&!t||a&&!r)return!1;var u=function(){if(o)return function(e,t,r){if("function"==typeof e[v]){var n,a,o,i=e[v]();if(function e(u){try{for(;!((n=i.next()).done||r&&r());)if((u=t(n.value))&&u.then){if(!p(u))return void u.then(e,o||(o=m.bind(null,a=new g,2)));u=u.v}a?m(a,1,u):a=u}catch(e){m(a||(a=new g),2,e)}}(),i.return){var u=function(e){try{n.done||i.return()}catch(e){}return e};if(a&&a.then)return a.then(u,function(e){throw u(e)});u()}return a}if(!("length"in e))throw new TypeError("Object is not iterable");for(var c=[],s=0;s<e.length;s++)c.push(e[s]);return function(e,t,r){var n,a,o=-1;return function i(u){try{for(;++o<e.length&&(!r||!r());)if((u=t(o))&&u.then){if(!p(u))return void u.then(i,a||(a=m.bind(null,n=new g,2)));u=u.v}n?m(n,1,u):n=u}catch(e){m(n||(n=new g),2,e)}}(),n}(c,function(e){return t(c[e])},r)}(Object.entries(o),function(t){var r,n=t[0];return Promise.resolve((0,t[1])(null!=(r=e.headers[n.toLowerCase()])?r:e.headers[n])).then(function(e){if(!e)return i=1,!1})},function(){return i})}();return u&&u.then?u.then(function(e){return!i||e}):!i||u}return n&&!t||!a?r(n&&!t||a&&a(e)):Promise.resolve(n&&!t||a&&a(e)).then(r)};if("function"==typeof t)return Promise.resolve(t(e));var n=t.statusCheck,a=t.responseMatch,o=t.containsHeaders;return Promise.resolve(n?Promise.resolve(n(e.status)).then(r):r(n))}catch(e){return Promise.reject(e)}};const b="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function P(e,t,r){if(!e.s){if(r instanceof w){if(!r.s)return void(r.o=P.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(P.bind(null,e,t),P.bind(null,e,2));e.s=t,e.v=r;var n=e.o;n&&n(e)}}var w=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,r){var n=new e,a=this.s;if(a){var o=1&a?t:r;if(o){try{P(n,1,o(this.v))}catch(e){P(n,2,e)}return n}return this}return this.o=function(e){try{var a=e.v;1&e.s?P(n,1,t?t(a):a):r?P(n,1,r(a)):P(n,2,a)}catch(e){P(n,2,e)}},n},e}();function S(e){return e instanceof w&&1&e.s}var x=function(e,t,r){try{if("function"==typeof r)return Promise.resolve(r(t));var n=function(e,t,r){if("function"==typeof e[b]){var n,a,o,i=e[b]();if(function e(r){try{for(;!(n=i.next()).done;)if((r=t(n.value))&&r.then){if(!S(r))return void r.then(e,o||(o=P.bind(null,a=new w,2)));r=r.v}a?P(a,1,r):a=r}catch(e){P(a||(a=new w),2,e)}}(),i.return){var u=function(e){try{n.done||i.return()}catch(e){}return e};if(a&&a.then)return a.then(u,function(e){throw u(e)});u()}return a}if(!("length"in e))throw new TypeError("Object is not iterable");for(var c=[],s=0;s<e.length;s++)c.push(e[s]);return function(e,t,r){var n,a,o=-1;return function r(i){try{for(;++o<e.length;)if((i=t(o))&&i.then){if(!S(i))return void i.then(r,a||(a=P.bind(null,n=new w,2)));i=i.v}n?P(n,1,i):n=i}catch(e){P(n||(n=new w),2,e)}}(),n}(c,function(e){return t(c[e])})}(Object.entries(r),function(r){var n=r[0],a=r[1];function o(){return Promise.resolve(e.get(n,t.config)).then(function(r){if("loading"!==r.state)return Promise.resolve(a(r,t)).then(function(r){function a(){var a=function(){if("ignore"!==r)return Promise.resolve(e.set(n,r,t.config)).then(function(){})}();if(a&&a.then)return a.then(function(){})}var o=function(){if("delete"===r)return Promise.resolve(e.remove(n,t.config)).then(function(){})}();return o&&o.then?o.then(a):a()})})}var i=function(){if("delete"===a)return Promise.resolve(e.remove(n,t.config)).then(function(){})}();return i&&i.then?i.then(o):o()});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}};function I(e){var r=function(t,r){try{return Promise.resolve(e.storage.remove(t,r)).then(function(){var r;null==(r=e.waiting[t])||r.reject(),delete e.waiting[t]})}catch(e){return Promise.reject(e)}},n=function(t){try{var n=function(){return f(o.method,i.methods)?Promise.resolve(e.storage.get(t.id,o)).then(function(n){function u(u){function s(u){var c;function s(r){if(c)return r;function u(){i.staleIfError&&(t.headers[a.XAxiosCacheStaleIfError]=String(m));var r={state:"cached",ttl:m,staleTtl:v,createdAt:Date.now(),data:s},n=e.waiting[t.id];return n&&(n.resolve(r.data),delete e.waiting[t.id]),Promise.resolve(e.storage.set(t.id,r,o)).then(function(){return t})}var s=h(t,n.data),f=function(){if("function"==typeof m)return Promise.resolve(m(t)).then(function(e){m=e})}();return f&&f.then?f.then(u):u()}for(var f=0,d=Object.keys(t.headers);f<d.length;f++){var l=d[f];l.startsWith("x-axios-cache")&&delete t.headers[l]}i.etag&&!0!==i.etag&&(t.headers[a.XAxiosCacheEtag]=i.etag),i.modifiedSince&&(t.headers[a.XAxiosCacheLastModified]=!0===i.modifiedSince?"use-cache-timestamp":i.modifiedSince.toUTCString());var v,m=i.ttl||-1,g=function(){if(i.interpretHeader){var n=function(e){if(c)return e;"not enough headers"!==a&&("number"==typeof a?m=a:(m=a.cache,v=a.stale))},a=e.headerInterpreter(t.headers),u=function(){if("dont cache"===a)return Promise.resolve(r(t.id,o)).then(function(){return c=1,t})}();return u&&u.then?u.then(n):n(u)}}();return g&&g.then?g.then(s):s(g)}var f=function(){if(c&&!u)return Promise.resolve(r(t.id,o)).then(function(){return t})}();return f&&f.then?f.then(s):s()}if("loading"!==n.state)return t;var c=!n.data;return c?Promise.resolve(y(t,i.cachePredicate)).then(u):u(c)}):t};if(null==t||!t.config)throw t;t.id=t.config.id,null!=t.cached||(t.cached=!1);var o=t.config,i=o.cache;if(t.cached)return Promise.resolve(t);if(!i)return t.cached=!1,Promise.resolve(t);var u=function(){if(i.update)return Promise.resolve(x(e.storage,t,i.update)).then(function(){})}();return Promise.resolve(u&&u.then?u.then(n):n())}catch(e){return Promise.reject(e)}},o=function(n){try{var o=function(o){return Promise.resolve(e.storage.get(u,i)).then(function(o){function f(f){var d;function h(e){return d?e:Promise.resolve(r(u,i)).then(function(){throw n})}var l=function(){if(c.staleIfError){var r=function(t){return function(){var r;if(!0===t||"number"==typeof t&&o.createdAt+t>Date.now())return null==(r=e.waiting[u])||r.resolve(o.data),delete e.waiting[u],Promise.resolve(e.storage.set(u,{state:"stale",createdAt:Date.now(),data:o.data},i)).then(function(){return d=1,{cached:!0,config:i,id:u,data:o.data.data,headers:o.data.headers,status:o.data.status,statusText:o.data.statusText}})}()},f=String(null==s?void 0:s.headers[a.CacheControl]),h=f&&t.parse(f).staleIfError;return"function"==typeof c.staleIfError?Promise.resolve(c.staleIfError(s,o,n)).then(r):r(!0===c.staleIfError&&h?1e3*h:c.staleIfError)}}();return l&&l.then?l.then(h):h(l)}var d=function(){if("loading"!==o.state||"stale"!==o.previous)return Promise.resolve(r(u,i)).then(function(){throw n})}();return d&&d.then?d.then(f):f()})};if(!n.isAxiosError||!n.config)throw n;var i=n.config,u=i.id,c=i.cache,s=n.response;if(!c||!u)throw n;var d=function(){if(!f(i.method,c.methods))return Promise.resolve(r(u,i)).then(function(){throw n})}();return Promise.resolve(d&&d.then?d.then(o):o())}catch(e){return Promise.reject(e)}};return{onFulfilled:n,onRejected:o,apply:function(){return e.interceptors.response.use(n,o)}}}var C=function(e){return!!e&&!!e["is-storage"]};function j(e){var t=e.data.headers;return a.ETag in t||a.LastModified in t||a.XAxiosCacheEtag in t||a.XAxiosCacheLastModified in t}function A(e){return String(e.data.headers[a.CacheControl]).includes("must-revalidate")}function E(e){return!!j(e)||"cached"===e.state&&void 0!==e.staleTtl&&Math.abs(Date.now()-(e.createdAt+e.ttl))<=e.staleTtl}function T(e){return void 0!==e.ttl&&e.createdAt+e.ttl<=Date.now()}function O(e){var t=e.set,r=e.find,n=e.remove;return{"is-storage":1,set:t,remove:n,get:function(e,a){try{return Promise.resolve(r(e,a)).then(function(r){var o;function u(t){return o?t:T(r)?j(r)?r:Promise.resolve(n(e,a)).then(function(){return{state:"empty"}}):r}if(!r)return{state:"empty"};if("empty"===r.state||"loading"===r.state||"must-revalidate"===r.state)return r;var c=function(){if("cached"===r.state){var u=function(n){return o?n:(r={state:"stale",createdAt:r.createdAt,data:r.data,ttl:void 0!==r.staleTtl?r.staleTtl+r.ttl:void 0},Promise.resolve(t(e,r,a)).then(function(){if(A(r)){var e=i({},r,{state:"must-revalidate"});return o=1,e}}))};if(!T(r))return o=1,r;var c=function(){if(!E(r))return Promise.resolve(n(e,a)).then(function(){return o=1,{state:"empty"}})}();return c&&c.then?c.then(u):u(c)}}();return c&&c.then?c.then(u):u(c)})}catch(e){return Promise.reject(e)}}}}function M(e,t,r){void 0===e&&(e=!1),void 0===t&&(t=!1),void 0===r&&(r=!1);var n=O({set:function(t,a){if(r){var o=Object.keys(n.data);if(o.length>=r)for(n.cleanup(),o=Object.keys(n.data);o.length>=r;)delete n.data[o.shift()]}n.data[t]="double"===e?"function"==typeof structuredClone?structuredClone(a):JSON.parse(JSON.stringify(a)):a},remove:function(e){delete n.data[e]},find:function(t){var r=n.data[t];return e&&void 0!==r?"function"==typeof structuredClone?structuredClone(r):JSON.parse(JSON.stringify(r)):r}});return n.data=Object.create(null),n.cleanup=function(){for(var e,t,r=Object.keys(n.data),a=-1;++a<r.length;)"empty"!==(e=n.data[t=r[a]]).state?"cached"===e.state&&T(e)&&!E(e)&&n.remove(t):n.remove(t)},t&&(n.cleaner=setInterval(n.cleanup,t)),n}var D=/^\/|\/$/g;function L(e){return function(t){if(t.id)return t.id;var r=e(t);return"string"==typeof r||"number"==typeof r?""+r:""+n.hash(r)}}var N=L(function(e){var t=e.baseURL,r=e.url,n=e.method,a=e.params,o=e.data;return t=void 0!==t?t.replace(D,""):"",r=void 0!==r?r.replace(D,""):"",{url:t+(t&&r?"/":"")+r,params:a,method:n=void 0!==n?n.toLowerCase():"get",data:o}});e.Header=a,e.buildKeyGenerator=L,e.buildMemoryStorage=M,e.buildStorage=O,e.buildWebStorage=function(e,t){return void 0===t&&(t="axios-cache-"),O({find:function(r){var n=e.getItem(t+r);return n?JSON.parse(n):void 0},remove:function(r){e.removeItem(t+r)},set:function(r,n){var a=function(){return e.setItem(t+r,JSON.stringify(n))};try{return a()}catch(n){for(var o,i=Object.entries(e).filter(function(e){return e[0].startsWith(t)}).map(function(e){return[e[0],JSON.parse(e[1])]}),u=c(i);!(o=u()).done;){var s=o.value;"cached"===s[1].state&&T(s[1])&&!E(s[1])&&e.removeItem(s[0])}try{return a()}catch(t){for(var f,d=c(i.sort(function(e,t){return(e[1].createdAt||0)-(t[1].createdAt||0)}));!(f=d()).done;){e.removeItem(f.value[0]);try{return a()}catch(e){}}}e.removeItem(t+r)}}})},e.canStale=E,e.createCacheResponse=h,e.createValidateStatus=s,e.defaultHeaderInterpreter=o,e.defaultKeyGenerator=N,e.defaultRequestInterceptor=l,e.defaultResponseInterceptor=I,e.isExpired=T,e.isMethodIn=f,e.isStorage=C,e.mustRevalidate=A,e.setupCache=function(e,t){var r,n,a,i,u,c,s,f;void 0===t&&(t={});var d=e;if(d.defaults.cache)throw new Error("setupCache() should be called only once");if(d.storage=t.storage||M(),!C(d.storage))throw new Error("Use buildStorage() function");return d.waiting=t.waiting||{},d.generateKey=t.generateKey||N,d.headerInterpreter=t.headerInterpreter||o,d.requestInterceptor=t.requestInterceptor||l(d),d.responseInterceptor=t.responseInterceptor||I(d),d.debug=t.debug||function(){},d.defaults.cache={update:t.update||{},ttl:null!=(r=t.ttl)?r:3e5,methods:t.methods||["get","head"],cachePredicate:t.cachePredicate||{statusCheck:function(e){return[200,203,300,301,302,404,405,410,414,501].includes(e)}},etag:null==(n=t.etag)||n,modifiedSince:null!=(a=t.modifiedSince)?a:!1===t.etag,interpretHeader:null==(i=t.interpretHeader)||i,cacheTakeover:null==(u=t.cacheTakeover)||u,staleIfError:null==(c=t.staleIfError)||c,override:null!=(s=t.override)&&s,hydrate:null!=(f=t.hydrate)?f:void 0},d.requestInterceptor.apply(),d.responseInterceptor.apply(),d},e.testCachePredicate=y,e.updateCache=x,e.updateStaleRequest=d});
//# sourceMappingURL=index.bundle.js.map
/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -275,3 +275,3 @@ * Released under the MIT License.

// biome-ignore lint/suspicious/noConfusingLabels: required to break condition in simultaneous accesses
ignoreAndRequest: if (cache.state === 'empty' || cache.state === 'stale' || overrideCache) {
ignoreAndRequest: if (cache.state === 'empty' || cache.state === 'stale' || cache.state === 'must-revalidate' || overrideCache) {
// This checks for simultaneous access to a new key. The js event loop jumps on the

@@ -286,3 +286,3 @@ // first await statement, so the second (asynchronous call) request may have already

// on waiting map.
if (cache.state !== 'empty') {
if (cache.state !== 'empty' && cache.state !== 'must-revalidate') {
break ignoreAndRequest;

@@ -308,3 +308,3 @@ }

}, config);
if (cache.state === 'stale') {
if (cache.state === 'stale' || cache.state === 'must-revalidate') {
updateStaleRequest(cache, config);

@@ -314,3 +314,3 @@ }

// Hydrates any UI temporarily, if cache is available
if (cache.state === 'stale' || cache.data) {
if (cache.state === 'stale' || cache.data && cache.state !== 'must-revalidate') {
await (config.cache.hydrate == null ? void 0 : config.cache.hydrate(cache));

@@ -610,10 +610,10 @@ }

}
/** Returns true if value must be revalidated */
function mustRevalidate(value) {
// Must revalidate is a special case and should not serve stale values
// We could use cache-control's parse function, but this is way faster and simpler
return String(value.data.headers[Header.CacheControl]).includes('must-revalidate');
}
/** Returns true if this has sufficient properties to stale instead of expire. */
function canStale(value) {
// Must revalidate is a special case and should not be staled
if (String(value.data.headers[Header.CacheControl])
// We could use cache-control's parse function, but this is way faster and simpler
.includes('must-revalidate')) {
return false;
}
if (hasUniqueIdentifierHeader(value)) {

@@ -633,3 +633,3 @@ return true;

* Checks if the provided cache is expired. You should also check if the cache
* {@link canStale}
* {@link canStale} and {@link mayUseStale}
*/

@@ -679,3 +679,3 @@ function isExpired(value) {

}
if (value.state === 'empty' || value.state === 'loading') {
if (value.state === 'empty' || value.state === 'loading' || value.state === 'must-revalidate') {
return value;

@@ -702,2 +702,8 @@ }

await set(key, value, config);
// Must revalidate is a special case and should not serve stale values
if (mustRevalidate(value)) {
return _extends({}, value, {
state: 'must-revalidate'
});
}
}

@@ -1016,3 +1022,3 @@ // A second check in case the new stale value was created already expired.

export { Header, buildKeyGenerator, buildMemoryStorage, buildStorage, buildWebStorage, canStale, createCacheResponse, createValidateStatus, defaultHeaderInterpreter, defaultKeyGenerator, defaultRequestInterceptor, defaultResponseInterceptor, isExpired, isMethodIn, isStorage, setupCache, testCachePredicate, updateCache, updateStaleRequest };
export { Header, buildKeyGenerator, buildMemoryStorage, buildStorage, buildWebStorage, canStale, createCacheResponse, createValidateStatus, defaultHeaderInterpreter, defaultKeyGenerator, defaultRequestInterceptor, defaultResponseInterceptor, isExpired, isMethodIn, isStorage, mustRevalidate, setupCache, testCachePredicate, updateCache, updateStaleRequest };
//# sourceMappingURL=index.modern.js.map
/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -9,3 +9,3 @@ * Released under the MIT License.

import type { CacheProperties } from '../cache/cache.js';
import type { CachedResponse, StaleStorageValue } from '../storage/types.js';
import type { CachedResponse, MustRevalidateStorageValue, StaleStorageValue } from '../storage/types.js';
/**

@@ -25,3 +25,3 @@ * Creates a new validateStatus function that will use the one already used and also

*/
export declare function updateStaleRequest<D>(cache: StaleStorageValue, config: ConfigWithCache<D>): void;
export declare function updateStaleRequest<D>(cache: StaleStorageValue | MustRevalidateStorageValue, config: ConfigWithCache<D>): void;
/**

@@ -28,0 +28,0 @@ * Creates the new date to the cache by the provided response. Also handles possible 304

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -11,2 +11,4 @@ * Released under the MIT License.

export declare const isStorage: (obj: unknown) => obj is AxiosStorage;
/** Returns true if value must be revalidated */
export declare function mustRevalidate(value: CachedStorageValue | StaleStorageValue): boolean;
/** Returns true if this has sufficient properties to stale instead of expire. */

@@ -16,3 +18,3 @@ export declare function canStale(value: CachedStorageValue): boolean;

* Checks if the provided cache is expired. You should also check if the cache
* {@link canStale}
* {@link canStale} and {@link mayUseStale}
*/

@@ -19,0 +21,0 @@ export declare function isExpired(value: CachedStorageValue | StaleStorageValue): boolean;

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -15,3 +15,3 @@ * Released under the MIT License.

/** The value returned for a given key. */
export type StorageValue = StaleStorageValue | CachedStorageValue | LoadingStorageValue | EmptyStorageValue;
export type StorageValue = StaleStorageValue | CachedStorageValue | LoadingStorageValue | EmptyStorageValue | MustRevalidateStorageValue;
export type NotEmptyStorageValue = Exclude<StorageValue, EmptyStorageValue>;

@@ -25,2 +25,9 @@ export interface StaleStorageValue {

}
export interface MustRevalidateStorageValue {
data: CachedResponse;
ttl?: number;
staleTtl?: undefined;
createdAt: number;
state: 'must-revalidate';
}
export interface CachedStorageValue {

@@ -37,3 +44,3 @@ data: CachedResponse;

}
export type LoadingStorageValue = LoadingEmptiedStorageValue | LoadingStaledStorageValue;
export type LoadingStorageValue = LoadingEmptiedStorageValue | LoadingStaledStorageValue | LoadingRevalidateStorageValue;
export interface LoadingEmptiedStorageValue {

@@ -55,2 +62,10 @@ data?: undefined;

}
export interface LoadingRevalidateStorageValue {
state: 'loading';
data: CachedResponse;
ttl?: undefined;
staleTtl?: undefined;
createdAt: number;
previous: 'must-revalidate';
}
export interface EmptyStorageValue {

@@ -57,0 +72,0 @@ data?: undefined;

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

/*!
* Axios Cache Interceptor 1.5.1
* Axios Cache Interceptor 1.5.2
* (c) 2021-present Arthur Fiorette & Contributors

@@ -4,0 +4,0 @@ * Released under the MIT License.

{
"name": "axios-cache-interceptor",
"version": "1.5.1",
"version": "1.5.2",
"description": "Cache interceptor for axios",

@@ -46,18 +46,18 @@ "keywords": [

"fast-defer": "1.1.8",
"object-code": "1.3.2"
"object-code": "1.3.3"
},
"devDependencies": {
"@biomejs/biome": "1.5.2",
"@swc-node/register": "1.6.8",
"@swc/helpers": "0.5.3",
"@biomejs/biome": "1.5.3",
"@swc-node/register": "1.9.0",
"@swc/helpers": "0.5.10",
"@types/jsdom": "21.1.6",
"@types/node": "20.11.5",
"auto-changelog": "2.4.0",
"axios": "1.6.5",
"axios": "1.6.8",
"c8": "9.1.0",
"jsdom": "23.2.0",
"jsdom": "24.0.0",
"microbundle": "^0.15.1",
"tslib": "2.6.2",
"typescript": "5.3.3",
"vitepress": "1.0.0-rc.39"
"typescript": "5.4.5",
"vitepress": "1.1.3"
},

@@ -67,3 +67,2 @@ "peerDependencies": {

},
"packageManager": "pnpm@8.10.2",
"engines": {

@@ -70,0 +69,0 @@ "node": ">=12"

@@ -210,3 +210,5 @@ import type { Method } from 'axios';

cache:
| (LoadingStorageValue & { previous: 'stale' })
| (LoadingStorageValue & {
previous: 'stale' | 'must-revalidate';
})
| CachedStorageValue

@@ -335,3 +337,3 @@ | StaleStorageValue

* @default noop function
* @see https://axios-cache-interceptor.js.org/#/pages/development-mode
* @see https://axios-cache-interceptor.js.org/guide/debugging
*/

@@ -338,0 +340,0 @@ debug: (this: void, msg: DebugObject) => void;

@@ -88,3 +88,8 @@ import { deferred } from 'fast-defer';

// biome-ignore lint/suspicious/noConfusingLabels: required to break condition in simultaneous accesses
ignoreAndRequest: if (cache.state === 'empty' || cache.state === 'stale' || overrideCache) {
ignoreAndRequest: if (
cache.state === 'empty' ||
cache.state === 'stale' ||
cache.state === 'must-revalidate' ||
overrideCache
) {
// This checks for simultaneous access to a new key. The js event loop jumps on the

@@ -102,3 +107,3 @@ // first await statement, so the second (asynchronous call) request may have already

// on waiting map.
if (cache.state !== 'empty') {
if (cache.state !== 'empty' && cache.state !== 'must-revalidate') {
if (__ACI_DEV__) {

@@ -133,3 +138,3 @@ axios.debug({

: // Typescript doesn't know that cache.state here can only be 'empty' or 'stale'
(cache.state as 'stale'),
(cache.state as 'stale' | 'must-revalidate'),

@@ -144,3 +149,3 @@ data: cache.data as any,

if (cache.state === 'stale') {
if (cache.state === 'stale' || cache.state === 'must-revalidate') {
updateStaleRequest(cache, config as ConfigWithCache<unknown>);

@@ -170,3 +175,3 @@

// Hydrates any UI temporarily, if cache is available
if (cache.state === 'stale' || cache.data) {
if (cache.state === 'stale' || (cache.data && cache.state !== 'must-revalidate')) {
await config.cache.hydrate?.(cache);

@@ -173,0 +178,0 @@ }

@@ -5,3 +5,7 @@ import type { Method } from 'axios';

import { Header } from '../header/headers.js';
import type { CachedResponse, StaleStorageValue } from '../storage/types.js';
import type {
CachedResponse,
MustRevalidateStorageValue,
StaleStorageValue
} from '../storage/types.js';

@@ -37,3 +41,6 @@ /**

*/
export function updateStaleRequest<D>(cache: StaleStorageValue, config: ConfigWithCache<D>): void {
export function updateStaleRequest<D>(
cache: StaleStorageValue | MustRevalidateStorageValue,
config: ConfigWithCache<D>
): void {
config.headers ||= {};

@@ -40,0 +47,0 @@

@@ -21,13 +21,11 @@ import type { CacheRequestConfig } from '../cache/axios.js';

/** Returns true if value must be revalidated */
export function mustRevalidate(value: CachedStorageValue | StaleStorageValue): boolean {
// Must revalidate is a special case and should not serve stale values
// We could use cache-control's parse function, but this is way faster and simpler
return String(value.data.headers[Header.CacheControl]).includes('must-revalidate');
}
/** Returns true if this has sufficient properties to stale instead of expire. */
export function canStale(value: CachedStorageValue): boolean {
// Must revalidate is a special case and should not be staled
if (
String(value.data.headers[Header.CacheControl])
// We could use cache-control's parse function, but this is way faster and simpler
.includes('must-revalidate')
) {
return false;
}
if (hasUniqueIdentifierHeader(value)) {

@@ -52,3 +50,3 @@ return true;

* Checks if the provided cache is expired. You should also check if the cache
* {@link canStale}
* {@link canStale} and {@link mayUseStale}
*/

@@ -110,3 +108,7 @@ export function isExpired(value: CachedStorageValue | StaleStorageValue): boolean {

if (value.state === 'empty' || value.state === 'loading') {
if (
value.state === 'empty' ||
value.state === 'loading' ||
value.state === 'must-revalidate'
) {
return value;

@@ -135,2 +137,7 @@ }

await set(key, value, config);
// Must revalidate is a special case and should not serve stale values
if (mustRevalidate(value)) {
return { ...value, state: 'must-revalidate' };
}
}

@@ -137,0 +144,0 @@

@@ -16,3 +16,4 @@ import type { CacheAxiosResponse, CacheRequestConfig } from '../cache/axios.js';

| LoadingStorageValue
| EmptyStorageValue;
| EmptyStorageValue
| MustRevalidateStorageValue;

@@ -29,2 +30,10 @@ export type NotEmptyStorageValue = Exclude<StorageValue, EmptyStorageValue>;

export interface MustRevalidateStorageValue {
data: CachedResponse;
ttl?: number;
staleTtl?: undefined;
createdAt: number;
state: 'must-revalidate';
}
export interface CachedStorageValue {

@@ -42,3 +51,6 @@ data: CachedResponse;

export type LoadingStorageValue = LoadingEmptiedStorageValue | LoadingStaledStorageValue;
export type LoadingStorageValue =
| LoadingEmptiedStorageValue
| LoadingStaledStorageValue
| LoadingRevalidateStorageValue;

@@ -63,2 +75,11 @@ export interface LoadingEmptiedStorageValue {

export interface LoadingRevalidateStorageValue {
state: 'loading';
data: CachedResponse;
ttl?: undefined;
staleTtl?: undefined;
createdAt: number;
previous: 'must-revalidate';
}
export interface EmptyStorageValue {

@@ -65,0 +86,0 @@ data?: undefined;

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

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

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

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

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

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

Sorry, the diff of this file is not supported yet

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