UNPKG

ngrx-run

Version:

Return side-effects as data from your NgRx reducers

38 lines 6.31 kB
import { InjectionToken, Injector, NgModule } from '@angular/core'; import { combineReducers, META_REDUCERS, REDUCER_FACTORY, StoreModule, USER_PROVIDED_META_REDUCERS } from '@ngrx/store'; import { createRuntimeReducerFactory } from './reducer-factory'; const _REDUCER_FACTORY = new InjectionToken('ngrx-run Internal Reducer Factory Provider'); const _RESOLVED_META_REDUCERS = new InjectionToken('ngrx-run Internal Resolved Meta Reducers'); export class EffectStoreModule extends StoreModule { static forRoot(reducers, config = {}) { var _a; const store = StoreModule.forRoot(reducers, Object.assign(Object.assign({}, config), { runtimeChecks: Object.assign(Object.assign({}, config.runtimeChecks), { strictStateImmutability: false }) })); return { ngModule: store.ngModule, providers: [ ...((_a = store.providers) !== null && _a !== void 0 ? _a : []), { provide: _RESOLVED_META_REDUCERS, deps: [META_REDUCERS, USER_PROVIDED_META_REDUCERS], useFactory: _concatMetaReducers }, { provide: _REDUCER_FACTORY, useValue: config.reducerFactory ? config.reducerFactory : combineReducers }, { provide: REDUCER_FACTORY, deps: [_REDUCER_FACTORY, Injector, _RESOLVED_META_REDUCERS], useFactory: createRuntimeReducerFactory } ] }; } } EffectStoreModule.decorators = [ { type: NgModule, args: [{},] } ]; export function _concatMetaReducers(metaReducers, userProvidedMetaReducers) { return metaReducers.concat(userProvidedMetaReducers); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbW9kdWxlcy9saWIvc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFFTCxlQUFlLEVBQ2YsYUFBYSxFQUViLGVBQWUsRUFFZixXQUFXLEVBRVgsMkJBQTJCLEVBQzVCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRzlELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQ3pDLDRDQUE0QyxDQUM3QyxDQUFDO0FBQ0YsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FDaEQsMENBQTBDLENBQzNDLENBQUM7QUFHRixNQUFNLE9BQU8saUJBQWtCLFNBQVEsV0FBVztJQUtoRCxNQUFNLENBQUMsT0FBTyxDQUNaLFFBQWlGLEVBQ2pGLFNBQW9DLEVBQUU7O1FBRXRDLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxrQ0FDckMsTUFBTSxLQUNULGFBQWEsa0NBQU0sTUFBTSxDQUFDLGFBQWEsS0FBRSx1QkFBdUIsRUFBRSxLQUFLLE9BQ3ZFLENBQUM7UUFFSCxPQUFPO1lBQ0wsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLFNBQVMsRUFBRTtnQkFDVCxHQUFHLE9BQUMsS0FBSyxDQUFDLFNBQVMsbUNBQUksRUFBRSxDQUFDO2dCQUMxQjtvQkFDRSxPQUFPLEVBQUUsdUJBQXVCO29CQUNoQyxJQUFJLEVBQUUsQ0FBQyxhQUFhLEVBQUUsMkJBQTJCLENBQUM7b0JBQ2xELFVBQVUsRUFBRSxtQkFBbUI7aUJBQ2hDO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxnQkFBZ0I7b0JBQ3pCLFFBQVEsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxlQUFlO2lCQUMxRTtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLHVCQUF1QixDQUFDO29CQUMzRCxVQUFVLEVBQUUsMkJBQTJCO2lCQUN4QzthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQW5DRixRQUFRLFNBQUMsRUFBRTs7QUFzQ1osTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxZQUEyQixFQUMzQix3QkFBdUM7SUFFdkMsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3Rpb24sXG4gIGNvbWJpbmVSZWR1Y2VycyxcbiAgTUVUQV9SRURVQ0VSUyxcbiAgTWV0YVJlZHVjZXIsXG4gIFJFRFVDRVJfRkFDVE9SWSxcbiAgUm9vdFN0b3JlQ29uZmlnLFxuICBTdG9yZU1vZHVsZSxcbiAgU3RvcmVSb290TW9kdWxlLFxuICBVU0VSX1BST1ZJREVEX01FVEFfUkVEVUNFUlNcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtjcmVhdGVSdW50aW1lUmVkdWNlckZhY3Rvcnl9IGZyb20gJy4vcmVkdWNlci1mYWN0b3J5JztcbmltcG9ydCB7QWN0aW9uUmVkdWNlck1hcH0gZnJvbSAnLi9yZWR1Y2VyJztcblxuY29uc3QgX1JFRFVDRVJfRkFDVE9SWSA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ25ncngtcnVuIEludGVybmFsIFJlZHVjZXIgRmFjdG9yeSBQcm92aWRlcidcbik7XG5jb25zdCBfUkVTT0xWRURfTUVUQV9SRURVQ0VSUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNZXRhUmVkdWNlcj4oXG4gICduZ3J4LXJ1biBJbnRlcm5hbCBSZXNvbHZlZCBNZXRhIFJlZHVjZXJzJ1xuKTtcblxuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIEVmZmVjdFN0b3JlTW9kdWxlIGV4dGVuZHMgU3RvcmVNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdDxULCBWIGV4dGVuZHMgQWN0aW9uID0gQWN0aW9uPihcbiAgICByZWR1Y2VyczogQWN0aW9uUmVkdWNlck1hcDxULCBWPiB8IEluamVjdGlvblRva2VuPEFjdGlvblJlZHVjZXJNYXA8VCwgVj4+LFxuICAgIGNvbmZpZz86IFJvb3RTdG9yZUNvbmZpZzxULCBWPlxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFN0b3JlUm9vdE1vZHVsZT47XG4gIHN0YXRpYyBmb3JSb290KFxuICAgIHJlZHVjZXJzOiBBY3Rpb25SZWR1Y2VyTWFwPGFueSwgYW55PiB8IEluamVjdGlvblRva2VuPEFjdGlvblJlZHVjZXJNYXA8YW55LCBhbnk+PixcbiAgICBjb25maWc6IFJvb3RTdG9yZUNvbmZpZzxhbnksIGFueT4gPSB7fVxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFN0b3JlUm9vdE1vZHVsZT4ge1xuICAgIGNvbnN0IHN0b3JlID0gU3RvcmVNb2R1bGUuZm9yUm9vdChyZWR1Y2Vycywge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgcnVudGltZUNoZWNrczogey4uLmNvbmZpZy5ydW50aW1lQ2hlY2tzLCBzdHJpY3RTdGF0ZUltbXV0YWJpbGl0eTogZmFsc2V9XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IHN0b3JlLm5nTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIC4uLihzdG9yZS5wcm92aWRlcnMgPz8gW10pLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogX1JFU09MVkVEX01FVEFfUkVEVUNFUlMsXG4gICAgICAgICAgZGVwczogW01FVEFfUkVEVUNFUlMsIFVTRVJfUFJPVklERURfTUVUQV9SRURVQ0VSU10sXG4gICAgICAgICAgdXNlRmFjdG9yeTogX2NvbmNhdE1ldGFSZWR1Y2Vyc1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogX1JFRFVDRVJfRkFDVE9SWSxcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnLnJlZHVjZXJGYWN0b3J5ID8gY29uZmlnLnJlZHVjZXJGYWN0b3J5IDogY29tYmluZVJlZHVjZXJzXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBSRURVQ0VSX0ZBQ1RPUlksXG4gICAgICAgICAgZGVwczogW19SRURVQ0VSX0ZBQ1RPUlksIEluamVjdG9yLCBfUkVTT0xWRURfTUVUQV9SRURVQ0VSU10sXG4gICAgICAgICAgdXNlRmFjdG9yeTogY3JlYXRlUnVudGltZVJlZHVjZXJGYWN0b3J5XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfY29uY2F0TWV0YVJlZHVjZXJzKFxuICBtZXRhUmVkdWNlcnM6IE1ldGFSZWR1Y2VyW10sXG4gIHVzZXJQcm92aWRlZE1ldGFSZWR1Y2VyczogTWV0YVJlZHVjZXJbXVxuKTogTWV0YVJlZHVjZXJbXSB7XG4gIHJldHVybiBtZXRhUmVkdWNlcnMuY29uY2F0KHVzZXJQcm92aWRlZE1ldGFSZWR1Y2Vycyk7XG59XG4iXX0=