API Data store
A Data Store that will run the same API endpoint once, cache results, and expire after a timeout.
import axios from 'axios';
import ApiDataStore from 'api-data-store';
const users = await ApiDataStore.fetch('/api/v1/users', {
fetchMethod: axios.get,
});
import axios from 'axios';
import ApiDataStore from 'api-data-store';
ApiDataStore.setFetchMethod(axois.get);
const users = await ApiDataStore.fetch('/api/v1/users');
import axios from 'axios';
import ApiDataStore from 'api-data-store';
ApiDataStore.setFetchMethod(axois.get);
const users = await ApiDataStore.fetch('/api/v1/users', {
cache: true,
});
ApiDataStore.setPrefix('your-api-name:');
// local storage:
// your-api-name:/api/v1/users = { ...data }
const users = await ApiDataStore.fetch('/api/v1/users', {
cache: true,
timeout: 1000 * 60 * 5 // 5 minutes
});
The API Data Store uses the localStorage interface. If you need to create your own custom storage driver use the same methods as localStorage.
import axios from 'axios';
import ApiDataStore from 'api-data-store';
import MemoryDataStore from 'api-data-store/memoryDataStore';
ApiDataStore.setFetchMethod(axois.get);
ApiDataStore.setStorageDriver(MemoryDataStore);
const users = await ApiDataStore.fetch('/api/v1/users', {
cache: true,
timeout: 1000 * 60 * 5 // 5 minutes
});