UNPKG

react-query

Version:

Hooks for managing, caching and syncing asynchronous and remote data in React

3 lines (2 loc) 1.24 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ReactQueryCreateWebStoragePersister={})}(this,(function(e){"use strict";function t(){}function i(e,t=100){let i,r=null;return function(...n){i=n,null===r&&(r=setTimeout((()=>{e(...i),r=null}),t))}}e.createWebStoragePersister=function({storage:e,key:r="REACT_QUERY_OFFLINE_CACHE",throttleTime:n=1e3,serialize:o=JSON.stringify,deserialize:s=JSON.parse}){function u(t){try{e.setItem(r,o(t))}catch{return!1}return!0}return void 0!==e?{persistClient:i((e=>{if(!0!==u(e)){const t=[...e.clientState.mutations],i=[...e.clientState.queries],r={...e,clientState:{mutations:t,queries:i}},n=[...i].sort(((e,t)=>e.state.dataUpdatedAt-t.state.dataUpdatedAt));for(;n.length>0;){const e=n.shift();if(r.clientState.queries=i.filter((t=>t!==e)),u(r))return}for(;t.shift();)if(u(r))return}}),n),restoreClient:()=>{const t=e.getItem(r);if(t)return s(t)},removeClient:()=>{e.removeItem(r)}}:{persistClient:t,restoreClient:t,removeClient:t}},Object.defineProperty(e,"__esModule",{value:!0})})); //# sourceMappingURL=createWebStoragePersister.production.min.js.map