UNPKG

react-query

Version:

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

32 lines (26 loc) 794 B
"use strict"; exports.__esModule = true; exports.createAsyncStoragePersister = void 0; var _asyncThrottle = require("./asyncThrottle"); const createAsyncStoragePersister = ({ storage, key = "REACT_QUERY_OFFLINE_CACHE", throttleTime = 1000, serialize = JSON.stringify, deserialize = JSON.parse }) => { return { persistClient: (0, _asyncThrottle.asyncThrottle)(persistedClient => storage.setItem(key, serialize(persistedClient)), { interval: throttleTime }), restoreClient: async () => { const cacheString = await storage.getItem(key); if (!cacheString) { return; } return deserialize(cacheString); }, removeClient: () => storage.removeItem(key) }; }; exports.createAsyncStoragePersister = createAsyncStoragePersister;