Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 27x 15x 27x 27x 510x 12x | import { Injectable, InjectionToken, NgModule } from '@angular/core';
import { EffectsModule } from '@ngrx/effects';
import { ActionReducerMap, StoreConfig, StoreModule } from '@ngrx/store';
import { pick } from 'lodash-es';
import { resetOnLogoutMeta } from 'ish-core/utils/meta-reducers';
import { AddressesEffects } from './addresses/addresses.effects';
import { addressesReducer } from './addresses/addresses.reducer';
import { AuthorizationEffects } from './authorization/authorization.effects';
import { authorizationReducer } from './authorization/authorization.reducer';
import { BasketAddressesEffects } from './basket/basket-addresses.effects';
import { BasketItemsEffects } from './basket/basket-items.effects';
import { BasketPaymentEffects } from './basket/basket-payment.effects';
import { BasketPromotionCodeEffects } from './basket/basket-promotion-code.effects';
import { BasketValidationEffects } from './basket/basket-validation.effects';
import { BasketEffects } from './basket/basket.effects';
import { basketReducer } from './basket/basket.reducer';
import { CustomerState } from './customer-store';
import { DataRequestsEffects } from './data-requests/data-requests.effects';
import { dataRequestsReducer } from './data-requests/data-requests.reducer';
import { OrdersEffects } from './orders/orders.effects';
import { ordersReducer } from './orders/orders.reducer';
import { OrganizationManagementEffects } from './organization-management/organization-management.effects';
import { RecurringOrdersEffects } from './recurring-orders/recurring-orders.effects';
import { recurringOrdersReducer } from './recurring-orders/recurring-orders.reducer';
import { RequisitionManagementEffects } from './requisition-management/requisition-management.effects';
import { SsoRegistrationEffects } from './sso-registration/sso-registration.effects';
import { ssoRegistrationReducer } from './sso-registration/sso-registration.reducer';
import { UserNewsletterEffects } from './user/user-newsletter.effects';
import { UserEffects } from './user/user.effects';
import { userReducer } from './user/user.reducer';
const customerReducers: ActionReducerMap<CustomerState> = {
user: userReducer,
addresses: addressesReducer,
orders: ordersReducer,
recurringOrders: recurringOrdersReducer,
basket: basketReducer,
authorization: authorizationReducer,
ssoRegistration: ssoRegistrationReducer,
dataRequests: dataRequestsReducer,
};
const customerEffects = [
AddressesEffects,
BasketAddressesEffects,
BasketEffects,
BasketItemsEffects,
BasketPaymentEffects,
BasketPromotionCodeEffects,
BasketValidationEffects,
OrdersEffects,
RecurringOrdersEffects,
UserEffects,
AuthorizationEffects,
OrganizationManagementEffects,
RequisitionManagementEffects,
SsoRegistrationEffects,
DataRequestsEffects,
UserNewsletterEffects,
];
@Injectable()
export class CustomerStoreConfig implements StoreConfig<CustomerState> {
metaReducers = [resetOnLogoutMeta];
}
export const CUSTOMER_STORE_CONFIG = new InjectionToken<StoreConfig<CustomerState>>('customerStoreConfig');
@NgModule({
imports: [
EffectsModule.forFeature(customerEffects),
StoreModule.forFeature('_customer', customerReducers, CUSTOMER_STORE_CONFIG),
],
providers: [{ provide: CUSTOMER_STORE_CONFIG, useClass: CustomerStoreConfig }],
})
export class CustomerStoreModule {
static forTesting(...reducers: (keyof ActionReducerMap<CustomerState>)[]) {
return StoreModule.forFeature('_customer', pick(customerReducers, reducers));
}
/**
* Customer_STORE_CONFIG needs to be provided in test
* @example
* { provide: CUSTOMER_STORE_CONFIG, useClass: CustomerStoreConfig }
*/
static forTestingWithMetaReducer(...reducers: (keyof ActionReducerMap<CustomerState>)[]) {
return StoreModule.forFeature('_customer', pick(customerReducers, reducers), CUSTOMER_STORE_CONFIG);
}
}
|