@daffodil/order 0.91.0 → 0.92.3-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/daffodil-order-driver-in-memory.mjs +10 -10
- package/fesm2022/daffodil-order-driver-in-memory.mjs.map +1 -1
- package/fesm2022/daffodil-order-driver-magento-2-4-0.mjs +7 -7
- package/fesm2022/daffodil-order-driver-magento-2-4-0.mjs.map +1 -1
- package/fesm2022/daffodil-order-driver-magento-2-4-1-testing.mjs +45 -45
- package/fesm2022/daffodil-order-driver-magento-2-4-1-testing.mjs.map +1 -1
- package/fesm2022/daffodil-order-driver-magento-2-4-1.mjs +7 -7
- package/fesm2022/daffodil-order-driver-magento-2-4-1.mjs.map +1 -1
- package/fesm2022/daffodil-order-driver-testing.mjs +7 -7
- package/fesm2022/daffodil-order-driver-testing.mjs.map +1 -1
- package/fesm2022/daffodil-order-state-testing.mjs +7 -7
- package/fesm2022/daffodil-order-state-testing.mjs.map +1 -1
- package/fesm2022/daffodil-order-state.mjs +28 -43
- package/fesm2022/daffodil-order-state.mjs.map +1 -1
- package/fesm2022/daffodil-order-testing.mjs +42 -42
- package/fesm2022/daffodil-order-testing.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@ import { daffOperationInitialState, daffOperationFailed, daffCompleteOperation,
|
|
|
2
2
|
import { daffApplyRequestsToFilters, daffClearFilters, createMultiInjectionToken, createSingleInjectionToken, daffCollectionBuildRequestFromMetadata } from '@daffodil/core';
|
|
3
3
|
import { createEntityAdapter } from '@ngrx/entity';
|
|
4
4
|
import * as i1 from '@ngrx/store';
|
|
5
|
-
import { createFeatureSelector, createSelector,
|
|
5
|
+
import { defaultMemoize, createFeatureSelector, createSelector, select, combineReducers, StoreModule } from '@ngrx/store';
|
|
6
6
|
import { DaffOrderTotalTypeEnum } from '@daffodil/order';
|
|
7
7
|
import * as i0 from '@angular/core';
|
|
8
8
|
import { Injectable, Inject, inject, NgModule } from '@angular/core';
|
|
@@ -237,12 +237,9 @@ token: DAFF_ORDER_EXTRA_REDUCERS,
|
|
|
237
237
|
*/
|
|
238
238
|
provider: daffOrderProvideExtraReducers, } = createMultiInjectionToken('DAFF_ORDER_EXTRA_REDUCERS', { providedIn: 'any' });
|
|
239
239
|
|
|
240
|
-
const getDaffOrderReducersStateSelector = (() => {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
selectOrderFeatureState: createFeatureSelector(DAFF_ORDER_STORE_FEATURE_KEY),
|
|
244
|
-
};
|
|
245
|
-
})();
|
|
240
|
+
const getDaffOrderReducersStateSelector = defaultMemoize(() => ({
|
|
241
|
+
selectOrderFeatureState: createFeatureSelector(DAFF_ORDER_STORE_FEATURE_KEY),
|
|
242
|
+
})).memoized;
|
|
246
243
|
|
|
247
244
|
const createOrderEntitySelectors = () => {
|
|
248
245
|
const { selectOrderFeatureState } = getDaffOrderReducersStateSelector();
|
|
@@ -305,17 +302,11 @@ const createOrderEntitySelectors = () => {
|
|
|
305
302
|
selectOrderTaxTotal,
|
|
306
303
|
};
|
|
307
304
|
};
|
|
308
|
-
const getDaffOrderEntitySelectors = (() =>
|
|
309
|
-
let cache;
|
|
310
|
-
return () => cache = cache || createOrderEntitySelectors();
|
|
311
|
-
})();
|
|
305
|
+
const getDaffOrderEntitySelectors = defaultMemoize(() => createOrderEntitySelectors()).memoized;
|
|
312
306
|
|
|
313
307
|
const { selectOrderFeatureState, } = getDaffOrderReducersStateSelector();
|
|
314
308
|
const selectProductReviewsCollectionState = createSelector(selectOrderFeatureState, state => state.collection);
|
|
315
|
-
const getDaffOrderCollectionSelectors = (() =>
|
|
316
|
-
let cache;
|
|
317
|
-
return () => cache = cache || daffCollectionSelectorFactory(selectProductReviewsCollectionState);
|
|
318
|
-
})();
|
|
309
|
+
const getDaffOrderCollectionSelectors = defaultMemoize(() => daffCollectionSelectorFactory(selectProductReviewsCollectionState)).memoized;
|
|
319
310
|
|
|
320
311
|
const createOrderSelectors = () => {
|
|
321
312
|
const { selectOrderFeatureState } = getDaffOrderReducersStateSelector();
|
|
@@ -329,19 +320,13 @@ const createOrderSelectors = () => {
|
|
|
329
320
|
selectOrders,
|
|
330
321
|
};
|
|
331
322
|
};
|
|
332
|
-
const getOrderSelectors = (() =>
|
|
333
|
-
let cache;
|
|
334
|
-
return () => cache = cache || createOrderSelectors();
|
|
335
|
-
})();
|
|
323
|
+
const getOrderSelectors = defaultMemoize(() => createOrderSelectors()).memoized;
|
|
336
324
|
|
|
337
|
-
const getDaffOrderSelectors = (() => {
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
...getDaffOrderReducersStateSelector(),
|
|
343
|
-
};
|
|
344
|
-
})();
|
|
325
|
+
const getDaffOrderSelectors = defaultMemoize(() => ({
|
|
326
|
+
...getOrderSelectors(),
|
|
327
|
+
...getDaffOrderEntitySelectors(),
|
|
328
|
+
...getDaffOrderReducersStateSelector(),
|
|
329
|
+
})).memoized;
|
|
345
330
|
|
|
346
331
|
/**
|
|
347
332
|
* @inheritdoc
|
|
@@ -434,10 +419,10 @@ class DaffOrderFacade {
|
|
|
434
419
|
dispatch(action) {
|
|
435
420
|
this.store.dispatch(action);
|
|
436
421
|
}
|
|
437
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
438
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
422
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffOrderFacade, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
423
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffOrderFacade, providedIn: 'root' }); }
|
|
439
424
|
}
|
|
440
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
425
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffOrderFacade, decorators: [{
|
|
441
426
|
type: Injectable,
|
|
442
427
|
args: [{
|
|
443
428
|
providedIn: 'root',
|
|
@@ -451,10 +436,10 @@ class DaffOrderCollectionFacade extends DaffCollectionFacade {
|
|
|
451
436
|
constructor(store) {
|
|
452
437
|
super(store, getDaffOrderCollectionSelectors());
|
|
453
438
|
}
|
|
454
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
455
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
439
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffOrderCollectionFacade, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
440
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffOrderCollectionFacade, providedIn: 'root' }); }
|
|
456
441
|
}
|
|
457
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
442
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffOrderCollectionFacade, decorators: [{
|
|
458
443
|
type: Injectable,
|
|
459
444
|
args: [{
|
|
460
445
|
providedIn: 'root',
|
|
@@ -495,10 +480,10 @@ class DaffOrderCollectionEffects {
|
|
|
495
480
|
*/
|
|
496
481
|
this.update$ = createEffect(() => (throttleWindow = 300, scheduler = asyncScheduler) => this.actions$.pipe(ofType(...DAFF_ORDER_COLLECTION_ACTION_TYPES), withLatestFrom(this.collectionFacade.metadata$), throttleTime(throttleWindow, scheduler, { leading: true, trailing: true }), switchMap(([action, metadata]) => this.driver.list(action.cartId, daffCollectionBuildRequestFromMetadata(metadata)).pipe(map(resp => new DaffOrderListSuccess(resp)), catchError((error) => of(new DaffOrderListFailure(this.errorMatcher(error))))))));
|
|
497
482
|
}
|
|
498
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
499
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
483
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffOrderCollectionEffects, deps: [{ token: i1$1.Actions }, { token: DaffOrderCollectionFacade }, { token: DaffOrderDriver }, { token: DAFF_ORDER_ERROR_MATCHER }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
484
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffOrderCollectionEffects }); }
|
|
500
485
|
}
|
|
501
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
486
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffOrderCollectionEffects, decorators: [{
|
|
502
487
|
type: Injectable
|
|
503
488
|
}], ctorParameters: () => [{ type: i1$1.Actions }, { type: DaffOrderCollectionFacade }, { type: undefined, decorators: [{
|
|
504
489
|
type: Inject,
|
|
@@ -522,10 +507,10 @@ class DaffOrderEffects {
|
|
|
522
507
|
*/
|
|
523
508
|
this.list$ = createEffect(() => this.actions$.pipe(ofType(DaffOrderActionTypes.OrderListAction), switchMap((action) => this.driver.list(action.cartId, action.request).pipe(map(resp => new DaffOrderListSuccess(resp)), catchError((error) => of(new DaffOrderListFailure(this.errorMatcher(error))))))));
|
|
524
509
|
}
|
|
525
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
526
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
510
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffOrderEffects, deps: [{ token: i1$1.Actions }, { token: DaffOrderDriver }, { token: DAFF_ORDER_ERROR_MATCHER }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
511
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffOrderEffects }); }
|
|
527
512
|
}
|
|
528
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
513
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffOrderEffects, decorators: [{
|
|
529
514
|
type: Injectable
|
|
530
515
|
}], ctorParameters: () => [{ type: i1$1.Actions }, { type: undefined, decorators: [{
|
|
531
516
|
type: Inject,
|
|
@@ -559,16 +544,16 @@ provider: provideDaffOrderReducers, } = createSingleInjectionToken(' DAFF_ORDER_
|
|
|
559
544
|
});
|
|
560
545
|
|
|
561
546
|
class DaffOrderStateModule {
|
|
562
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
563
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
564
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
547
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffOrderStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
548
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: DaffOrderStateModule, imports: [DaffCartStateModule, i1$1.EffectsFeatureModule, i1.StoreFeatureModule] }); }
|
|
549
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffOrderStateModule, imports: [DaffCartStateModule,
|
|
565
550
|
EffectsModule.forFeature([
|
|
566
551
|
DaffOrderEffects,
|
|
567
552
|
DaffOrderCollectionEffects,
|
|
568
553
|
]),
|
|
569
554
|
StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, DAFF_ORDER_REDUCERS)] }); }
|
|
570
555
|
}
|
|
571
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
556
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffOrderStateModule, decorators: [{
|
|
572
557
|
type: NgModule,
|
|
573
558
|
args: [{
|
|
574
559
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daffodil-order-state.mjs","sources":["../../../libs/order/state/src/actions/order-collection.actions.ts","../../../libs/order/state/src/actions/order.actions.ts","../../../libs/order/state/src/reducers/order/order-initial-state.ts","../../../libs/order/state/src/reducers/order/order.reducer.ts","../../../libs/order/state/src/reducers/order-collection/reducer.ts","../../../libs/order/state/src/reducers/order-entities/order-entities-adapter.ts","../../../libs/order/state/src/reducers/order-entities/order-entities-initial-state.ts","../../../libs/order/state/src/reducers/order-entities/order-entities.reducer.ts","../../../libs/order/state/src/reducers/order-reducers.ts","../../../libs/order/state/src/reducers/order-store-feature-key.ts","../../../libs/order/state/src/reducers/token/extra.token.ts","../../../libs/order/state/src/selectors/order-feature.selector.ts","../../../libs/order/state/src/selectors/order-entities.selector.ts","../../../libs/order/state/src/selectors/order-collection/selectors.ts","../../../libs/order/state/src/selectors/order.selector.ts","../../../libs/order/state/src/selectors/order-all.selector.ts","../../../libs/order/state/src/facades/order/order.facade.ts","../../../libs/order/state/src/facades/collection/facade.ts","../../../libs/order/state/src/injection-tokens/error-matcher.token.ts","../../../libs/order/state/src/effects/order-collection.effects.ts","../../../libs/order/state/src/effects/order.effects.ts","../../../libs/order/state/src/reducers/token/reducers.token.ts","../../../libs/order/state/src/order-state.module.ts","../../../libs/order/state/src/daffodil-order-state.ts"],"sourcesContent":["\nimport { DaffCart } from '@daffodil/cart';\nimport {\n DaffCollectionMetadata,\n DaffFilterRequest,\n} from '@daffodil/core';\nimport {\n DaffCollectionChangePageSize,\n DaffCollectionChangeCurrentPage,\n DaffCollectionChangeSortingOption,\n DaffCollectionReplaceFilters,\n} from '@daffodil/core/state';\n\n/**\n * Action types for Order Actions.\n */\nexport enum DaffOrderCollectionActionTypes {\n ChangePageSizeAction = '[@daffodil/order] Change Order Collection Page Size Action',\n ChangeCurrentPageAction = '[@daffodil/order] Change Order Collection Current Page Action',\n ChangeSortingAction = '[@daffodil/order] Change Order Collection Sorting Action',\n ChangeFilterAction = '[@daffodil/order] Change Order Collection Filter Action',\n}\n\n/**\n * An action for changing the number of items shown on each page for this collection.\n *\n * @role action\n */\nexport class DaffOrderCollectionChangePageSize implements DaffCollectionChangePageSize {\n readonly type = DaffOrderCollectionActionTypes.ChangePageSizeAction;\n\n constructor(\n public pageSize: DaffCollectionMetadata['pageSize'],\n public cartId?: DaffCart['id'],\n ) {}\n}\n\n/**\n * An action for changing the current page of items for this collection.\n *\n * @role action\n */\nexport class DaffOrderCollectionChangeCurrentPage implements DaffCollectionChangeCurrentPage {\n readonly type = DaffOrderCollectionActionTypes.ChangeCurrentPageAction;\n\n constructor(\n public currentPage: DaffCollectionMetadata['currentPage'],\n public cartId?: DaffCart['id'],\n ) {}\n}\n\n/**\n * An action for changing the sorting option for this collection.\n *\n * @role action\n */\nexport class DaffOrderCollectionChangeSortingOption implements DaffCollectionChangeSortingOption {\n readonly type = DaffOrderCollectionActionTypes.ChangeSortingAction;\n\n constructor(\n public sort: {\n option: DaffCollectionMetadata['appliedSortOption'];\n direction: DaffCollectionMetadata['appliedSortDirection'];\n },\n public cartId?: DaffCart['id'],\n ) {}\n}\n\n/**\n * An action for filtering the collection by an overall rating value.\n *\n * @role action\n */\nexport class DaffOrderCollectionChangeFilter implements DaffCollectionReplaceFilters {\n readonly type = DaffOrderCollectionActionTypes.ChangeFilterAction;\n\n constructor(\n public filters: DaffFilterRequest[],\n public cartId?: DaffCart['id'],\n ) {}\n}\n\nexport type DaffOrderCollectionActions =\n | DaffOrderCollectionChangePageSize\n | DaffOrderCollectionChangeCurrentPage\n | DaffOrderCollectionChangeSortingOption\n | DaffOrderCollectionChangeFilter;\n","import { Action } from '@ngrx/store';\n\nimport { DaffCart } from '@daffodil/cart';\nimport { DaffCollectionRequest } from '@daffodil/core';\nimport { DaffStateError } from '@daffodil/core/state';\nimport {\n DaffOrder,\n DaffOrderCollection,\n} from '@daffodil/order';\n\nexport enum DaffOrderActionTypes {\n OrderLoadAction = '[@daffodil/order] Order Load Action',\n OrderLoadSuccessAction = '[@daffodil/order] Order Load Success Action',\n OrderLoadFailureAction = '[@daffodil/order] Order Load Failure Action',\n OrderListAction = '[@daffodil/order] Order List Action',\n OrderListSuccessAction = '[@daffodil/order] Order List Success Action',\n OrderListFailureAction = '[@daffodil/order] Order List Failure Action'\n}\n\n/**\n * Triggers the loading of the specified order.\n *\n * @param orderId The order ID.\n * @param cartId The optional guest cart ID.\n */\nexport class DaffOrderLoad<\n T extends DaffOrder = DaffOrder,\n> implements Action {\n readonly type = DaffOrderActionTypes.OrderLoadAction;\n\n constructor(public orderId: T['id'], public cartId?: DaffCart['id']) {}\n}\n\nexport class DaffOrderLoadSuccess<T extends DaffOrder = DaffOrder> implements Action {\n readonly type = DaffOrderActionTypes.OrderLoadSuccessAction;\n\n constructor(public payload: T) {}\n}\n\nexport class DaffOrderLoadFailure implements Action {\n readonly type = DaffOrderActionTypes.OrderLoadFailureAction;\n\n constructor(public payload: DaffStateError) {}\n}\n\n/**\n * Triggers the loading of the orders for either the currently logged-in user or the specified guest cart.\n *\n * @param payload The guest cart ID.\n */\nexport class DaffOrderList implements Action {\n readonly type = DaffOrderActionTypes.OrderListAction;\n\n constructor(public cartId?: DaffCart['id'], public request: DaffCollectionRequest = {}) {}\n}\n\nexport class DaffOrderListSuccess<T extends DaffOrder = DaffOrder> implements Action {\n readonly type = DaffOrderActionTypes.OrderListSuccessAction;\n\n constructor(public payload: DaffOrderCollection<T>) {}\n}\n\nexport class DaffOrderListFailure implements Action {\n readonly type = DaffOrderActionTypes.OrderListFailureAction;\n\n constructor(public payload: DaffStateError) {}\n}\n\nexport type DaffOrderActions<\n T extends DaffOrder = DaffOrder,\n> =\n | DaffOrderLoad<T>\n | DaffOrderLoadSuccess<T>\n | DaffOrderLoadFailure\n | DaffOrderList\n | DaffOrderListSuccess<T>\n | DaffOrderListFailure;\n","import { daffOperationInitialState } from '@daffodil/core/state';\n\nimport { DaffOrderReducerState } from './order-reducer.interface';\n\nexport const daffOrderInitialState: DaffOrderReducerState = daffOperationInitialState;\n","import {\n daffCompleteOperation,\n daffOperationFailed,\n daffStartMutation,\n daffStartResolution,\n} from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\n\nimport { daffOrderInitialState } from './order-initial-state';\nimport { DaffOrderReducerState } from './order-reducer.interface';\nimport {\n DaffOrderActions,\n DaffOrderActionTypes,\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n} from '../../actions/public_api';\n\nexport function daffOrderReducer<T extends DaffOrder = DaffOrder>(\n state = daffOrderInitialState,\n action: DaffOrderActions<T> | DaffOrderCollectionActions,\n): DaffOrderReducerState {\n switch (action.type) {\n case DaffOrderActionTypes.OrderListAction:\n case DaffOrderActionTypes.OrderLoadAction:\n return daffStartResolution(state);\n\n case DaffOrderCollectionActionTypes.ChangePageSizeAction:\n case DaffOrderCollectionActionTypes.ChangeCurrentPageAction:\n case DaffOrderCollectionActionTypes.ChangeFilterAction:\n case DaffOrderCollectionActionTypes.ChangeSortingAction:\n return daffStartMutation(state);\n\n case DaffOrderActionTypes.OrderListSuccessAction:\n case DaffOrderActionTypes.OrderLoadSuccessAction:\n return daffCompleteOperation(state);\n\n case DaffOrderActionTypes.OrderListFailureAction:\n case DaffOrderActionTypes.OrderLoadFailureAction:\n return daffOperationFailed([action.payload], state);\n\n default:\n return state;\n }\n}\n","import {\n daffApplyRequestsToFilters,\n daffClearFilters,\n} from '@daffodil/core';\nimport {\n daffCollectionReducerInitialState,\n getCollectionStateAdapter,\n} from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\n\nimport { DaffOrderCollectionReducerState } from './state.interface';\nimport {\n DaffOrderActionTypes,\n DaffOrderActions,\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n} from '../../actions/public_api';\n\n/**\n * Handles the reduction of order actions into the collection metadata state.\n */\nexport function daffOrdersCollectionReducer<T extends DaffOrder = DaffOrder>(\n state = daffCollectionReducerInitialState,\n action: DaffOrderActions<T> | DaffOrderCollectionActions,\n): DaffOrderCollectionReducerState {\n const adapter = getCollectionStateAdapter();\n\n switch (action.type) {\n case DaffOrderActionTypes.OrderListAction:\n return adapter.storeRequest(action.request, state);\n\n case DaffOrderActionTypes.OrderListSuccessAction:\n return adapter.setMetadata(action.payload.metadata, state);\n\n case DaffOrderActionTypes.OrderListFailureAction:\n return daffCollectionReducerInitialState;\n\n case DaffOrderCollectionActionTypes.ChangePageSizeAction:\n return adapter.setPageSize(action.pageSize, state);\n\n case DaffOrderCollectionActionTypes.ChangeCurrentPageAction:\n return adapter.setCurrentPage(action.currentPage, state);\n\n case DaffOrderCollectionActionTypes.ChangeSortingAction:\n return adapter.setSort(action.sort.option, action.sort.direction, state);\n\n case DaffOrderCollectionActionTypes.ChangeFilterAction:\n return adapter.setFilters(daffApplyRequestsToFilters(action.filters, daffClearFilters(state.filters)), state);\n\n default:\n return state;\n }\n}\n","import {\n EntityAdapter,\n createEntityAdapter,\n} from '@ngrx/entity';\n\nimport { DaffOrder } from '@daffodil/order';\n\n/**\n * Order Adapter for changing/overwriting entity state.\n */\nexport const daffGetOrderAdapter = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): EntityAdapter<T> =>\n cache = cache || createEntityAdapter<T>();\n})();\n","import { daffGetOrderAdapter } from './order-entities-adapter';\nimport { DaffOrderEntityState } from './order-entities-state.interface';\n\n/**\n * Initial state for order entity state.\n */\nexport const daffOrderEntitiesInitialState: DaffOrderEntityState<any> = daffGetOrderAdapter().getInitialState();\n","import { DaffOrder } from '@daffodil/order';\n\nimport { daffGetOrderAdapter } from './order-entities-adapter';\nimport { daffOrderEntitiesInitialState } from './order-entities-initial-state';\nimport { DaffOrderEntityState } from './order-entities-state.interface';\nimport {\n DaffOrderActions,\n DaffOrderActionTypes,\n} from '../../actions/order.actions';\n\n/**\n * Reducer function that catches actions and changes/overwrites order entities state.\n */\nexport function daffOrderEntitiesReducer<T extends DaffOrder = DaffOrder>(\n state = daffOrderEntitiesInitialState,\n action: DaffOrderActions<T>,\n): DaffOrderEntityState<T> {\n const adapter = daffGetOrderAdapter<T>();\n\n switch (action.type) {\n case DaffOrderActionTypes.OrderLoadSuccessAction:\n return adapter.upsertOne(action.payload, state);\n\n case DaffOrderActionTypes.OrderListSuccessAction:\n return adapter.setAll(Object.values(action.payload.data), state);\n\n default:\n return state;\n }\n}\n","import { ActionReducerMap } from '@ngrx/store';\n\nimport { daffOrderReducer } from './order/order.reducer';\nimport { daffOrdersCollectionReducer } from './order-collection/public_api';\nimport { daffOrderEntitiesReducer } from './order-entities/public_api';\nimport { DaffOrderReducersState } from './order-reducers.interface';\n\nexport const daffOrderReducers: ActionReducerMap<DaffOrderReducersState> = {\n order: daffOrderReducer,\n orders: daffOrderEntitiesReducer,\n collection: daffOrdersCollectionReducer,\n};\n","export const DAFF_ORDER_STORE_FEATURE_KEY = 'daffOrder';\n","import { ActionReducer } from '@ngrx/store';\n\nimport { createMultiInjectionToken } from '@daffodil/core';\n\nimport { DaffOrderReducersState } from '../order-reducers.interface';\n\nexport const {\n /**\n * A token to hold the injectable extra reducers.\n *\n * Prefer using {@link daffOrderProvideExtraReducers}.\n */\n token: DAFF_ORDER_EXTRA_REDUCERS,\n\n /**\n * Provides additional reducers that run after the standard Daffodil order reducers.\n *\n * @example\n * ```ts\n * providers: [\n * ...daffOrderProvideExtraReducers(\n * myReducer1,\n * myReducer2\n * )\n * ]\n * ```\n */\n provider: daffOrderProvideExtraReducers,\n} = createMultiInjectionToken<ActionReducer<DaffOrderReducersState>>(\n 'DAFF_ORDER_EXTRA_REDUCERS',\n { providedIn: 'any' },\n);\n","import {\n createFeatureSelector,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n DaffOrderReducersState,\n DAFF_ORDER_STORE_FEATURE_KEY,\n} from '../reducers/public_api';\n\nexport interface DaffOrderFeatureSelector<T extends DaffOrder = DaffOrder> {\n selectOrderFeatureState: MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderReducersState<T>>;\n}\n\nexport const getDaffOrderReducersStateSelector = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): DaffOrderFeatureSelector<T> =>\n cache = cache || {\n selectOrderFeatureState: createFeatureSelector<DaffOrderReducersState<T>>(DAFF_ORDER_STORE_FEATURE_KEY),\n };\n})();\n","import { Dictionary } from '@ngrx/entity';\nimport {\n createSelector,\n defaultMemoize,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport {\n DaffOrder,\n DaffOrderItem,\n DaffOrderTotal,\n DaffOrderTotalTypeEnum,\n} from '@daffodil/order';\n\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\nimport {\n DaffOrderStateRootSlice,\n daffGetOrderAdapter,\n DaffOrderEntityState,\n} from '../reducers/public_api';\n\nexport interface DaffOrderEntitySelectors<T extends DaffOrder = DaffOrder> {\n selectOrderEntitiesState: MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderEntityState<T>>;\n /**\n * Selector for order IDs.\n */\n selectOrderIds: MemoizedSelector<DaffOrderStateRootSlice<T>, T['id'][]>;\n /**\n * Selector for order entities.\n */\n selectOrderEntities: MemoizedSelector<DaffOrderStateRootSlice<T>, Dictionary<T>>;\n /**\n * Selector for all orders.\n */\n selectAllOrders: MemoizedSelector<DaffOrderStateRootSlice<T>, T[]>;\n /**\n * Selector for total number of orders.\n */\n selectOrderTotal: MemoizedSelector<DaffOrderStateRootSlice<T>, number>;\n selectOrder: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T>;\n\n /**\n * Selects the specified order's totals.\n */\n selectOrderTotals: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['totals']>;\n /**\n * Selects the specified order's applied coupon codes.\n */\n selectOrderAppliedCodes: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['applied_codes']>;\n /**\n * Selects the specified order's items.\n */\n selectOrderItems: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['items']>;\n /**\n * Selects the specified order's billing addresses.\n */\n selectOrderBillingAddresses: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['billing_addresses']>;\n /**\n * Selects the specified order's shipping addresses.\n */\n selectOrderShippingTotalAddresses: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['shipping_addresses']>;\n /**\n * Selects the specified order's shipments.\n */\n selectOrderShipments: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['shipments']>;\n /**\n * Selects the specified order's payment.\n */\n selectOrderPayment: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['payment']>;\n /**\n * Selects the specified order's invoices.\n */\n selectOrderInvoices: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['invoices']>;\n /**\n * Selects the specified order's credits.\n */\n selectOrderCredits: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['credits']>;\n\n /**\n * Selects the specified order's specified item.\n */\n selectOrderItem: (orderId: T['id'], itemId: T['items'][0]['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderItem>;\n\n /**\n * Selects the specified order's grand total.\n */\n selectOrderGrandTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n /**\n * Selects the specified order's subtotal.\n */\n selectOrderSubtotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n /**\n * Selects the specified order's shipping total.\n */\n selectOrderShippingTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n /**\n * Selects the specified order's discount total.\n */\n selectOrderDiscountTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n /**\n * Selects whether the specified order has a discount.\n */\n selectOrderHasDiscount: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, boolean>;\n /**\n * Selects the specified order's tax total.\n */\n selectOrderTaxTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n}\n\nconst createOrderEntitySelectors = <T extends DaffOrder = DaffOrder>() => {\n const { selectOrderFeatureState } = getDaffOrderReducersStateSelector<T>();\n const selectOrderEntitiesState = createSelector(\n selectOrderFeatureState,\n state => state.orders,\n );\n const { selectIds, selectEntities, selectAll, selectTotal } = daffGetOrderAdapter<T>().getSelectors(selectOrderEntitiesState);\n\n const selectOrder: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T> =\n defaultMemoize((orderId: T['id']) => createSelector(\n selectEntities,\n (orders: Dictionary<T>) => orders[orderId] || null,\n )).memoized;\n\n const selectOrderTotals: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['totals']> =\n defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.totals) || [],\n )).memoized;\n\n const selectOrderAppliedCodes = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.applied_codes) || [],\n )).memoized;\n\n const selectOrderItems: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['items']> =\n defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.items) || [],\n )).memoized;\n\n const selectOrderBillingAddresses = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.billing_addresses) || [],\n )).memoized;\n\n const selectOrderShippingTotalAddresses = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.shipping_addresses) || [],\n )).memoized;\n\n const selectOrderShipments = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.shipments) || [],\n )).memoized;\n\n const selectOrderPayment = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.payment) || null,\n )).memoized;\n\n const selectOrderInvoices = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.invoices) || [],\n )).memoized;\n\n const selectOrderCredits = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.credits) || [],\n )).memoized;\n\n const selectOrderGrandTotal = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.GrandTotal);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderSubtotal = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.Subtotal);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderShippingTotal = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.Shipping);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderDiscountTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal> =\n defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.Discount);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderHasDiscount = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderDiscountTotal(orderId),\n discountTotal => discountTotal?.value > 0,\n )).memoized;\n\n const selectOrderTaxTotal = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.Tax);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderItem = defaultMemoize((orderId: T['id'], itemId: T['items'][0]['id']) => createSelector(\n selectOrderItems(orderId),\n items => items.find(item => item.id === itemId) || null,\n )).memoized;\n\n return {\n selectOrderEntitiesState,\n selectOrderIds: selectIds,\n selectOrderEntities: selectEntities,\n selectAllOrders: selectAll,\n selectOrderTotal: selectTotal,\n\n selectOrder,\n selectOrderTotals,\n selectOrderAppliedCodes,\n selectOrderItems,\n selectOrderBillingAddresses,\n selectOrderShippingTotalAddresses,\n selectOrderShipments,\n selectOrderPayment,\n selectOrderInvoices,\n selectOrderCredits,\n selectOrderItem,\n\n selectOrderGrandTotal,\n selectOrderSubtotal,\n selectOrderShippingTotal,\n selectOrderDiscountTotal,\n selectOrderHasDiscount,\n selectOrderTaxTotal,\n };\n};\n\nexport const getDaffOrderEntitySelectors = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): DaffOrderEntitySelectors<T> =>\n cache = cache || createOrderEntitySelectors<T>();\n})();\n\n","import { createSelector } from '@ngrx/store';\n\nimport {\n DaffCollectionMemoizedSelectors,\n daffCollectionSelectorFactory,\n} from '@daffodil/core/state';\nimport { DaffOrderCollection } from '@daffodil/order';\n\nimport { DaffOrderStateRootSlice } from '../../reducers/public_api';\nimport { getDaffOrderReducersStateSelector } from '../order-feature.selector';\n\nexport type DaffOrderCollectionMemoizedSelectors = DaffCollectionMemoizedSelectors<DaffOrderStateRootSlice, DaffOrderCollection['metadata']>;\n\nconst {\n selectOrderFeatureState,\n} = getDaffOrderReducersStateSelector();\n\nconst selectProductReviewsCollectionState = createSelector(\n selectOrderFeatureState,\n state => state.collection,\n);\n\nexport const getDaffOrderCollectionSelectors = (() => {\n let cache;\n return (): DaffOrderCollectionMemoizedSelectors =>\n cache = cache || daffCollectionSelectorFactory<DaffOrderStateRootSlice, DaffOrderCollection['metadata']>(selectProductReviewsCollectionState);\n})();\n","import {\n createSelector,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport {\n daffOperationStateSelectorFactory,\n DaffOperationStateSelectors,\n} from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\n\nimport { getDaffOrderCollectionSelectors } from './order-collection/selectors';\nimport { getDaffOrderEntitySelectors } from './order-entities.selector';\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\nimport {\n DaffOrderStateRootSlice,\n DaffOrderReducerState,\n} from '../reducers/public_api';\n\nexport interface DaffOrderSelectors<T extends DaffOrder = DaffOrder> extends DaffOperationStateSelectors<DaffOrderStateRootSlice<T>, DaffOrderReducerState> {\n selectOrderState: MemoizedSelector<DaffOrderStateRootSlice, DaffOrderReducerState>;\n selectOrders: MemoizedSelector<DaffOrderStateRootSlice, T[]>;\n}\n\nconst createOrderSelectors = <T extends DaffOrder = DaffOrder>() => {\n const { selectOrderFeatureState } = getDaffOrderReducersStateSelector<T>();\n const {\n selectCollectionIds,\n } = getDaffOrderCollectionSelectors();\n const {\n selectOrderEntities,\n } = getDaffOrderEntitySelectors<T>();\n const selectOrderState = createSelector(\n selectOrderFeatureState,\n state => state.order,\n );\n\n const selectOrders = createSelector(\n selectCollectionIds,\n selectOrderEntities,\n (ids, entities) => ids.map((id) => entities[id]),\n );\n\n return {\n ...daffOperationStateSelectorFactory(selectOrderState),\n selectOrderState,\n selectOrders,\n };\n};\n\nexport const getOrderSelectors = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): DaffOrderSelectors<T> =>\n cache = cache || createOrderSelectors<T>();\n})();\n","import { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderEntitySelectors,\n getDaffOrderEntitySelectors,\n} from './order-entities.selector';\nimport {\n DaffOrderFeatureSelector,\n getDaffOrderReducersStateSelector,\n} from './order-feature.selector';\nimport {\n DaffOrderSelectors,\n getOrderSelectors,\n} from './order.selector';\n\nexport interface DaffOrderAllSelectors<T extends DaffOrder = DaffOrder> extends\n DaffOrderEntitySelectors<T>,\n DaffOrderSelectors<T>,\n DaffOrderFeatureSelector<T> {}\n\nexport const getDaffOrderSelectors = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): DaffOrderAllSelectors<T> =>\n cache = cache || {\n ...getOrderSelectors<T>(),\n ...getDaffOrderEntitySelectors<T>(),\n ...getDaffOrderReducersStateSelector<T>(),\n };\n})();\n","import { Injectable } from '@angular/core';\nimport { Dictionary } from '@ngrx/entity';\nimport {\n Action,\n Store,\n select,\n} from '@ngrx/store';\nimport { Observable } from 'rxjs';\n\nimport {\n DaffState,\n DaffStateError,\n} from '@daffodil/core/state';\nimport {\n DaffOrder,\n DaffOrderTotal,\n} from '@daffodil/order';\n\nimport { DaffOrderFacadeInterface } from './order-facade.interface';\nimport { DaffOrderStateRootSlice } from '../../reducers/public_api';\nimport { DaffOrderEntitySelectors } from '../../selectors/order-entities.selector';\nimport { getDaffOrderSelectors } from '../../selectors/public_api';\n\n/**\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffOrderFacade<T extends DaffOrder = DaffOrder> implements DaffOrderFacadeInterface<T> {\n loading$: Observable<boolean>;\n errors$: Observable<DaffStateError[]>;\n loadingState$: Observable<DaffState>;\n resolving$: Observable<boolean>;\n mutating$: Observable<boolean>;\n hasErrors$: Observable<boolean>;\n\n orders$: Observable<T[]>;\n orderIds$: Observable<T['id'][]>;\n orderCount$: Observable<number>;\n orderEntities$: Observable<Dictionary<T>>;\n\n _order: DaffOrderEntitySelectors<T>['selectOrder'];\n _totals: DaffOrderEntitySelectors<T>['selectOrderTotals'];\n _appliedCodes: DaffOrderEntitySelectors<T>['selectOrderAppliedCodes'];\n _items: DaffOrderEntitySelectors<T>['selectOrderItems'];\n _billingAddresses: DaffOrderEntitySelectors<T>['selectOrderBillingAddresses'];\n _shippingAddresses: DaffOrderEntitySelectors<T>['selectOrderShippingTotalAddresses'];\n _shipments: DaffOrderEntitySelectors<T>['selectOrderShipments'];\n _payment: DaffOrderEntitySelectors<T>['selectOrderPayment'];\n _invoices: DaffOrderEntitySelectors<T>['selectOrderInvoices'];\n _credits: DaffOrderEntitySelectors<T>['selectOrderCredits'];\n _grandTotal: DaffOrderEntitySelectors<T>['selectOrderGrandTotal'];\n _subtotal: DaffOrderEntitySelectors<T>['selectOrderSubtotal'];\n _shipping: DaffOrderEntitySelectors<T>['selectOrderShippingTotal'];\n _discount: DaffOrderEntitySelectors<T>['selectOrderDiscountTotal'];\n _hasDiscount: DaffOrderEntitySelectors<T>['selectOrderHasDiscount'];\n _tax: DaffOrderEntitySelectors<T>['selectOrderTaxTotal'];\n\n constructor(private store: Store<DaffOrderStateRootSlice<T>>) {\n const {\n selectOrderIds,\n selectOrderEntities,\n selectOrders,\n selectOrderTotal,\n selectLoading,\n selectErrors,\n selectHasErrors,\n selectMutating,\n selectResolving,\n selectLoadingState,\n\n selectOrder,\n selectOrderTotals,\n selectOrderAppliedCodes,\n selectOrderItems,\n selectOrderBillingAddresses,\n selectOrderShippingTotalAddresses,\n selectOrderShipments,\n selectOrderPayment,\n selectOrderInvoices,\n selectOrderCredits,\n\n selectOrderGrandTotal,\n selectOrderSubtotal,\n selectOrderShippingTotal,\n selectOrderDiscountTotal,\n selectOrderHasDiscount,\n selectOrderTaxTotal,\n } = getDaffOrderSelectors<T>();\n\n this.loading$ = this.store.pipe(select(selectLoading));\n this.errors$ = this.store.pipe(select(selectErrors));\n this.loadingState$ = this.store.pipe(select(selectLoadingState));\n this.resolving$ = this.store.pipe(select(selectResolving));\n this.mutating$ = this.store.pipe(select(selectMutating));\n this.hasErrors$ = this.store.pipe(select(selectHasErrors));\n\n this.orders$ = this.store.pipe(select(selectOrders));\n this.orderIds$ = this.store.pipe(select(selectOrderIds));\n this.orderCount$ = this.store.pipe(select(selectOrderTotal));\n this.orderEntities$ = this.store.pipe(select(selectOrderEntities));\n\n this._order = selectOrder;\n this._totals = selectOrderTotals;\n this._appliedCodes = selectOrderAppliedCodes;\n this._items = selectOrderItems;\n this._billingAddresses = selectOrderBillingAddresses;\n this._shippingAddresses = selectOrderShippingTotalAddresses;\n this._shipments = selectOrderShipments;\n this._payment = selectOrderPayment;\n this._invoices = selectOrderInvoices;\n this._credits = selectOrderCredits;\n this._grandTotal = selectOrderGrandTotal;\n this._subtotal = selectOrderSubtotal;\n this._shipping = selectOrderShippingTotal;\n this._discount = selectOrderDiscountTotal;\n this._hasDiscount = selectOrderHasDiscount;\n this._tax = selectOrderTaxTotal;\n }\n\n getOrder$(orderId: T['id']): Observable<T> {\n return this.store.pipe(select(this._order(orderId)));\n }\n\n getTotals$(orderId: T['id']): Observable<T['totals']> {\n return this.store.pipe(select(this._totals(orderId)));\n }\n\n getAppliedCodes$(orderId: T['id']): Observable<T['applied_codes']> {\n return this.store.pipe(select(this._appliedCodes(orderId)));\n }\n\n getItems$(orderId: T['id']): Observable<T['items']> {\n return this.store.pipe(select(this._items(orderId)));\n }\n\n getBillingAddresses$(orderId: T['id']): Observable<T['billing_addresses']> {\n return this.store.pipe(select(this._billingAddresses(orderId)));\n }\n\n getShippingAddresses$(orderId: T['id']): Observable<T['shipping_addresses']> {\n return this.store.pipe(select(this._shippingAddresses(orderId)));\n }\n\n getShipments$(orderId: T['id']): Observable<T['shipments']> {\n return this.store.pipe(select(this._shipments(orderId)));\n }\n\n getPayment$(orderId: T['id']): Observable<T['payment']> {\n return this.store.pipe(select(this._payment(orderId)));\n }\n\n getInvoices$(orderId: T['id']): Observable<T['invoices']> {\n return this.store.pipe(select(this._invoices(orderId)));\n }\n\n getCredits$(orderId: T['id']): Observable<T['credits']> {\n return this.store.pipe(select(this._credits(orderId)));\n }\n\n getGrandTotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._grandTotal(orderId)));\n };\n getSubtotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._subtotal(orderId)));\n };\n getShippingTotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._shipping(orderId)));\n };\n getDiscountTotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._discount(orderId)));\n };\n hasDiscount$(orderId: T['id']): Observable<boolean> {\n return this.store.pipe(select(this._hasDiscount(orderId)));\n };\n getTaxTotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._tax(orderId)));\n };\n\n dispatch(action: Action) {\n this.store.dispatch(action);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\n\nimport {\n DaffCollectionFacadeInterface,\n DaffCollectionFacade,\n} from '@daffodil/core/state';\nimport {\n DaffOrder,\n DaffOrderCollection,\n} from '@daffodil/order';\n\nimport { DaffOrderStateRootSlice } from '../../reducers/public_api';\nimport { getDaffOrderCollectionSelectors } from '../../selectors/public_api';\n\n/**\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffOrderCollectionFacade<T extends DaffOrder = DaffOrder>\n extends DaffCollectionFacade<DaffOrderStateRootSlice<T>, DaffOrderCollection['metadata']>\n implements DaffCollectionFacadeInterface<DaffOrderCollection['metadata']> {\n constructor(store: Store<DaffOrderStateRootSlice<T>>) {\n super(\n store,\n getDaffOrderCollectionSelectors(),\n );\n }\n}\n","import { createSingleInjectionToken } from '@daffodil/core';\nimport { daffTransformErrorToStateError } from '@daffodil/core/state';\n\nexport const {\n /**\n * Transforms `DaffError`s into `DaffStateError`s before they are serialized into state.\n * Can be used to further refine Daffodil errors into more specific app errors.\n */\n token: DAFF_ORDER_ERROR_MATCHER,\n /**\n * Provider function for {@link DAFF_ORDER_ERROR_MATCHER}.\n */\n provider: provideDaffOrderErrorMatcher,\n} = createSingleInjectionToken<typeof daffTransformErrorToStateError>(\n 'DAFF_ORDER_ERROR_MATCHER',\n { factory: () => daffTransformErrorToStateError },\n);\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Actions,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport {\n asyncScheduler,\n of,\n} from 'rxjs';\nimport {\n switchMap,\n map,\n catchError,\n throttleTime,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {\n daffCollectionBuildRequestFromMetadata,\n DaffError,\n} from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\nimport {\n DaffOrderServiceInterface,\n DaffOrderDriver,\n} from '@daffodil/order/driver';\n\nimport {\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n DaffOrderListFailure,\n DaffOrderListSuccess,\n} from '../actions/public_api';\nimport { DaffOrderCollectionFacade } from '../facades/public_api';\nimport { DAFF_ORDER_ERROR_MATCHER } from '../injection-tokens/public_api';\n\nexport const DAFF_ORDER_COLLECTION_ACTION_TYPES = [\n DaffOrderCollectionActionTypes.ChangeCurrentPageAction,\n DaffOrderCollectionActionTypes.ChangePageSizeAction,\n DaffOrderCollectionActionTypes.ChangeSortingAction,\n DaffOrderCollectionActionTypes.ChangeFilterAction,\n];\n\n@Injectable()\nexport class DaffOrderCollectionEffects<\n T extends DaffOrder = DaffOrder,\n> {\n constructor(\n private actions$: Actions,\n private collectionFacade: DaffOrderCollectionFacade,\n @Inject(DaffOrderDriver) private driver: DaffOrderServiceInterface<T>,\n @Inject(DAFF_ORDER_ERROR_MATCHER) private errorMatcher: ErrorTransformer,\n ) {}\n\n /**\n * Updates the order collection according to the action.\n * It will take the request metedata, including currently\n * applied filters, from state, form them into a request,\n * and pass that into the {@link DaffProductCollectionDriverCall} provided to this class.\n *\n * @param throttleWindow the amount of time to delay when apply/removing filters\n * in a sequence.\n */\n update$ = createEffect(() => (throttleWindow = 300, scheduler = asyncScheduler) => this.actions$.pipe(\n ofType<DaffOrderCollectionActions>(...DAFF_ORDER_COLLECTION_ACTION_TYPES),\n withLatestFrom(\n this.collectionFacade.metadata$,\n ),\n throttleTime(throttleWindow, scheduler, { leading: true, trailing: true }),\n switchMap(([action, metadata]) => this.driver.list(\n action.cartId,\n daffCollectionBuildRequestFromMetadata(metadata),\n ).pipe(\n map(resp => new DaffOrderListSuccess<T>(resp)),\n catchError((error: DaffError) => of(new DaffOrderListFailure(this.errorMatcher(error)))),\n )),\n ));\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Actions,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport { of } from 'rxjs';\nimport {\n switchMap,\n map,\n catchError,\n} from 'rxjs/operators';\n\nimport { DaffError } from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\nimport {\n DaffOrderServiceInterface,\n DaffOrderDriver,\n} from '@daffodil/order/driver';\n\nimport {\n DaffOrderActionTypes,\n DaffOrderLoad,\n DaffOrderLoadSuccess,\n DaffOrderLoadFailure,\n DaffOrderList,\n DaffOrderListSuccess,\n DaffOrderListFailure,\n} from '../actions/order.actions';\nimport { DAFF_ORDER_ERROR_MATCHER } from '../injection-tokens/public_api';\n\n@Injectable()\nexport class DaffOrderEffects<\n T extends DaffOrder = DaffOrder,\n> {\n constructor(\n private actions$: Actions,\n @Inject(DaffOrderDriver) private driver: DaffOrderServiceInterface<T>,\n @Inject(DAFF_ORDER_ERROR_MATCHER) private errorMatcher: ErrorTransformer,\n ) {}\n\n /**\n * An effect for the loading of an order.\n */\n\n get$ = createEffect(() => this.actions$.pipe(\n ofType(DaffOrderActionTypes.OrderLoadAction),\n switchMap((action: DaffOrderLoad<T>) =>\n this.driver.get(action.orderId, action.cartId).pipe(\n map(resp => new DaffOrderLoadSuccess<T>(resp)),\n catchError((error: DaffError) => of(new DaffOrderLoadFailure(this.errorMatcher(error)))),\n ),\n ),\n ));\n\n /**\n * An effect for the listing of orders.\n */\n\n list$ = createEffect(() => this.actions$.pipe(\n ofType(DaffOrderActionTypes.OrderListAction),\n switchMap((action: DaffOrderList) =>\n this.driver.list(action.cartId, action.request).pipe(\n map(resp => new DaffOrderListSuccess<T>(resp)),\n catchError((error: DaffError) => of(new DaffOrderListFailure(this.errorMatcher(error)))),\n ),\n ),\n ));\n}\n","import { inject } from '@angular/core';\nimport {\n ActionReducer,\n combineReducers,\n} from '@ngrx/store';\n\nimport { createSingleInjectionToken } from '@daffodil/core';\nimport { daffComposeReducers } from '@daffodil/core/state';\n\nimport { DAFF_ORDER_EXTRA_REDUCERS } from './extra.token';\nimport { daffOrderReducer } from '../order/order.reducer';\nimport { daffOrderEntitiesReducer } from '../order-entities/public_api';\nimport { DaffOrderReducersState } from '../order-reducers.interface';\nimport { daffOrdersCollectionReducer } from '../public_api';\n\nexport const {\n /**\n * An internal token to hold the Daffodil order reducers.\n * Includes the extra and standard reducers.\n *\n * @docs-private\n */\n token: DAFF_ORDER_REDUCERS,\n /**\n * Provider function for {@link DAFF_ORDER_REDUCERS}.\n */\n provider: provideDaffOrderReducers,\n} = createSingleInjectionToken<ActionReducer<DaffOrderReducersState>>(\n ' DAFF_ORDER_REDUCERS',\n {\n providedIn: 'any',\n factory: () => daffComposeReducers([\n combineReducers({\n order: daffOrderReducer,\n orders: daffOrderEntitiesReducer,\n collection: daffOrdersCollectionReducer,\n }),\n ...inject(DAFF_ORDER_EXTRA_REDUCERS),\n ]),\n },\n);\n","import { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport { DaffCartStateModule } from '@daffodil/cart/state';\n\nimport { DaffOrderCollectionEffects } from './effects/order-collection.effects';\nimport { DaffOrderEffects } from './effects/order.effects';\nimport { DAFF_ORDER_STORE_FEATURE_KEY } from './reducers/public_api';\nimport { DAFF_ORDER_REDUCERS } from './reducers/token/reducers.token';\n\n@NgModule({\n imports: [\n DaffCartStateModule,\n EffectsModule.forFeature([\n DaffOrderEffects,\n DaffOrderCollectionEffects,\n ]),\n StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, DAFF_ORDER_REDUCERS),\n ],\n})\nexport class DaffOrderStateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.DaffOrderCollectionFacade","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daffodil-order-state.mjs","sources":["../../../libs/order/state/src/actions/order-collection.actions.ts","../../../libs/order/state/src/actions/order.actions.ts","../../../libs/order/state/src/reducers/order/order-initial-state.ts","../../../libs/order/state/src/reducers/order/order.reducer.ts","../../../libs/order/state/src/reducers/order-collection/reducer.ts","../../../libs/order/state/src/reducers/order-entities/order-entities-adapter.ts","../../../libs/order/state/src/reducers/order-entities/order-entities-initial-state.ts","../../../libs/order/state/src/reducers/order-entities/order-entities.reducer.ts","../../../libs/order/state/src/reducers/order-reducers.ts","../../../libs/order/state/src/reducers/order-store-feature-key.ts","../../../libs/order/state/src/reducers/token/extra.token.ts","../../../libs/order/state/src/selectors/order-feature.selector.ts","../../../libs/order/state/src/selectors/order-entities.selector.ts","../../../libs/order/state/src/selectors/order-collection/selectors.ts","../../../libs/order/state/src/selectors/order.selector.ts","../../../libs/order/state/src/selectors/order-all.selector.ts","../../../libs/order/state/src/facades/order/order.facade.ts","../../../libs/order/state/src/facades/collection/facade.ts","../../../libs/order/state/src/injection-tokens/error-matcher.token.ts","../../../libs/order/state/src/effects/order-collection.effects.ts","../../../libs/order/state/src/effects/order.effects.ts","../../../libs/order/state/src/reducers/token/reducers.token.ts","../../../libs/order/state/src/order-state.module.ts","../../../libs/order/state/src/daffodil-order-state.ts"],"sourcesContent":["\nimport { DaffCart } from '@daffodil/cart';\nimport {\n DaffCollectionMetadata,\n DaffFilterRequest,\n} from '@daffodil/core';\nimport {\n DaffCollectionChangePageSize,\n DaffCollectionChangeCurrentPage,\n DaffCollectionChangeSortingOption,\n DaffCollectionReplaceFilters,\n} from '@daffodil/core/state';\n\n/**\n * Action types for Order Actions.\n */\nexport enum DaffOrderCollectionActionTypes {\n ChangePageSizeAction = '[@daffodil/order] Change Order Collection Page Size Action',\n ChangeCurrentPageAction = '[@daffodil/order] Change Order Collection Current Page Action',\n ChangeSortingAction = '[@daffodil/order] Change Order Collection Sorting Action',\n ChangeFilterAction = '[@daffodil/order] Change Order Collection Filter Action',\n}\n\n/**\n * An action for changing the number of items shown on each page for this collection.\n *\n * @role action\n */\nexport class DaffOrderCollectionChangePageSize implements DaffCollectionChangePageSize {\n readonly type = DaffOrderCollectionActionTypes.ChangePageSizeAction;\n\n constructor(\n public pageSize: DaffCollectionMetadata['pageSize'],\n public cartId?: DaffCart['id'],\n ) {}\n}\n\n/**\n * An action for changing the current page of items for this collection.\n *\n * @role action\n */\nexport class DaffOrderCollectionChangeCurrentPage implements DaffCollectionChangeCurrentPage {\n readonly type = DaffOrderCollectionActionTypes.ChangeCurrentPageAction;\n\n constructor(\n public currentPage: DaffCollectionMetadata['currentPage'],\n public cartId?: DaffCart['id'],\n ) {}\n}\n\n/**\n * An action for changing the sorting option for this collection.\n *\n * @role action\n */\nexport class DaffOrderCollectionChangeSortingOption implements DaffCollectionChangeSortingOption {\n readonly type = DaffOrderCollectionActionTypes.ChangeSortingAction;\n\n constructor(\n public sort: {\n option: DaffCollectionMetadata['appliedSortOption'];\n direction: DaffCollectionMetadata['appliedSortDirection'];\n },\n public cartId?: DaffCart['id'],\n ) {}\n}\n\n/**\n * An action for filtering the collection by an overall rating value.\n *\n * @role action\n */\nexport class DaffOrderCollectionChangeFilter implements DaffCollectionReplaceFilters {\n readonly type = DaffOrderCollectionActionTypes.ChangeFilterAction;\n\n constructor(\n public filters: DaffFilterRequest[],\n public cartId?: DaffCart['id'],\n ) {}\n}\n\nexport type DaffOrderCollectionActions =\n | DaffOrderCollectionChangePageSize\n | DaffOrderCollectionChangeCurrentPage\n | DaffOrderCollectionChangeSortingOption\n | DaffOrderCollectionChangeFilter;\n","import { Action } from '@ngrx/store';\n\nimport { DaffCart } from '@daffodil/cart';\nimport { DaffCollectionRequest } from '@daffodil/core';\nimport { DaffStateError } from '@daffodil/core/state';\nimport {\n DaffOrder,\n DaffOrderCollection,\n} from '@daffodil/order';\n\nexport enum DaffOrderActionTypes {\n OrderLoadAction = '[@daffodil/order] Order Load Action',\n OrderLoadSuccessAction = '[@daffodil/order] Order Load Success Action',\n OrderLoadFailureAction = '[@daffodil/order] Order Load Failure Action',\n OrderListAction = '[@daffodil/order] Order List Action',\n OrderListSuccessAction = '[@daffodil/order] Order List Success Action',\n OrderListFailureAction = '[@daffodil/order] Order List Failure Action'\n}\n\n/**\n * Triggers the loading of the specified order.\n *\n * @param orderId The order ID.\n * @param cartId The optional guest cart ID.\n */\nexport class DaffOrderLoad<\n T extends DaffOrder = DaffOrder,\n> implements Action {\n readonly type = DaffOrderActionTypes.OrderLoadAction;\n\n constructor(public orderId: T['id'], public cartId?: DaffCart['id']) {}\n}\n\nexport class DaffOrderLoadSuccess<T extends DaffOrder = DaffOrder> implements Action {\n readonly type = DaffOrderActionTypes.OrderLoadSuccessAction;\n\n constructor(public payload: T) {}\n}\n\nexport class DaffOrderLoadFailure implements Action {\n readonly type = DaffOrderActionTypes.OrderLoadFailureAction;\n\n constructor(public payload: DaffStateError) {}\n}\n\n/**\n * Triggers the loading of the orders for either the currently logged-in user or the specified guest cart.\n *\n * @param payload The guest cart ID.\n */\nexport class DaffOrderList implements Action {\n readonly type = DaffOrderActionTypes.OrderListAction;\n\n constructor(public cartId?: DaffCart['id'], public request: DaffCollectionRequest = {}) {}\n}\n\nexport class DaffOrderListSuccess<T extends DaffOrder = DaffOrder> implements Action {\n readonly type = DaffOrderActionTypes.OrderListSuccessAction;\n\n constructor(public payload: DaffOrderCollection<T>) {}\n}\n\nexport class DaffOrderListFailure implements Action {\n readonly type = DaffOrderActionTypes.OrderListFailureAction;\n\n constructor(public payload: DaffStateError) {}\n}\n\nexport type DaffOrderActions<\n T extends DaffOrder = DaffOrder,\n> =\n | DaffOrderLoad<T>\n | DaffOrderLoadSuccess<T>\n | DaffOrderLoadFailure\n | DaffOrderList\n | DaffOrderListSuccess<T>\n | DaffOrderListFailure;\n","import { daffOperationInitialState } from '@daffodil/core/state';\n\nimport { DaffOrderReducerState } from './order-reducer.interface';\n\nexport const daffOrderInitialState: DaffOrderReducerState = daffOperationInitialState;\n","import {\n daffCompleteOperation,\n daffOperationFailed,\n daffStartMutation,\n daffStartResolution,\n} from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\n\nimport { daffOrderInitialState } from './order-initial-state';\nimport { DaffOrderReducerState } from './order-reducer.interface';\nimport {\n DaffOrderActions,\n DaffOrderActionTypes,\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n} from '../../actions/public_api';\n\nexport function daffOrderReducer<T extends DaffOrder = DaffOrder>(\n state = daffOrderInitialState,\n action: DaffOrderActions<T> | DaffOrderCollectionActions,\n): DaffOrderReducerState {\n switch (action.type) {\n case DaffOrderActionTypes.OrderListAction:\n case DaffOrderActionTypes.OrderLoadAction:\n return daffStartResolution(state);\n\n case DaffOrderCollectionActionTypes.ChangePageSizeAction:\n case DaffOrderCollectionActionTypes.ChangeCurrentPageAction:\n case DaffOrderCollectionActionTypes.ChangeFilterAction:\n case DaffOrderCollectionActionTypes.ChangeSortingAction:\n return daffStartMutation(state);\n\n case DaffOrderActionTypes.OrderListSuccessAction:\n case DaffOrderActionTypes.OrderLoadSuccessAction:\n return daffCompleteOperation(state);\n\n case DaffOrderActionTypes.OrderListFailureAction:\n case DaffOrderActionTypes.OrderLoadFailureAction:\n return daffOperationFailed([action.payload], state);\n\n default:\n return state;\n }\n}\n","import {\n daffApplyRequestsToFilters,\n daffClearFilters,\n} from '@daffodil/core';\nimport {\n daffCollectionReducerInitialState,\n getCollectionStateAdapter,\n} from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\n\nimport { DaffOrderCollectionReducerState } from './state.interface';\nimport {\n DaffOrderActionTypes,\n DaffOrderActions,\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n} from '../../actions/public_api';\n\n/**\n * Handles the reduction of order actions into the collection metadata state.\n */\nexport function daffOrdersCollectionReducer<T extends DaffOrder = DaffOrder>(\n state = daffCollectionReducerInitialState,\n action: DaffOrderActions<T> | DaffOrderCollectionActions,\n): DaffOrderCollectionReducerState {\n const adapter = getCollectionStateAdapter();\n\n switch (action.type) {\n case DaffOrderActionTypes.OrderListAction:\n return adapter.storeRequest(action.request, state);\n\n case DaffOrderActionTypes.OrderListSuccessAction:\n return adapter.setMetadata(action.payload.metadata, state);\n\n case DaffOrderActionTypes.OrderListFailureAction:\n return daffCollectionReducerInitialState;\n\n case DaffOrderCollectionActionTypes.ChangePageSizeAction:\n return adapter.setPageSize(action.pageSize, state);\n\n case DaffOrderCollectionActionTypes.ChangeCurrentPageAction:\n return adapter.setCurrentPage(action.currentPage, state);\n\n case DaffOrderCollectionActionTypes.ChangeSortingAction:\n return adapter.setSort(action.sort.option, action.sort.direction, state);\n\n case DaffOrderCollectionActionTypes.ChangeFilterAction:\n return adapter.setFilters(daffApplyRequestsToFilters(action.filters, daffClearFilters(state.filters)), state);\n\n default:\n return state;\n }\n}\n","import {\n EntityAdapter,\n createEntityAdapter,\n} from '@ngrx/entity';\n\nimport { DaffOrder } from '@daffodil/order';\n\n/**\n * Order Adapter for changing/overwriting entity state.\n */\nexport const daffGetOrderAdapter = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): EntityAdapter<T> =>\n cache = cache || createEntityAdapter<T>();\n})();\n","import { daffGetOrderAdapter } from './order-entities-adapter';\nimport { DaffOrderEntityState } from './order-entities-state.interface';\n\n/**\n * Initial state for order entity state.\n */\nexport const daffOrderEntitiesInitialState: DaffOrderEntityState<any> = daffGetOrderAdapter().getInitialState();\n","import { DaffOrder } from '@daffodil/order';\n\nimport { daffGetOrderAdapter } from './order-entities-adapter';\nimport { daffOrderEntitiesInitialState } from './order-entities-initial-state';\nimport { DaffOrderEntityState } from './order-entities-state.interface';\nimport {\n DaffOrderActions,\n DaffOrderActionTypes,\n} from '../../actions/order.actions';\n\n/**\n * Reducer function that catches actions and changes/overwrites order entities state.\n */\nexport function daffOrderEntitiesReducer<T extends DaffOrder = DaffOrder>(\n state = daffOrderEntitiesInitialState,\n action: DaffOrderActions<T>,\n): DaffOrderEntityState<T> {\n const adapter = daffGetOrderAdapter<T>();\n\n switch (action.type) {\n case DaffOrderActionTypes.OrderLoadSuccessAction:\n return adapter.upsertOne(action.payload, state);\n\n case DaffOrderActionTypes.OrderListSuccessAction:\n return adapter.setAll(Object.values(action.payload.data), state);\n\n default:\n return state;\n }\n}\n","import { ActionReducerMap } from '@ngrx/store';\n\nimport { daffOrderReducer } from './order/order.reducer';\nimport { daffOrdersCollectionReducer } from './order-collection/public_api';\nimport { daffOrderEntitiesReducer } from './order-entities/public_api';\nimport { DaffOrderReducersState } from './order-reducers.interface';\n\nexport const daffOrderReducers: ActionReducerMap<DaffOrderReducersState> = {\n order: daffOrderReducer,\n orders: daffOrderEntitiesReducer,\n collection: daffOrdersCollectionReducer,\n};\n","export const DAFF_ORDER_STORE_FEATURE_KEY = 'daffOrder';\n","import { ActionReducer } from '@ngrx/store';\n\nimport { createMultiInjectionToken } from '@daffodil/core';\n\nimport { DaffOrderReducersState } from '../order-reducers.interface';\n\nexport const {\n /**\n * A token to hold the injectable extra reducers.\n *\n * Prefer using {@link daffOrderProvideExtraReducers}.\n */\n token: DAFF_ORDER_EXTRA_REDUCERS,\n\n /**\n * Provides additional reducers that run after the standard Daffodil order reducers.\n *\n * @example\n * ```ts\n * providers: [\n * ...daffOrderProvideExtraReducers(\n * myReducer1,\n * myReducer2\n * )\n * ]\n * ```\n */\n provider: daffOrderProvideExtraReducers,\n} = createMultiInjectionToken<ActionReducer<DaffOrderReducersState>>(\n 'DAFF_ORDER_EXTRA_REDUCERS',\n { providedIn: 'any' },\n);\n","import {\n createFeatureSelector,\n MemoizedSelector,\n defaultMemoize,\n} from '@ngrx/store';\n\nimport { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n DaffOrderReducersState,\n DAFF_ORDER_STORE_FEATURE_KEY,\n} from '../reducers/public_api';\n\nexport interface DaffOrderFeatureSelector<T extends DaffOrder = DaffOrder> {\n selectOrderFeatureState: MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderReducersState<T>>;\n}\n\nexport const getDaffOrderReducersStateSelector: <T extends DaffOrder = DaffOrder>() => DaffOrderFeatureSelector<T> = defaultMemoize(<T extends DaffOrder = DaffOrder>() => ({\n selectOrderFeatureState: createFeatureSelector<DaffOrderReducersState<T>>(DAFF_ORDER_STORE_FEATURE_KEY),\n})).memoized;\n","import { Dictionary } from '@ngrx/entity';\nimport {\n createSelector,\n defaultMemoize,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport {\n DaffOrder,\n DaffOrderItem,\n DaffOrderTotal,\n DaffOrderTotalTypeEnum,\n} from '@daffodil/order';\n\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\nimport {\n DaffOrderStateRootSlice,\n daffGetOrderAdapter,\n DaffOrderEntityState,\n} from '../reducers/public_api';\n\nexport interface DaffOrderEntitySelectors<T extends DaffOrder = DaffOrder> {\n selectOrderEntitiesState: MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderEntityState<T>>;\n /**\n * Selector for order IDs.\n */\n selectOrderIds: MemoizedSelector<DaffOrderStateRootSlice<T>, T['id'][]>;\n /**\n * Selector for order entities.\n */\n selectOrderEntities: MemoizedSelector<DaffOrderStateRootSlice<T>, Dictionary<T>>;\n /**\n * Selector for all orders.\n */\n selectAllOrders: MemoizedSelector<DaffOrderStateRootSlice<T>, T[]>;\n /**\n * Selector for total number of orders.\n */\n selectOrderTotal: MemoizedSelector<DaffOrderStateRootSlice<T>, number>;\n selectOrder: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T>;\n\n /**\n * Selects the specified order's totals.\n */\n selectOrderTotals: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['totals']>;\n /**\n * Selects the specified order's applied coupon codes.\n */\n selectOrderAppliedCodes: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['applied_codes']>;\n /**\n * Selects the specified order's items.\n */\n selectOrderItems: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['items']>;\n /**\n * Selects the specified order's billing addresses.\n */\n selectOrderBillingAddresses: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['billing_addresses']>;\n /**\n * Selects the specified order's shipping addresses.\n */\n selectOrderShippingTotalAddresses: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['shipping_addresses']>;\n /**\n * Selects the specified order's shipments.\n */\n selectOrderShipments: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['shipments']>;\n /**\n * Selects the specified order's payment.\n */\n selectOrderPayment: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['payment']>;\n /**\n * Selects the specified order's invoices.\n */\n selectOrderInvoices: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['invoices']>;\n /**\n * Selects the specified order's credits.\n */\n selectOrderCredits: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['credits']>;\n\n /**\n * Selects the specified order's specified item.\n */\n selectOrderItem: (orderId: T['id'], itemId: T['items'][0]['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderItem>;\n\n /**\n * Selects the specified order's grand total.\n */\n selectOrderGrandTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n /**\n * Selects the specified order's subtotal.\n */\n selectOrderSubtotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n /**\n * Selects the specified order's shipping total.\n */\n selectOrderShippingTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n /**\n * Selects the specified order's discount total.\n */\n selectOrderDiscountTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n /**\n * Selects whether the specified order has a discount.\n */\n selectOrderHasDiscount: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, boolean>;\n /**\n * Selects the specified order's tax total.\n */\n selectOrderTaxTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal>;\n}\n\nconst createOrderEntitySelectors = <T extends DaffOrder = DaffOrder>() => {\n const { selectOrderFeatureState } = getDaffOrderReducersStateSelector<T>();\n const selectOrderEntitiesState = createSelector(\n selectOrderFeatureState,\n state => state.orders,\n );\n const { selectIds, selectEntities, selectAll, selectTotal } = daffGetOrderAdapter<T>().getSelectors(selectOrderEntitiesState);\n\n const selectOrder: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T> =\n defaultMemoize((orderId: T['id']) => createSelector(\n selectEntities,\n (orders: Dictionary<T>) => orders[orderId] || null,\n )).memoized;\n\n const selectOrderTotals: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['totals']> =\n defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.totals) || [],\n )).memoized;\n\n const selectOrderAppliedCodes = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.applied_codes) || [],\n )).memoized;\n\n const selectOrderItems: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, T['items']> =\n defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.items) || [],\n )).memoized;\n\n const selectOrderBillingAddresses = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.billing_addresses) || [],\n )).memoized;\n\n const selectOrderShippingTotalAddresses = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.shipping_addresses) || [],\n )).memoized;\n\n const selectOrderShipments = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.shipments) || [],\n )).memoized;\n\n const selectOrderPayment = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.payment) || null,\n )).memoized;\n\n const selectOrderInvoices = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.invoices) || [],\n )).memoized;\n\n const selectOrderCredits = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrder(orderId),\n (order) => (order && order.credits) || [],\n )).memoized;\n\n const selectOrderGrandTotal = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.GrandTotal);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderSubtotal = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.Subtotal);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderShippingTotal = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.Shipping);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderDiscountTotal: (orderId: T['id']) => MemoizedSelector<DaffOrderStateRootSlice<T>, DaffOrderTotal> =\n defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.Discount);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderHasDiscount = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderDiscountTotal(orderId),\n discountTotal => discountTotal?.value > 0,\n )).memoized;\n\n const selectOrderTaxTotal = defaultMemoize((orderId: T['id']) => createSelector(\n selectOrderTotals(orderId),\n totals => {\n const index = totals.findIndex(total => total.type === DaffOrderTotalTypeEnum.Tax);\n\n return index > -1 ? totals[index] : null;\n },\n )).memoized;\n\n const selectOrderItem = defaultMemoize((orderId: T['id'], itemId: T['items'][0]['id']) => createSelector(\n selectOrderItems(orderId),\n items => items.find(item => item.id === itemId) || null,\n )).memoized;\n\n return {\n selectOrderEntitiesState,\n selectOrderIds: selectIds,\n selectOrderEntities: selectEntities,\n selectAllOrders: selectAll,\n selectOrderTotal: selectTotal,\n\n selectOrder,\n selectOrderTotals,\n selectOrderAppliedCodes,\n selectOrderItems,\n selectOrderBillingAddresses,\n selectOrderShippingTotalAddresses,\n selectOrderShipments,\n selectOrderPayment,\n selectOrderInvoices,\n selectOrderCredits,\n selectOrderItem,\n\n selectOrderGrandTotal,\n selectOrderSubtotal,\n selectOrderShippingTotal,\n selectOrderDiscountTotal,\n selectOrderHasDiscount,\n selectOrderTaxTotal,\n };\n};\n\nexport const getDaffOrderEntitySelectors: <T extends DaffOrder = DaffOrder>() => DaffOrderEntitySelectors<T> = defaultMemoize(<T extends DaffOrder = DaffOrder>() => createOrderEntitySelectors<T>()).memoized;\n\n","import {\n createSelector,\n defaultMemoize,\n} from '@ngrx/store';\n\nimport {\n DaffCollectionMemoizedSelectors,\n daffCollectionSelectorFactory,\n} from '@daffodil/core/state';\nimport { DaffOrderCollection } from '@daffodil/order';\n\nimport { DaffOrderStateRootSlice } from '../../reducers/public_api';\nimport { getDaffOrderReducersStateSelector } from '../order-feature.selector';\n\nexport type DaffOrderCollectionMemoizedSelectors = DaffCollectionMemoizedSelectors<DaffOrderStateRootSlice, DaffOrderCollection['metadata']>;\n\nconst {\n selectOrderFeatureState,\n} = getDaffOrderReducersStateSelector();\n\nconst selectProductReviewsCollectionState = createSelector(\n selectOrderFeatureState,\n state => state.collection,\n);\n\nexport const getDaffOrderCollectionSelectors: () => DaffOrderCollectionMemoizedSelectors = defaultMemoize(() => daffCollectionSelectorFactory<DaffOrderStateRootSlice, DaffOrderCollection['metadata']>(selectProductReviewsCollectionState)).memoized;\n","import {\n createSelector,\n MemoizedSelector,\n defaultMemoize,\n} from '@ngrx/store';\n\nimport {\n daffOperationStateSelectorFactory,\n DaffOperationStateSelectors,\n} from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\n\nimport { getDaffOrderCollectionSelectors } from './order-collection/selectors';\nimport { getDaffOrderEntitySelectors } from './order-entities.selector';\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\nimport {\n DaffOrderStateRootSlice,\n DaffOrderReducerState,\n} from '../reducers/public_api';\n\nexport interface DaffOrderSelectors<T extends DaffOrder = DaffOrder> extends DaffOperationStateSelectors<DaffOrderStateRootSlice<T>, DaffOrderReducerState> {\n selectOrderState: MemoizedSelector<DaffOrderStateRootSlice, DaffOrderReducerState>;\n selectOrders: MemoizedSelector<DaffOrderStateRootSlice, T[]>;\n}\n\nconst createOrderSelectors = <T extends DaffOrder = DaffOrder>() => {\n const { selectOrderFeatureState } = getDaffOrderReducersStateSelector<T>();\n const {\n selectCollectionIds,\n } = getDaffOrderCollectionSelectors();\n const {\n selectOrderEntities,\n } = getDaffOrderEntitySelectors<T>();\n const selectOrderState = createSelector(\n selectOrderFeatureState,\n state => state.order,\n );\n\n const selectOrders = createSelector(\n selectCollectionIds,\n selectOrderEntities,\n (ids, entities) => ids.map((id) => entities[id]),\n );\n\n return {\n ...daffOperationStateSelectorFactory(selectOrderState),\n selectOrderState,\n selectOrders,\n };\n};\n\nexport const getOrderSelectors: <T extends DaffOrder = DaffOrder>() => DaffOrderSelectors<T> = defaultMemoize(<T extends DaffOrder = DaffOrder>() => createOrderSelectors<T>()).memoized;\n","import { defaultMemoize } from '@ngrx/store';\n\nimport { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderEntitySelectors,\n getDaffOrderEntitySelectors,\n} from './order-entities.selector';\nimport {\n DaffOrderFeatureSelector,\n getDaffOrderReducersStateSelector,\n} from './order-feature.selector';\nimport {\n DaffOrderSelectors,\n getOrderSelectors,\n} from './order.selector';\n\nexport interface DaffOrderAllSelectors<T extends DaffOrder = DaffOrder> extends\n DaffOrderEntitySelectors<T>,\n DaffOrderSelectors<T>,\n DaffOrderFeatureSelector<T> {}\n\nexport const getDaffOrderSelectors: <T extends DaffOrder = DaffOrder>() => DaffOrderAllSelectors<T> = defaultMemoize(<T extends DaffOrder = DaffOrder>() => ({\n ...getOrderSelectors<T>(),\n ...getDaffOrderEntitySelectors<T>(),\n ...getDaffOrderReducersStateSelector<T>(),\n})).memoized;\n","import { Injectable } from '@angular/core';\nimport { Dictionary } from '@ngrx/entity';\nimport {\n Action,\n Store,\n select,\n} from '@ngrx/store';\nimport { Observable } from 'rxjs';\n\nimport {\n DaffState,\n DaffStateError,\n} from '@daffodil/core/state';\nimport {\n DaffOrder,\n DaffOrderTotal,\n} from '@daffodil/order';\n\nimport { DaffOrderFacadeInterface } from './order-facade.interface';\nimport { DaffOrderStateRootSlice } from '../../reducers/public_api';\nimport { DaffOrderEntitySelectors } from '../../selectors/order-entities.selector';\nimport { getDaffOrderSelectors } from '../../selectors/public_api';\n\n/**\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffOrderFacade<T extends DaffOrder = DaffOrder> implements DaffOrderFacadeInterface<T> {\n loading$: Observable<boolean>;\n errors$: Observable<DaffStateError[]>;\n loadingState$: Observable<DaffState>;\n resolving$: Observable<boolean>;\n mutating$: Observable<boolean>;\n hasErrors$: Observable<boolean>;\n\n orders$: Observable<T[]>;\n orderIds$: Observable<T['id'][]>;\n orderCount$: Observable<number>;\n orderEntities$: Observable<Dictionary<T>>;\n\n _order: DaffOrderEntitySelectors<T>['selectOrder'];\n _totals: DaffOrderEntitySelectors<T>['selectOrderTotals'];\n _appliedCodes: DaffOrderEntitySelectors<T>['selectOrderAppliedCodes'];\n _items: DaffOrderEntitySelectors<T>['selectOrderItems'];\n _billingAddresses: DaffOrderEntitySelectors<T>['selectOrderBillingAddresses'];\n _shippingAddresses: DaffOrderEntitySelectors<T>['selectOrderShippingTotalAddresses'];\n _shipments: DaffOrderEntitySelectors<T>['selectOrderShipments'];\n _payment: DaffOrderEntitySelectors<T>['selectOrderPayment'];\n _invoices: DaffOrderEntitySelectors<T>['selectOrderInvoices'];\n _credits: DaffOrderEntitySelectors<T>['selectOrderCredits'];\n _grandTotal: DaffOrderEntitySelectors<T>['selectOrderGrandTotal'];\n _subtotal: DaffOrderEntitySelectors<T>['selectOrderSubtotal'];\n _shipping: DaffOrderEntitySelectors<T>['selectOrderShippingTotal'];\n _discount: DaffOrderEntitySelectors<T>['selectOrderDiscountTotal'];\n _hasDiscount: DaffOrderEntitySelectors<T>['selectOrderHasDiscount'];\n _tax: DaffOrderEntitySelectors<T>['selectOrderTaxTotal'];\n\n constructor(private store: Store<DaffOrderStateRootSlice<T>>) {\n const {\n selectOrderIds,\n selectOrderEntities,\n selectOrders,\n selectOrderTotal,\n selectLoading,\n selectErrors,\n selectHasErrors,\n selectMutating,\n selectResolving,\n selectLoadingState,\n\n selectOrder,\n selectOrderTotals,\n selectOrderAppliedCodes,\n selectOrderItems,\n selectOrderBillingAddresses,\n selectOrderShippingTotalAddresses,\n selectOrderShipments,\n selectOrderPayment,\n selectOrderInvoices,\n selectOrderCredits,\n\n selectOrderGrandTotal,\n selectOrderSubtotal,\n selectOrderShippingTotal,\n selectOrderDiscountTotal,\n selectOrderHasDiscount,\n selectOrderTaxTotal,\n } = getDaffOrderSelectors<T>();\n\n this.loading$ = this.store.pipe(select(selectLoading));\n this.errors$ = this.store.pipe(select(selectErrors));\n this.loadingState$ = this.store.pipe(select(selectLoadingState));\n this.resolving$ = this.store.pipe(select(selectResolving));\n this.mutating$ = this.store.pipe(select(selectMutating));\n this.hasErrors$ = this.store.pipe(select(selectHasErrors));\n\n this.orders$ = this.store.pipe(select(selectOrders));\n this.orderIds$ = this.store.pipe(select(selectOrderIds));\n this.orderCount$ = this.store.pipe(select(selectOrderTotal));\n this.orderEntities$ = this.store.pipe(select(selectOrderEntities));\n\n this._order = selectOrder;\n this._totals = selectOrderTotals;\n this._appliedCodes = selectOrderAppliedCodes;\n this._items = selectOrderItems;\n this._billingAddresses = selectOrderBillingAddresses;\n this._shippingAddresses = selectOrderShippingTotalAddresses;\n this._shipments = selectOrderShipments;\n this._payment = selectOrderPayment;\n this._invoices = selectOrderInvoices;\n this._credits = selectOrderCredits;\n this._grandTotal = selectOrderGrandTotal;\n this._subtotal = selectOrderSubtotal;\n this._shipping = selectOrderShippingTotal;\n this._discount = selectOrderDiscountTotal;\n this._hasDiscount = selectOrderHasDiscount;\n this._tax = selectOrderTaxTotal;\n }\n\n getOrder$(orderId: T['id']): Observable<T> {\n return this.store.pipe(select(this._order(orderId)));\n }\n\n getTotals$(orderId: T['id']): Observable<T['totals']> {\n return this.store.pipe(select(this._totals(orderId)));\n }\n\n getAppliedCodes$(orderId: T['id']): Observable<T['applied_codes']> {\n return this.store.pipe(select(this._appliedCodes(orderId)));\n }\n\n getItems$(orderId: T['id']): Observable<T['items']> {\n return this.store.pipe(select(this._items(orderId)));\n }\n\n getBillingAddresses$(orderId: T['id']): Observable<T['billing_addresses']> {\n return this.store.pipe(select(this._billingAddresses(orderId)));\n }\n\n getShippingAddresses$(orderId: T['id']): Observable<T['shipping_addresses']> {\n return this.store.pipe(select(this._shippingAddresses(orderId)));\n }\n\n getShipments$(orderId: T['id']): Observable<T['shipments']> {\n return this.store.pipe(select(this._shipments(orderId)));\n }\n\n getPayment$(orderId: T['id']): Observable<T['payment']> {\n return this.store.pipe(select(this._payment(orderId)));\n }\n\n getInvoices$(orderId: T['id']): Observable<T['invoices']> {\n return this.store.pipe(select(this._invoices(orderId)));\n }\n\n getCredits$(orderId: T['id']): Observable<T['credits']> {\n return this.store.pipe(select(this._credits(orderId)));\n }\n\n getGrandTotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._grandTotal(orderId)));\n };\n getSubtotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._subtotal(orderId)));\n };\n getShippingTotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._shipping(orderId)));\n };\n getDiscountTotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._discount(orderId)));\n };\n hasDiscount$(orderId: T['id']): Observable<boolean> {\n return this.store.pipe(select(this._hasDiscount(orderId)));\n };\n getTaxTotal$(orderId: T['id']): Observable<DaffOrderTotal> {\n return this.store.pipe(select(this._tax(orderId)));\n };\n\n dispatch(action: Action) {\n this.store.dispatch(action);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\n\nimport {\n DaffCollectionFacadeInterface,\n DaffCollectionFacade,\n} from '@daffodil/core/state';\nimport {\n DaffOrder,\n DaffOrderCollection,\n} from '@daffodil/order';\n\nimport { DaffOrderStateRootSlice } from '../../reducers/public_api';\nimport { getDaffOrderCollectionSelectors } from '../../selectors/public_api';\n\n/**\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffOrderCollectionFacade<T extends DaffOrder = DaffOrder>\n extends DaffCollectionFacade<DaffOrderStateRootSlice<T>, DaffOrderCollection['metadata']>\n implements DaffCollectionFacadeInterface<DaffOrderCollection['metadata']> {\n constructor(store: Store<DaffOrderStateRootSlice<T>>) {\n super(\n store,\n getDaffOrderCollectionSelectors(),\n );\n }\n}\n","import { createSingleInjectionToken } from '@daffodil/core';\nimport { daffTransformErrorToStateError } from '@daffodil/core/state';\n\nexport const {\n /**\n * Transforms `DaffError`s into `DaffStateError`s before they are serialized into state.\n * Can be used to further refine Daffodil errors into more specific app errors.\n */\n token: DAFF_ORDER_ERROR_MATCHER,\n /**\n * Provider function for {@link DAFF_ORDER_ERROR_MATCHER}.\n */\n provider: provideDaffOrderErrorMatcher,\n} = createSingleInjectionToken<typeof daffTransformErrorToStateError>(\n 'DAFF_ORDER_ERROR_MATCHER',\n { factory: () => daffTransformErrorToStateError },\n);\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Actions,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport {\n asyncScheduler,\n of,\n} from 'rxjs';\nimport {\n switchMap,\n map,\n catchError,\n throttleTime,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {\n daffCollectionBuildRequestFromMetadata,\n DaffError,\n} from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\nimport {\n DaffOrderServiceInterface,\n DaffOrderDriver,\n} from '@daffodil/order/driver';\n\nimport {\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n DaffOrderListFailure,\n DaffOrderListSuccess,\n} from '../actions/public_api';\nimport { DaffOrderCollectionFacade } from '../facades/public_api';\nimport { DAFF_ORDER_ERROR_MATCHER } from '../injection-tokens/public_api';\n\nexport const DAFF_ORDER_COLLECTION_ACTION_TYPES = [\n DaffOrderCollectionActionTypes.ChangeCurrentPageAction,\n DaffOrderCollectionActionTypes.ChangePageSizeAction,\n DaffOrderCollectionActionTypes.ChangeSortingAction,\n DaffOrderCollectionActionTypes.ChangeFilterAction,\n];\n\n@Injectable()\nexport class DaffOrderCollectionEffects<\n T extends DaffOrder = DaffOrder,\n> {\n constructor(\n private actions$: Actions,\n private collectionFacade: DaffOrderCollectionFacade,\n @Inject(DaffOrderDriver) private driver: DaffOrderServiceInterface<T>,\n @Inject(DAFF_ORDER_ERROR_MATCHER) private errorMatcher: ErrorTransformer,\n ) {}\n\n /**\n * Updates the order collection according to the action.\n * It will take the request metedata, including currently\n * applied filters, from state, form them into a request,\n * and pass that into the {@link DaffProductCollectionDriverCall} provided to this class.\n *\n * @param throttleWindow the amount of time to delay when apply/removing filters\n * in a sequence.\n */\n update$ = createEffect(() => (throttleWindow = 300, scheduler = asyncScheduler) => this.actions$.pipe(\n ofType<DaffOrderCollectionActions>(...DAFF_ORDER_COLLECTION_ACTION_TYPES),\n withLatestFrom(\n this.collectionFacade.metadata$,\n ),\n throttleTime(throttleWindow, scheduler, { leading: true, trailing: true }),\n switchMap(([action, metadata]) => this.driver.list(\n action.cartId,\n daffCollectionBuildRequestFromMetadata(metadata),\n ).pipe(\n map(resp => new DaffOrderListSuccess<T>(resp)),\n catchError((error: DaffError) => of(new DaffOrderListFailure(this.errorMatcher(error)))),\n )),\n ));\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Actions,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport { of } from 'rxjs';\nimport {\n switchMap,\n map,\n catchError,\n} from 'rxjs/operators';\n\nimport { DaffError } from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\nimport {\n DaffOrderServiceInterface,\n DaffOrderDriver,\n} from '@daffodil/order/driver';\n\nimport {\n DaffOrderActionTypes,\n DaffOrderLoad,\n DaffOrderLoadSuccess,\n DaffOrderLoadFailure,\n DaffOrderList,\n DaffOrderListSuccess,\n DaffOrderListFailure,\n} from '../actions/order.actions';\nimport { DAFF_ORDER_ERROR_MATCHER } from '../injection-tokens/public_api';\n\n@Injectable()\nexport class DaffOrderEffects<\n T extends DaffOrder = DaffOrder,\n> {\n constructor(\n private actions$: Actions,\n @Inject(DaffOrderDriver) private driver: DaffOrderServiceInterface<T>,\n @Inject(DAFF_ORDER_ERROR_MATCHER) private errorMatcher: ErrorTransformer,\n ) {}\n\n /**\n * An effect for the loading of an order.\n */\n\n get$ = createEffect(() => this.actions$.pipe(\n ofType(DaffOrderActionTypes.OrderLoadAction),\n switchMap((action: DaffOrderLoad<T>) =>\n this.driver.get(action.orderId, action.cartId).pipe(\n map(resp => new DaffOrderLoadSuccess<T>(resp)),\n catchError((error: DaffError) => of(new DaffOrderLoadFailure(this.errorMatcher(error)))),\n ),\n ),\n ));\n\n /**\n * An effect for the listing of orders.\n */\n\n list$ = createEffect(() => this.actions$.pipe(\n ofType(DaffOrderActionTypes.OrderListAction),\n switchMap((action: DaffOrderList) =>\n this.driver.list(action.cartId, action.request).pipe(\n map(resp => new DaffOrderListSuccess<T>(resp)),\n catchError((error: DaffError) => of(new DaffOrderListFailure(this.errorMatcher(error)))),\n ),\n ),\n ));\n}\n","import { inject } from '@angular/core';\nimport {\n ActionReducer,\n combineReducers,\n} from '@ngrx/store';\n\nimport { createSingleInjectionToken } from '@daffodil/core';\nimport { daffComposeReducers } from '@daffodil/core/state';\n\nimport { DAFF_ORDER_EXTRA_REDUCERS } from './extra.token';\nimport { daffOrderReducer } from '../order/order.reducer';\nimport { daffOrderEntitiesReducer } from '../order-entities/public_api';\nimport { DaffOrderReducersState } from '../order-reducers.interface';\nimport { daffOrdersCollectionReducer } from '../public_api';\n\nexport const {\n /**\n * An internal token to hold the Daffodil order reducers.\n * Includes the extra and standard reducers.\n *\n * @docs-private\n */\n token: DAFF_ORDER_REDUCERS,\n /**\n * Provider function for {@link DAFF_ORDER_REDUCERS}.\n */\n provider: provideDaffOrderReducers,\n} = createSingleInjectionToken<ActionReducer<DaffOrderReducersState>>(\n ' DAFF_ORDER_REDUCERS',\n {\n providedIn: 'any',\n factory: () => daffComposeReducers([\n combineReducers({\n order: daffOrderReducer,\n orders: daffOrderEntitiesReducer,\n collection: daffOrdersCollectionReducer,\n }),\n ...inject(DAFF_ORDER_EXTRA_REDUCERS),\n ]),\n },\n);\n","import { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport { DaffCartStateModule } from '@daffodil/cart/state';\n\nimport { DaffOrderCollectionEffects } from './effects/order-collection.effects';\nimport { DaffOrderEffects } from './effects/order.effects';\nimport { DAFF_ORDER_STORE_FEATURE_KEY } from './reducers/public_api';\nimport { DAFF_ORDER_REDUCERS } from './reducers/token/reducers.token';\n\n@NgModule({\n imports: [\n DaffCartStateModule,\n EffectsModule.forFeature([\n DaffOrderEffects,\n DaffOrderCollectionEffects,\n ]),\n StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, DAFF_ORDER_REDUCERS),\n ],\n})\nexport class DaffOrderStateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.DaffOrderCollectionFacade","i2"],"mappings":"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"}
|