Tiny library(1.3Kb) to manage your application state. It supports interceptors(modifiers) to handle and modify data on the fly.
Check out the tests folder for usages, but this is the common usage.
import createStore from 'preducs';
// Create the store
let store = createStore({
loading: true // Your data
});
// Subscribe to updates
let unsubscribe = store.subscribeToUpdates((state) => {
console.log('I got updated', state);
// Unsubscribe the current listener
unsubscribe();
});
// Our lightweight interceptor(modifier)
const initialDataModifier = (currentState, newState) => {
return fetch('/api/endpoint')
.then(res => {
return {
...newState,
...res.json()
}
});
};
// Update the store, with a call to a api
store.update({
loading: false
}, initialDataModifier);And that's about it!
npm install preducs
or
yarn add preducs