UNPKG

@datorama/akita

Version:

State Management Tailored-Made for JS Applications

53 lines 3.43 kB
/** * @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=