@datorama/akita
Version:
State Management Tailored-Made for JS Applications
53 lines • 3.43 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { __stores__ } from './stores';
import { applyTransaction } from './transaction';
/**
* @record
*/
export function ResetStoresParams() { }
if (false) {
/** @type {?} */
ResetStoresParams.prototype.exclude;
}
/**
* Reset stores back to their initial state
*
* \@example
*
* resetStores()
* resetStores({
* exclude: ['auth']
* })
* @param {?=} options
* @return {?}
*/
export function resetStores(options) {
/** @type {?} */
const defaults = {
exclude: []
};
options = Object.assign({}, defaults, options);
/** @type {?} */
const stores = Object.keys(__stores__);
applyTransaction((/**
* @return {?}
*/
() => {
for (const store of stores) {
/** @type {?} */
const s = __stores__[store];
if (!options.exclude) {
s.reset();
}
else {
if (options.exclude.indexOf(s.storeName) === -1) {
s.reset();
}
}
}
}));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXRTdG9yZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvYWtpdGEvIiwic291cmNlcyI6WyJzcmMvcmVzZXRTdG9yZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRWpELHVDQUVDOzs7SUFEQyxvQ0FBa0I7Ozs7Ozs7Ozs7Ozs7O0FBYXBCLE1BQU0sVUFBVSxXQUFXLENBQUMsT0FBb0M7O1VBQ3hELFFBQVEsR0FBc0I7UUFDbEMsT0FBTyxFQUFFLEVBQUU7S0FDWjtJQUVELE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7O1VBQ3pDLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUV0QyxnQkFBZ0I7OztJQUFDLEdBQUcsRUFBRTtRQUNwQixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRTs7a0JBQ3BCLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNwQixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDWDtpQkFBTTtnQkFDTCxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtvQkFDL0MsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUNYO2FBQ0Y7U0FDRjtJQUNILENBQUMsRUFBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fc3RvcmVzX18gfSBmcm9tICcuL3N0b3Jlcyc7XG5pbXBvcnQgeyBhcHBseVRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzZXRTdG9yZXNQYXJhbXMge1xuICBleGNsdWRlOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBSZXNldCBzdG9yZXMgYmFjayB0byB0aGVpciBpbml0aWFsIHN0YXRlXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiByZXNldFN0b3JlcygpXG4gKiByZXNldFN0b3Jlcyh7XG4gKiAgIGV4Y2x1ZGU6IFsnYXV0aCddXG4gKiB9KVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRTdG9yZXMob3B0aW9ucz86IFBhcnRpYWw8UmVzZXRTdG9yZXNQYXJhbXM+KSB7XG4gIGNvbnN0IGRlZmF1bHRzOiBSZXNldFN0b3Jlc1BhcmFtcyA9IHtcbiAgICBleGNsdWRlOiBbXVxuICB9O1xuXG4gIG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0cywgb3B0aW9ucyk7XG4gIGNvbnN0IHN0b3JlcyA9IE9iamVjdC5rZXlzKF9fc3RvcmVzX18pO1xuXG4gIGFwcGx5VHJhbnNhY3Rpb24oKCkgPT4ge1xuICAgIGZvciAoY29uc3Qgc3RvcmUgb2Ygc3RvcmVzKSB7XG4gICAgICBjb25zdCBzID0gX19zdG9yZXNfX1tzdG9yZV07XG4gICAgICBpZiAoIW9wdGlvbnMuZXhjbHVkZSkge1xuICAgICAgICBzLnJlc2V0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAob3B0aW9ucy5leGNsdWRlLmluZGV4T2Yocy5zdG9yZU5hbWUpID09PSAtMSkge1xuICAgICAgICAgIHMucmVzZXQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG59XG4iXX0=