eco-state
Version:
Light Weight Asynchronous JavaScript Eco friendly State Management Library.
21 lines (18 loc) • 564 B
JavaScript
import { setCurrentState, getCurrentState } from './state';
const listeners = {};
export function getListeners() {
return listeners;
}
/**
*
* @param {string} listenerType
* @param {any} defaultValue
* @param {function} listenerHandler
*/
export function createListeners(listenerType, defaultValue = null, listenerHandler) {
if (getListeners()[listenerType]) {
throw Error('Already registered with the same type.')
}
getListeners()[listenerType] = listenerHandler;
setCurrentState({ ...getCurrentState(), [listenerType]: defaultValue});
}