atomic-state
Version:
Atomic State is a state management library for React
46 lines (45 loc) • 1.86 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSelector = exports.getFilter = exports.getAtom = exports.pendingAtoms = exports.atomsEffectsCleanupFunctons = exports.defaultFiltersValues = exports.usedKeys = exports.defaultAtomsInAtomic = exports.filtersInitializeObjects = exports.atomsInitializeObjects = exports.defaultAtomsValues = void 0;
exports.getAtomValue = getAtomValue;
exports.getFilterValue = getFilterValue;
exports.getValue = getValue;
exports.defaultAtomsValues = new Map();
exports.atomsInitializeObjects = new Map();
exports.filtersInitializeObjects = exports.atomsInitializeObjects;
exports.defaultAtomsInAtomic = new Map();
exports.usedKeys = new Map();
exports.defaultFiltersValues = new Map();
exports.atomsEffectsCleanupFunctons = new Map();
exports.pendingAtoms = new Map();
/**
* Get the current value of an atom. You can pass a specific prefix as the second argument.
*/
function getAtomValue($atom, prefix) {
const $key = prefix
? [prefix, $atom['atom-name']].join('-')
: $atom['atom-name'];
const $atomValue = exports.defaultAtomsValues.get($key);
return $atomValue;
}
/**
* Get the current value of a filter. You can pass a specific prefix as the second argument.
*/
function getFilterValue($filter, prefix) {
const $key = prefix
? [prefix, $filter['filter-name']].join('-')
: $filter['filter-name'];
const $filterValue = exports.defaultFiltersValues.get($key);
return $filterValue;
}
exports.getAtom = getAtomValue;
exports.getFilter = getFilterValue;
exports.getSelector = getFilterValue;
function getValue(init, storeName = false) {
const isFilter = init['init-object'].get;
if (!isFilter) {
return (0, exports.getAtom)(init, storeName);
}
else
return (0, exports.getFilter)(init, storeName);
}