@datorama/akita
Version:
State Management Tailored-Made for JS Applications
65 lines • 4.01 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
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 {?} */
var defaults = {
exclude: []
};
options = Object.assign({}, defaults, options);
/** @type {?} */
var stores = Object.keys(__stores__);
applyTransaction((/**
* @return {?}
*/
function () {
var e_1, _a;
try {
for (var stores_1 = tslib_1.__values(stores), stores_1_1 = stores_1.next(); !stores_1_1.done; stores_1_1 = stores_1.next()) {
var store = stores_1_1.value;
/** @type {?} */
var s = __stores__[store];
if (!options.exclude) {
s.reset();
}
else {
if (options.exclude.indexOf(s.storeName) === -1) {
s.reset();
}
}
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (stores_1_1 && !stores_1_1.done && (_a = stores_1.return)) _a.call(stores_1);
}
finally { if (e_1) throw e_1.error; }
}
}));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXRTdG9yZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvYWtpdGEvIiwic291cmNlcyI6WyJzcmMvcmVzZXRTdG9yZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUVqRCx1Q0FFQzs7O0lBREMsb0NBQWtCOzs7Ozs7Ozs7Ozs7OztBQWFwQixNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQW9DOztRQUN4RCxRQUFRLEdBQXNCO1FBQ2xDLE9BQU8sRUFBRSxFQUFFO0tBQ1o7SUFFRCxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDOztRQUN6QyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFFdEMsZ0JBQWdCOzs7SUFBQzs7O1lBQ2YsS0FBb0IsSUFBQSxXQUFBLGlCQUFBLE1BQU0sQ0FBQSw4QkFBQSxrREFBRTtnQkFBdkIsSUFBTSxLQUFLLG1CQUFBOztvQkFDUixDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7b0JBQ3BCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDWDtxQkFBTTtvQkFDTCxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTt3QkFDL0MsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO3FCQUNYO2lCQUNGO2FBQ0Y7Ozs7Ozs7OztJQUNILENBQUMsRUFBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9fc3RvcmVzX18gfSBmcm9tICcuL3N0b3Jlcyc7XG5pbXBvcnQgeyBhcHBseVRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzZXRTdG9yZXNQYXJhbXMge1xuICBleGNsdWRlOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBSZXNldCBzdG9yZXMgYmFjayB0byB0aGVpciBpbml0aWFsIHN0YXRlXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiByZXNldFN0b3JlcygpXG4gKiByZXNldFN0b3Jlcyh7XG4gKiAgIGV4Y2x1ZGU6IFsnYXV0aCddXG4gKiB9KVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRTdG9yZXMob3B0aW9ucz86IFBhcnRpYWw8UmVzZXRTdG9yZXNQYXJhbXM+KSB7XG4gIGNvbnN0IGRlZmF1bHRzOiBSZXNldFN0b3Jlc1BhcmFtcyA9IHtcbiAgICBleGNsdWRlOiBbXVxuICB9O1xuXG4gIG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0cywgb3B0aW9ucyk7XG4gIGNvbnN0IHN0b3JlcyA9IE9iamVjdC5rZXlzKF9fc3RvcmVzX18pO1xuXG4gIGFwcGx5VHJhbnNhY3Rpb24oKCkgPT4ge1xuICAgIGZvciAoY29uc3Qgc3RvcmUgb2Ygc3RvcmVzKSB7XG4gICAgICBjb25zdCBzID0gX19zdG9yZXNfX1tzdG9yZV07XG4gICAgICBpZiAoIW9wdGlvbnMuZXhjbHVkZSkge1xuICAgICAgICBzLnJlc2V0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAob3B0aW9ucy5leGNsdWRlLmluZGV4T2Yocy5zdG9yZU5hbWUpID09PSAtMSkge1xuICAgICAgICAgIHMucmVzZXQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG59XG4iXX0=