ucap-angular/projects/store-group/src/lib/group-store.module.ts

32 lines
832 B
TypeScript
Raw Normal View History

2020-03-27 17:39:01 +09:00
import { NgModule, ModuleWithProviders } from '@angular/core';
import { StoreModule } from '@ngrx/store';
import { EffectsModule } from '@ngrx/effects';
import { ModuleConfig } from './config/module-config';
import { _MODULE_CONFIG } from './config/token';
import { KEY_FEATURE } from './store/state';
import { effects } from './store/effects';
import { reducers } from './store/reducers';
@NgModule({
imports: [
StoreModule.forFeature(KEY_FEATURE, reducers),
EffectsModule.forFeature([...effects])
]
})
export class GroupStoreRootModule {}
@NgModule({})
export class GroupStoreModule {
public static forRoot(
config: ModuleConfig
): ModuleWithProviders<GroupStoreRootModule> {
return {
ngModule: GroupStoreRootModule,
providers: [{ provide: _MODULE_CONFIG, useValue: config }]
};
}
}