/**
 * <%= titleCase(pluralDomainName) %> Module
 * v<%= zionAppsGeneratorVersion %> | Generated on <%= zionAppsGeneratorBuildDate %>
 */
import { HttpClientModule } from '@angular/common/http';
import { NgModule } from '@angular/core';
import { EffectsModule } from '@ngrx/effects';
import { StoreModule } from '@ngrx/store';
import { <%= constantCase(pluralDomainName) %>_REDUCER_TOKEN } from './<%= paramCase(pluralDomainName) %>.constants';
import { <%= pascalCase(pluralDomainName) %>Config } from './<%= paramCase(pluralDomainName) %>.domain';
import { <%= pascalCase(pluralDomainName) %>Effects } from './<%= paramCase(pluralDomainName) %>.effects';
import { <%= camelCase(pluralDomainName) %>Reducer } from './<%= paramCase(pluralDomainName) %>.reducer';
import { <%= pascalCase(pluralDomainName) %>Service } from './<%= paramCase(pluralDomainName) %>.service';

@NgModule({
  declarations: [],
  imports: [
    EffectsModule.forFeature([<%= pascalCase(pluralDomainName) %>Effects]),
    HttpClientModule,
    StoreModule.forFeature(<%= pascalCase(pluralDomainName) %>Config.pluralName, <%= constantCase(pluralDomainName) %>_REDUCER_TOKEN),
  ],
  providers: [
    <%= pascalCase(pluralDomainName) %>Effects,
    <%= pascalCase(pluralDomainName) %>Service,
    { provide: <%= constantCase(pluralDomainName) %>_REDUCER_TOKEN, useValue: <%= camelCase(pluralDomainName) %>Reducer },
  ],
})
export class <%= pascalCase(pluralDomainName) %>StoreModule {
}
