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 | 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 24x 15x 24x 24x 439x 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);
}
}
|