@daffodil/order 0.58.4 → 0.58.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,7 +4,8 @@ import { StoreModule } from '@ngrx/store';
4
4
  import { DaffCartStateModule } from '@daffodil/cart/state';
5
5
  import { DaffOrderCollectionEffects } from './effects/order-collection.effects';
6
6
  import { DaffOrderEffects } from './effects/order.effects';
7
- import { DAFF_ORDER_STORE_FEATURE_KEY, daffOrderReducers, } from './reducers/public_api';
7
+ import { DAFF_ORDER_STORE_FEATURE_KEY } from './reducers/public_api';
8
+ import { DAFF_ORDER_REDUCERS } from './reducers/token/reducers.token';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@ngrx/effects";
10
11
  import * as i2 from "@ngrx/store";
@@ -18,7 +19,7 @@ export class DaffOrderStateModule {
18
19
  DaffOrderEffects,
19
20
  DaffOrderCollectionEffects,
20
21
  ]),
21
- StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, daffOrderReducers),
22
+ StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, DAFF_ORDER_REDUCERS),
22
23
  ]] });
23
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderStateModule, decorators: [{
24
25
  type: NgModule,
@@ -29,8 +30,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
29
30
  DaffOrderEffects,
30
31
  DaffOrderCollectionEffects,
31
32
  ]),
32
- StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, daffOrderReducers),
33
+ StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, DAFF_ORDER_REDUCERS),
33
34
  ],
34
35
  }]
35
36
  }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItc3RhdGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9vcmRlci9zdGF0ZS9zcmMvb3JkZXItc3RhdGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTNELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsaUJBQWlCLEdBQ2xCLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFZL0IsTUFBTSxPQUFPLG9CQUFvQjs7b0lBQXBCLG9CQUFvQjtxSUFBcEIsb0JBQW9CLFlBUjdCLG1CQUFtQjtxSUFRVixvQkFBb0IsWUFUdEI7WUFDUCxtQkFBbUI7WUFDbkIsYUFBYSxDQUFDLFVBQVUsQ0FBQztnQkFDdkIsZ0JBQWdCO2dCQUNoQiwwQkFBMEI7YUFDM0IsQ0FBQztZQUNGLFdBQVcsQ0FBQyxVQUFVLENBQUMsNEJBQTRCLEVBQUUsaUJBQWlCLENBQUM7U0FDeEU7MkZBRVUsb0JBQW9CO2tCQVZoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7d0JBQ25CLGFBQWEsQ0FBQyxVQUFVLENBQUM7NEJBQ3ZCLGdCQUFnQjs0QkFDaEIsMEJBQTBCO3lCQUMzQixDQUFDO3dCQUNGLFdBQVcsQ0FBQyxVQUFVLENBQUMsNEJBQTRCLEVBQUUsaUJBQWlCLENBQUM7cUJBQ3hFO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5pbXBvcnQgeyBEYWZmQ2FydFN0YXRlTW9kdWxlIH0gZnJvbSAnQGRhZmZvZGlsL2NhcnQvc3RhdGUnO1xuXG5pbXBvcnQgeyBEYWZmT3JkZXJDb2xsZWN0aW9uRWZmZWN0cyB9IGZyb20gJy4vZWZmZWN0cy9vcmRlci1jb2xsZWN0aW9uLmVmZmVjdHMnO1xuaW1wb3J0IHsgRGFmZk9yZGVyRWZmZWN0cyB9IGZyb20gJy4vZWZmZWN0cy9vcmRlci5lZmZlY3RzJztcbmltcG9ydCB7XG4gIERBRkZfT1JERVJfU1RPUkVfRkVBVFVSRV9LRVksXG4gIGRhZmZPcmRlclJlZHVjZXJzLFxufSBmcm9tICcuL3JlZHVjZXJzL3B1YmxpY19hcGknO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgRGFmZkNhcnRTdGF0ZU1vZHVsZSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW1xuICAgICAgRGFmZk9yZGVyRWZmZWN0cyxcbiAgICAgIERhZmZPcmRlckNvbGxlY3Rpb25FZmZlY3RzLFxuICAgIF0pLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoREFGRl9PUkRFUl9TVE9SRV9GRUFUVVJFX0tFWSwgZGFmZk9yZGVyUmVkdWNlcnMpLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYWZmT3JkZXJTdGF0ZU1vZHVsZSB7fVxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItc3RhdGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9vcmRlci9zdGF0ZS9zcmMvb3JkZXItc3RhdGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTNELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBWXRFLE1BQU0sT0FBTyxvQkFBb0I7O29JQUFwQixvQkFBb0I7cUlBQXBCLG9CQUFvQixZQVI3QixtQkFBbUI7cUlBUVYsb0JBQW9CLFlBVHRCO1lBQ1AsbUJBQW1CO1lBQ25CLGFBQWEsQ0FBQyxVQUFVLENBQUM7Z0JBQ3ZCLGdCQUFnQjtnQkFDaEIsMEJBQTBCO2FBQzNCLENBQUM7WUFDRixXQUFXLENBQUMsVUFBVSxDQUFDLDRCQUE0QixFQUFFLG1CQUFtQixDQUFDO1NBQzFFOzJGQUVVLG9CQUFvQjtrQkFWaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3dCQUNuQixhQUFhLENBQUMsVUFBVSxDQUFDOzRCQUN2QixnQkFBZ0I7NEJBQ2hCLDBCQUEwQjt5QkFDM0IsQ0FBQzt3QkFDRixXQUFXLENBQUMsVUFBVSxDQUFDLDRCQUE0QixFQUFFLG1CQUFtQixDQUFDO3FCQUMxRTtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZmZlY3RzTW9kdWxlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0IHsgRGFmZkNhcnRTdGF0ZU1vZHVsZSB9IGZyb20gJ0BkYWZmb2RpbC9jYXJ0L3N0YXRlJztcblxuaW1wb3J0IHsgRGFmZk9yZGVyQ29sbGVjdGlvbkVmZmVjdHMgfSBmcm9tICcuL2VmZmVjdHMvb3JkZXItY29sbGVjdGlvbi5lZmZlY3RzJztcbmltcG9ydCB7IERhZmZPcmRlckVmZmVjdHMgfSBmcm9tICcuL2VmZmVjdHMvb3JkZXIuZWZmZWN0cyc7XG5pbXBvcnQgeyBEQUZGX09SREVSX1NUT1JFX0ZFQVRVUkVfS0VZIH0gZnJvbSAnLi9yZWR1Y2Vycy9wdWJsaWNfYXBpJztcbmltcG9ydCB7IERBRkZfT1JERVJfUkVEVUNFUlMgfSBmcm9tICcuL3JlZHVjZXJzL3Rva2VuL3JlZHVjZXJzLnRva2VuJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIERhZmZDYXJ0U3RhdGVNb2R1bGUsXG4gICAgRWZmZWN0c01vZHVsZS5mb3JGZWF0dXJlKFtcbiAgICAgIERhZmZPcmRlckVmZmVjdHMsXG4gICAgICBEYWZmT3JkZXJDb2xsZWN0aW9uRWZmZWN0cyxcbiAgICBdKSxcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKERBRkZfT1JERVJfU1RPUkVfRkVBVFVSRV9LRVksIERBRkZfT1JERVJfUkVEVUNFUlMpLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYWZmT3JkZXJTdGF0ZU1vZHVsZSB7fVxuIl19
@@ -3,4 +3,5 @@ export { DAFF_ORDER_STORE_FEATURE_KEY } from './order-store-feature-key';
3
3
  export * from './order-entities/public_api';
4
4
  export * from './order/public_api';
5
5
  export * from './order-collection/public_api';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvb3JkZXIvc3RhdGUvc3JjL3JlZHVjZXJzL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFLckQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekUsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkYWZmT3JkZXJSZWR1Y2VycyB9IGZyb20gJy4vb3JkZXItcmVkdWNlcnMnO1xuZXhwb3J0IHtcbiAgRGFmZk9yZGVyUmVkdWNlcnNTdGF0ZSxcbiAgRGFmZk9yZGVyU3RhdGVSb290U2xpY2UsXG59IGZyb20gJy4vb3JkZXItcmVkdWNlcnMuaW50ZXJmYWNlJztcbmV4cG9ydCB7IERBRkZfT1JERVJfU1RPUkVfRkVBVFVSRV9LRVkgfSBmcm9tICcuL29yZGVyLXN0b3JlLWZlYXR1cmUta2V5JztcblxuZXhwb3J0ICogZnJvbSAnLi9vcmRlci1lbnRpdGllcy9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXIvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyLWNvbGxlY3Rpb24vcHVibGljX2FwaSc7XG4iXX0=
6
+ export * from './token/public_api';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvb3JkZXIvc3RhdGUvc3JjL3JlZHVjZXJzL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFLckQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekUsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRhZmZPcmRlclJlZHVjZXJzIH0gZnJvbSAnLi9vcmRlci1yZWR1Y2Vycyc7XG5leHBvcnQge1xuICBEYWZmT3JkZXJSZWR1Y2Vyc1N0YXRlLFxuICBEYWZmT3JkZXJTdGF0ZVJvb3RTbGljZSxcbn0gZnJvbSAnLi9vcmRlci1yZWR1Y2Vycy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgREFGRl9PUkRFUl9TVE9SRV9GRUFUVVJFX0tFWSB9IGZyb20gJy4vb3JkZXItc3RvcmUtZmVhdHVyZS1rZXknO1xuXG5leHBvcnQgKiBmcm9tICcuL29yZGVyLWVudGl0aWVzL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9vcmRlci9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXItY29sbGVjdGlvbi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { InjectionToken, } from '@angular/core';
2
+ /**
3
+ * A token to hold the injectable extra reducers.
4
+ *
5
+ * Prefer using {@link daffOrderProvideExtraReducers}.
6
+ */
7
+ export const DAFF_ORDER_EXTRA_REDUCERS = new InjectionToken('DAFF_ORDER_EXTRA_REDUCERS', {
8
+ factory: () => [],
9
+ providedIn: 'any',
10
+ });
11
+ /**
12
+ * Provides additional reducers that run after the standard Daffodil order reducers.
13
+ *
14
+ * ```ts
15
+ * providers: [
16
+ * ...daffOrderProvideExtraReducers(
17
+ * myReducer1,
18
+ * myReducer2
19
+ * )
20
+ * ]
21
+ * ```
22
+ */
23
+ export function daffOrderProvideExtraReducers(...reducers) {
24
+ return reducers.map(reducer => ({
25
+ provide: DAFF_ORDER_EXTRA_REDUCERS,
26
+ useValue: reducer,
27
+ multi: true,
28
+ }));
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL29yZGVyL3N0YXRlL3NyYy9yZWR1Y2Vycy90b2tlbi9leHRyYS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsY0FBYyxHQUVmLE1BQU0sZUFBZSxDQUFDO0FBS3ZCOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FDekQsMkJBQTJCLEVBQzNCO0lBQ0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7SUFDakIsVUFBVSxFQUFFLEtBQUs7Q0FDbEIsQ0FDRixDQUFDO0FBRUY7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsNkJBQTZCLENBQzNDLEdBQUcsUUFBaUQ7SUFFcEQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5QixPQUFPLEVBQUUseUJBQXlCO1FBQ2xDLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLEtBQUssRUFBRSxJQUFJO0tBQ1osQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIFByb3ZpZGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvblJlZHVjZXIgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IERhZmZPcmRlclJlZHVjZXJzU3RhdGUgfSBmcm9tICcuLi9vcmRlci1yZWR1Y2Vycy5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEEgdG9rZW4gdG8gaG9sZCB0aGUgaW5qZWN0YWJsZSBleHRyYSByZWR1Y2Vycy5cbiAqXG4gKiBQcmVmZXIgdXNpbmcge0BsaW5rIGRhZmZPcmRlclByb3ZpZGVFeHRyYVJlZHVjZXJzfS5cbiAqL1xuZXhwb3J0IGNvbnN0IERBRkZfT1JERVJfRVhUUkFfUkVEVUNFUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48QWN0aW9uUmVkdWNlcjxEYWZmT3JkZXJSZWR1Y2Vyc1N0YXRlPltdPihcbiAgJ0RBRkZfT1JERVJfRVhUUkFfUkVEVUNFUlMnLFxuICB7XG4gICAgZmFjdG9yeTogKCkgPT4gW10sXG4gICAgcHJvdmlkZWRJbjogJ2FueScsXG4gIH0sXG4pO1xuXG4vKipcbiAqIFByb3ZpZGVzIGFkZGl0aW9uYWwgcmVkdWNlcnMgdGhhdCBydW4gYWZ0ZXIgdGhlIHN0YW5kYXJkIERhZmZvZGlsIG9yZGVyIHJlZHVjZXJzLlxuICpcbiAqIGBgYHRzXG4gKiBwcm92aWRlcnM6IFtcbiAqICAgLi4uZGFmZk9yZGVyUHJvdmlkZUV4dHJhUmVkdWNlcnMoXG4gKiAgICAgbXlSZWR1Y2VyMSxcbiAqICAgICBteVJlZHVjZXIyXG4gKiAgIClcbiAqIF1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZGFmZk9yZGVyUHJvdmlkZUV4dHJhUmVkdWNlcnMoXG4gIC4uLnJlZHVjZXJzOiBBY3Rpb25SZWR1Y2VyPERhZmZPcmRlclJlZHVjZXJzU3RhdGU+W11cbik6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gcmVkdWNlcnMubWFwKHJlZHVjZXIgPT4gKHtcbiAgICBwcm92aWRlOiBEQUZGX09SREVSX0VYVFJBX1JFRFVDRVJTLFxuICAgIHVzZVZhbHVlOiByZWR1Y2VyLFxuICAgIG11bHRpOiB0cnVlLFxuICB9KSk7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export { daffOrderProvideExtraReducers, DAFF_ORDER_EXTRA_REDUCERS, } from './extra.token';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvb3JkZXIvc3RhdGUvc3JjL3JlZHVjZXJzL3Rva2VuL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDZCQUE2QixFQUM3Qix5QkFBeUIsR0FDMUIsTUFBTSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBkYWZmT3JkZXJQcm92aWRlRXh0cmFSZWR1Y2VycyxcbiAgREFGRl9PUkRFUl9FWFRSQV9SRURVQ0VSUyxcbn0gZnJvbSAnLi9leHRyYS50b2tlbic7XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { inject, InjectionToken, } from '@angular/core';
2
+ import { combineReducers, } from '@ngrx/store';
3
+ import { daffComposeReducers } from '@daffodil/core/state';
4
+ import { daffOrderEntitiesReducer } from '../order-entities/public_api';
5
+ import { daffOrderReducer } from '../order/order.reducer';
6
+ import { daffOrdersCollectionReducer } from '../public_api';
7
+ import { DAFF_ORDER_EXTRA_REDUCERS } from './extra.token';
8
+ /**
9
+ * An internal token to hold the Daffodil order reducers.
10
+ * Includes the extra and standard reducers.
11
+ *
12
+ * @docs-private
13
+ */
14
+ export const DAFF_ORDER_REDUCERS = new InjectionToken(' DAFF_ORDER_REDUCERS', {
15
+ providedIn: 'any',
16
+ factory: () => daffComposeReducers([
17
+ combineReducers({
18
+ order: daffOrderReducer,
19
+ orders: daffOrderEntitiesReducer,
20
+ collection: daffOrdersCollectionReducer,
21
+ }),
22
+ ...inject(DAFF_ORDER_EXTRA_REDUCERS),
23
+ ]),
24
+ });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlcnMudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL29yZGVyL3N0YXRlL3NyYy9yZWR1Y2Vycy90b2tlbi9yZWR1Y2Vycy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsTUFBTSxFQUNOLGNBQWMsR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsZUFBZSxHQUNoQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUkzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQ25ELHNCQUFzQixFQUN0QjtJQUNFLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztRQUNqQyxlQUFlLENBQUM7WUFDZCxLQUFLLEVBQUUsZ0JBQWdCO1lBQ3ZCLE1BQU0sRUFBRSx3QkFBd0I7WUFDaEMsVUFBVSxFQUFFLDJCQUEyQjtTQUN4QyxDQUFDO1FBQ0YsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUM7S0FDckMsQ0FBQztDQUNILENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGluamVjdCxcbiAgSW5qZWN0aW9uVG9rZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aW9uUmVkdWNlcixcbiAgY29tYmluZVJlZHVjZXJzLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IGRhZmZDb21wb3NlUmVkdWNlcnMgfSBmcm9tICdAZGFmZm9kaWwvY29yZS9zdGF0ZSc7XG4vLyB0aGVzZSB1bnVzZWQgaW1wb3J0cyBhcmUgYSB3b3JrYXJvdW5kXG5pbXBvcnQgeyBEYWZmT3JkZXIgfSBmcm9tICdAZGFmZm9kaWwvb3JkZXInO1xuXG5pbXBvcnQgeyBkYWZmT3JkZXJFbnRpdGllc1JlZHVjZXIgfSBmcm9tICcuLi9vcmRlci1lbnRpdGllcy9wdWJsaWNfYXBpJztcbmltcG9ydCB7IERhZmZPcmRlclJlZHVjZXJzU3RhdGUgfSBmcm9tICcuLi9vcmRlci1yZWR1Y2Vycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZGFmZk9yZGVyUmVkdWNlciB9IGZyb20gJy4uL29yZGVyL29yZGVyLnJlZHVjZXInO1xuaW1wb3J0IHsgZGFmZk9yZGVyc0NvbGxlY3Rpb25SZWR1Y2VyIH0gZnJvbSAnLi4vcHVibGljX2FwaSc7XG5pbXBvcnQgeyBEQUZGX09SREVSX0VYVFJBX1JFRFVDRVJTIH0gZnJvbSAnLi9leHRyYS50b2tlbic7XG5cbi8qKlxuICogQW4gaW50ZXJuYWwgdG9rZW4gdG8gaG9sZCB0aGUgRGFmZm9kaWwgb3JkZXIgcmVkdWNlcnMuXG4gKiBJbmNsdWRlcyB0aGUgZXh0cmEgYW5kIHN0YW5kYXJkIHJlZHVjZXJzLlxuICpcbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IERBRkZfT1JERVJfUkVEVUNFUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48QWN0aW9uUmVkdWNlcjxEYWZmT3JkZXJSZWR1Y2Vyc1N0YXRlPj4oXG4gICcgREFGRl9PUkRFUl9SRURVQ0VSUycsXG4gIHtcbiAgICBwcm92aWRlZEluOiAnYW55JyxcbiAgICBmYWN0b3J5OiAoKSA9PiBkYWZmQ29tcG9zZVJlZHVjZXJzKFtcbiAgICAgIGNvbWJpbmVSZWR1Y2Vycyh7XG4gICAgICAgIG9yZGVyOiBkYWZmT3JkZXJSZWR1Y2VyLFxuICAgICAgICBvcmRlcnM6IGRhZmZPcmRlckVudGl0aWVzUmVkdWNlcixcbiAgICAgICAgY29sbGVjdGlvbjogZGFmZk9yZGVyc0NvbGxlY3Rpb25SZWR1Y2VyLFxuICAgICAgfSksXG4gICAgICAuLi5pbmplY3QoREFGRl9PUkRFUl9FWFRSQV9SRURVQ0VSUyksXG4gICAgXSksXG4gIH0sXG4pO1xuIl19
@@ -1,12 +1,12 @@
1
1
  import { daffApplyRequestsToFilters, daffClearFilters, daffCollectionBuildRequestFromMetadata } from '@daffodil/core';
2
- import { daffCollectionReducerInitialState, getCollectionStateAdapter, daffOperationInitialState, daffOperationFailed, daffCompleteOperation, daffStartMutation, daffStartResolution, daffCollectionSelectorFactory, daffOperationStateSelectorFactory, DaffCollectionFacade } from '@daffodil/core/state';
2
+ import { daffCollectionReducerInitialState, getCollectionStateAdapter, daffOperationInitialState, daffOperationFailed, daffCompleteOperation, daffStartMutation, daffStartResolution, daffCollectionSelectorFactory, daffOperationStateSelectorFactory, DaffCollectionFacade, daffComposeReducers } from '@daffodil/core/state';
3
3
  import { createEntityAdapter } from '@ngrx/entity';
4
+ import * as i0 from '@angular/core';
5
+ import { InjectionToken, Injectable, Inject, inject, NgModule } from '@angular/core';
4
6
  import * as i1 from '@ngrx/store';
5
- import { createFeatureSelector, createSelector, defaultMemoize, select, StoreModule } from '@ngrx/store';
7
+ import { createFeatureSelector, createSelector, defaultMemoize, select, combineReducers, StoreModule } from '@ngrx/store';
6
8
  import { getDaffCartSelectors, DaffCartStateModule } from '@daffodil/cart/state';
7
9
  import { DaffOrderTotalTypeEnum, DAFF_ORDER_ERROR_MATCHER } from '@daffodil/order';
8
- import * as i0 from '@angular/core';
9
- import { Injectable, Inject, NgModule } from '@angular/core';
10
10
  import * as i1$1 from '@ngrx/effects';
11
11
  import { createEffect, ofType, EffectsModule } from '@ngrx/effects';
12
12
  import { asyncScheduler, of } from 'rxjs';
@@ -207,6 +207,35 @@ const daffOrderReducers = {
207
207
 
208
208
  const DAFF_ORDER_STORE_FEATURE_KEY = 'daffOrder';
209
209
 
210
+ /**
211
+ * A token to hold the injectable extra reducers.
212
+ *
213
+ * Prefer using {@link daffOrderProvideExtraReducers}.
214
+ */
215
+ const DAFF_ORDER_EXTRA_REDUCERS = new InjectionToken('DAFF_ORDER_EXTRA_REDUCERS', {
216
+ factory: () => [],
217
+ providedIn: 'any',
218
+ });
219
+ /**
220
+ * Provides additional reducers that run after the standard Daffodil order reducers.
221
+ *
222
+ * ```ts
223
+ * providers: [
224
+ * ...daffOrderProvideExtraReducers(
225
+ * myReducer1,
226
+ * myReducer2
227
+ * )
228
+ * ]
229
+ * ```
230
+ */
231
+ function daffOrderProvideExtraReducers(...reducers) {
232
+ return reducers.map(reducer => ({
233
+ provide: DAFF_ORDER_EXTRA_REDUCERS,
234
+ useValue: reducer,
235
+ multi: true,
236
+ }));
237
+ }
238
+
210
239
  const getDaffOrderReducersStateSelector = (() => {
211
240
  let cache;
212
241
  return () => cache = cache || {
@@ -498,6 +527,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
498
527
  }] }];
499
528
  } });
500
529
 
530
+ /**
531
+ * An internal token to hold the Daffodil order reducers.
532
+ * Includes the extra and standard reducers.
533
+ *
534
+ * @docs-private
535
+ */
536
+ const DAFF_ORDER_REDUCERS = new InjectionToken(' DAFF_ORDER_REDUCERS', {
537
+ providedIn: 'any',
538
+ factory: () => daffComposeReducers([
539
+ combineReducers({
540
+ order: daffOrderReducer,
541
+ orders: daffOrderEntitiesReducer,
542
+ collection: daffOrdersCollectionReducer,
543
+ }),
544
+ ...inject(DAFF_ORDER_EXTRA_REDUCERS),
545
+ ]),
546
+ });
547
+
501
548
  class DaffOrderStateModule {
502
549
  }
503
550
  /** @nocollapse */ DaffOrderStateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -508,7 +555,7 @@ class DaffOrderStateModule {
508
555
  DaffOrderEffects,
509
556
  DaffOrderCollectionEffects,
510
557
  ]),
511
- StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, daffOrderReducers),
558
+ StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, DAFF_ORDER_REDUCERS),
512
559
  ]] });
513
560
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderStateModule, decorators: [{
514
561
  type: NgModule,
@@ -519,7 +566,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
519
566
  DaffOrderEffects,
520
567
  DaffOrderCollectionEffects,
521
568
  ]),
522
- StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, daffOrderReducers),
569
+ StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, DAFF_ORDER_REDUCERS),
523
570
  ],
524
571
  }]
525
572
  }] });
@@ -528,5 +575,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
528
575
  * Generated bundle index. Do not edit.
529
576
  */
530
577
 
531
- export { DAFF_ORDER_STORE_FEATURE_KEY, DaffOrderActionTypes, DaffOrderCollectionActionTypes, DaffOrderCollectionChangeCurrentPage, DaffOrderCollectionChangeFilter, DaffOrderCollectionChangePageSize, DaffOrderCollectionChangeSortingOption, DaffOrderCollectionFacade, DaffOrderFacade, DaffOrderList, DaffOrderListFailure, DaffOrderListSuccess, DaffOrderLoad, DaffOrderLoadFailure, DaffOrderLoadSuccess, DaffOrderStateModule, daffGetOrderAdapter, daffOrderEntitiesInitialState, daffOrderEntitiesReducer, daffOrderInitialState, daffOrderReducer, daffOrderReducers, daffOrdersCollectionReducer, getDaffOrderCollectionSelectors, getDaffOrderSelectors };
578
+ export { DAFF_ORDER_EXTRA_REDUCERS, DAFF_ORDER_STORE_FEATURE_KEY, DaffOrderActionTypes, DaffOrderCollectionActionTypes, DaffOrderCollectionChangeCurrentPage, DaffOrderCollectionChangeFilter, DaffOrderCollectionChangePageSize, DaffOrderCollectionChangeSortingOption, DaffOrderCollectionFacade, DaffOrderFacade, DaffOrderList, DaffOrderListFailure, DaffOrderListSuccess, DaffOrderLoad, DaffOrderLoadFailure, DaffOrderLoadSuccess, DaffOrderStateModule, daffGetOrderAdapter, daffOrderEntitiesInitialState, daffOrderEntitiesReducer, daffOrderInitialState, daffOrderProvideExtraReducers, daffOrderReducer, daffOrderReducers, daffOrdersCollectionReducer, getDaffOrderCollectionSelectors, getDaffOrderSelectors };
532
579
  //# sourceMappingURL=daffodil-order-state.mjs.map
@@ -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-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/order-initial-state.ts","../../../libs/order/state/src/reducers/order/order.reducer.ts","../../../libs/order/state/src/reducers/order-reducers.ts","../../../libs/order/state/src/reducers/order-store-feature-key.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/effects/order-collection.effects.ts","../../../libs/order/state/src/effects/order.effects.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 */\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 */\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 */\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 */\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 = '[Order] Order Load Action',\n OrderLoadSuccessAction = '[Order] Order Load Success Action',\n OrderLoadFailureAction = '[Order] Order Load Failure Action',\n OrderListAction = '[Order] Order List Action',\n OrderListSuccessAction = '[Order] Order List Success Action',\n OrderListFailureAction = '[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 {\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 {\n DaffOrderActionTypes,\n DaffOrderActions,\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n} from '../../actions/public_api';\nimport { DaffOrderCollectionReducerState } from './state.interface';\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 {\n DaffOrderActions,\n DaffOrderActionTypes,\n} from '../../actions/order.actions';\nimport { daffGetOrderAdapter } from './order-entities-adapter';\nimport { daffOrderEntitiesInitialState } from './order-entities-initial-state';\nimport { DaffOrderEntityState } from './order-entities-state.interface';\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 { 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 {\n DaffOrderActions,\n DaffOrderActionTypes,\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n} from '../../actions/public_api';\nimport { daffOrderInitialState } from './order-initial-state';\nimport { DaffOrderReducerState } from './order-reducer.interface';\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 { ActionReducerMap } from '@ngrx/store';\n\nimport { daffOrdersCollectionReducer } from './order-collection/public_api';\nimport { daffOrderEntitiesReducer } from './order-entities/public_api';\nimport { DaffOrderReducersState } from './order-reducers.interface';\nimport { daffOrderReducer } from './order/order.reducer';\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 {\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 getDaffCartSelectors,\n DaffCartStateRootSlice,\n} from '@daffodil/cart/state';\nimport {\n DaffOrder,\n DaffOrderItem,\n DaffOrderTotal,\n DaffOrderTotalTypeEnum,\n} from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n daffGetOrderAdapter,\n DaffOrderEntityState,\n} from '../reducers/public_api';\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\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 * Selector for the most recently placed order (if any).\n */\n selectPlacedOrder: MemoizedSelector<DaffOrderStateRootSlice<T>, T>;\n /**\n * Selector for the existence of the most recently placed order.\n */\n selectHasPlacedOrder: MemoizedSelector<DaffOrderStateRootSlice<T>, boolean>;\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 const { selectCartOrderId } = getDaffCartSelectors();\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 selectPlacedOrder = createSelector(\n selectEntities,\n selectCartOrderId,\n (orders, orderId) => orderId ? selectOrder(orderId).projector(orders) : null,\n );\n\n const selectHasPlacedOrder = createSelector(\n selectPlacedOrder,\n placedOrder => !!placedOrder,\n );\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 selectPlacedOrder,\n selectHasPlacedOrder,\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 DaffStateError,\n} from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n DaffOrderReducerState,\n} from '../reducers/public_api';\nimport { getDaffOrderCollectionSelectors } from './order-collection/selectors';\nimport { getDaffOrderEntitySelectors } from './order-entities.selector';\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\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 { DaffOrderStateRootSlice } from '../../reducers/public_api';\nimport { DaffOrderEntitySelectors } from '../../selectors/order-entities.selector';\nimport { getDaffOrderSelectors } from '../../selectors/public_api';\nimport { DaffOrderFacadeInterface } from './order-facade.interface';\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 placedOrder$: Observable<T>;\n hasPlacedOrder$: Observable<boolean>;\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 selectPlacedOrder,\n selectHasPlacedOrder,\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.placedOrder$ = this.store.pipe(select(selectPlacedOrder));\n this.hasPlacedOrder$ = this.store.pipe(select(selectHasPlacedOrder));\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\t super(\n store,\n getDaffOrderCollectionSelectors(),\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 {\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 {\n DaffOrder,\n DAFF_ORDER_ERROR_MATCHER,\n} 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';\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 { DaffCart } from '@daffodil/cart';\nimport { DaffError } from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport {\n DaffOrder,\n DAFF_ORDER_ERROR_MATCHER,\n} 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';\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 { 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 {\n DAFF_ORDER_STORE_FEATURE_KEY,\n daffOrderReducers,\n} from './reducers/public_api';\n\n@NgModule({\n imports: [\n DaffCartStateModule,\n EffectsModule.forFeature([\n DaffOrderEffects,\n DaffOrderCollectionEffects,\n ]),\n StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, daffOrderReducers),\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-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/order-initial-state.ts","../../../libs/order/state/src/reducers/order/order.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/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 */\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 */\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 */\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 */\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 = '[Order] Order Load Action',\n OrderLoadSuccessAction = '[Order] Order Load Success Action',\n OrderLoadFailureAction = '[Order] Order Load Failure Action',\n OrderListAction = '[Order] Order List Action',\n OrderListSuccessAction = '[Order] Order List Success Action',\n OrderListFailureAction = '[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 {\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 {\n DaffOrderActionTypes,\n DaffOrderActions,\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n} from '../../actions/public_api';\nimport { DaffOrderCollectionReducerState } from './state.interface';\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 {\n DaffOrderActions,\n DaffOrderActionTypes,\n} from '../../actions/order.actions';\nimport { daffGetOrderAdapter } from './order-entities-adapter';\nimport { daffOrderEntitiesInitialState } from './order-entities-initial-state';\nimport { DaffOrderEntityState } from './order-entities-state.interface';\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 { 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 {\n DaffOrderActions,\n DaffOrderActionTypes,\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n} from '../../actions/public_api';\nimport { daffOrderInitialState } from './order-initial-state';\nimport { DaffOrderReducerState } from './order-reducer.interface';\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 { ActionReducerMap } from '@ngrx/store';\n\nimport { daffOrdersCollectionReducer } from './order-collection/public_api';\nimport { daffOrderEntitiesReducer } from './order-entities/public_api';\nimport { DaffOrderReducersState } from './order-reducers.interface';\nimport { daffOrderReducer } from './order/order.reducer';\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 {\n InjectionToken,\n Provider,\n} from '@angular/core';\nimport { ActionReducer } from '@ngrx/store';\n\nimport { DaffOrderReducersState } from '../order-reducers.interface';\n\n/**\n * A token to hold the injectable extra reducers.\n *\n * Prefer using {@link daffOrderProvideExtraReducers}.\n */\nexport const DAFF_ORDER_EXTRA_REDUCERS = new InjectionToken<ActionReducer<DaffOrderReducersState>[]>(\n 'DAFF_ORDER_EXTRA_REDUCERS',\n {\n factory: () => [],\n providedIn: 'any',\n },\n);\n\n/**\n * Provides additional reducers that run after the standard Daffodil order reducers.\n *\n * ```ts\n * providers: [\n * ...daffOrderProvideExtraReducers(\n * myReducer1,\n * myReducer2\n * )\n * ]\n * ```\n */\nexport function daffOrderProvideExtraReducers(\n ...reducers: ActionReducer<DaffOrderReducersState>[]\n): Provider[] {\n return reducers.map(reducer => ({\n provide: DAFF_ORDER_EXTRA_REDUCERS,\n useValue: reducer,\n multi: true,\n }));\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 getDaffCartSelectors,\n DaffCartStateRootSlice,\n} from '@daffodil/cart/state';\nimport {\n DaffOrder,\n DaffOrderItem,\n DaffOrderTotal,\n DaffOrderTotalTypeEnum,\n} from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n daffGetOrderAdapter,\n DaffOrderEntityState,\n} from '../reducers/public_api';\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\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 * Selector for the most recently placed order (if any).\n */\n selectPlacedOrder: MemoizedSelector<DaffOrderStateRootSlice<T>, T>;\n /**\n * Selector for the existence of the most recently placed order.\n */\n selectHasPlacedOrder: MemoizedSelector<DaffOrderStateRootSlice<T>, boolean>;\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 const { selectCartOrderId } = getDaffCartSelectors();\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 selectPlacedOrder = createSelector(\n selectEntities,\n selectCartOrderId,\n (orders, orderId) => orderId ? selectOrder(orderId).projector(orders) : null,\n );\n\n const selectHasPlacedOrder = createSelector(\n selectPlacedOrder,\n placedOrder => !!placedOrder,\n );\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 selectPlacedOrder,\n selectHasPlacedOrder,\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 DaffStateError,\n} from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n DaffOrderReducerState,\n} from '../reducers/public_api';\nimport { getDaffOrderCollectionSelectors } from './order-collection/selectors';\nimport { getDaffOrderEntitySelectors } from './order-entities.selector';\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\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 { DaffOrderStateRootSlice } from '../../reducers/public_api';\nimport { DaffOrderEntitySelectors } from '../../selectors/order-entities.selector';\nimport { getDaffOrderSelectors } from '../../selectors/public_api';\nimport { DaffOrderFacadeInterface } from './order-facade.interface';\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 placedOrder$: Observable<T>;\n hasPlacedOrder$: Observable<boolean>;\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 selectPlacedOrder,\n selectHasPlacedOrder,\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.placedOrder$ = this.store.pipe(select(selectPlacedOrder));\n this.hasPlacedOrder$ = this.store.pipe(select(selectHasPlacedOrder));\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\t super(\n store,\n getDaffOrderCollectionSelectors(),\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 {\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 {\n DaffOrder,\n DAFF_ORDER_ERROR_MATCHER,\n} 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';\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 { DaffCart } from '@daffodil/cart';\nimport { DaffError } from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport {\n DaffOrder,\n DAFF_ORDER_ERROR_MATCHER,\n} 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';\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 {\n inject,\n InjectionToken,\n} from '@angular/core';\nimport {\n ActionReducer,\n combineReducers,\n} from '@ngrx/store';\n\nimport { daffComposeReducers } from '@daffodil/core/state';\n// these unused imports are a workaround\nimport { DaffOrder } from '@daffodil/order';\n\nimport { daffOrderEntitiesReducer } from '../order-entities/public_api';\nimport { DaffOrderReducersState } from '../order-reducers.interface';\nimport { daffOrderReducer } from '../order/order.reducer';\nimport { daffOrdersCollectionReducer } from '../public_api';\nimport { DAFF_ORDER_EXTRA_REDUCERS } from './extra.token';\n\n/**\n * An internal token to hold the Daffodil order reducers.\n * Includes the extra and standard reducers.\n *\n * @docs-private\n */\nexport const DAFF_ORDER_REDUCERS = new InjectionToken<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,12 +1,12 @@
1
1
  import { daffApplyRequestsToFilters, daffClearFilters, daffCollectionBuildRequestFromMetadata } from '@daffodil/core';
2
- import { daffCollectionReducerInitialState, getCollectionStateAdapter, daffOperationInitialState, daffOperationFailed, daffCompleteOperation, daffStartMutation, daffStartResolution, daffCollectionSelectorFactory, daffOperationStateSelectorFactory, DaffCollectionFacade } from '@daffodil/core/state';
2
+ import { daffCollectionReducerInitialState, getCollectionStateAdapter, daffOperationInitialState, daffOperationFailed, daffCompleteOperation, daffStartMutation, daffStartResolution, daffCollectionSelectorFactory, daffOperationStateSelectorFactory, DaffCollectionFacade, daffComposeReducers } from '@daffodil/core/state';
3
3
  import { createEntityAdapter } from '@ngrx/entity';
4
+ import * as i0 from '@angular/core';
5
+ import { InjectionToken, Injectable, Inject, inject, NgModule } from '@angular/core';
4
6
  import * as i1 from '@ngrx/store';
5
- import { createFeatureSelector, createSelector, defaultMemoize, select, StoreModule } from '@ngrx/store';
7
+ import { createFeatureSelector, createSelector, defaultMemoize, select, combineReducers, StoreModule } from '@ngrx/store';
6
8
  import { getDaffCartSelectors, DaffCartStateModule } from '@daffodil/cart/state';
7
9
  import { DaffOrderTotalTypeEnum, DAFF_ORDER_ERROR_MATCHER } from '@daffodil/order';
8
- import * as i0 from '@angular/core';
9
- import { Injectable, Inject, NgModule } from '@angular/core';
10
10
  import * as i1$1 from '@ngrx/effects';
11
11
  import { createEffect, ofType, EffectsModule } from '@ngrx/effects';
12
12
  import { asyncScheduler, of } from 'rxjs';
@@ -207,6 +207,35 @@ const daffOrderReducers = {
207
207
 
208
208
  const DAFF_ORDER_STORE_FEATURE_KEY = 'daffOrder';
209
209
 
210
+ /**
211
+ * A token to hold the injectable extra reducers.
212
+ *
213
+ * Prefer using {@link daffOrderProvideExtraReducers}.
214
+ */
215
+ const DAFF_ORDER_EXTRA_REDUCERS = new InjectionToken('DAFF_ORDER_EXTRA_REDUCERS', {
216
+ factory: () => [],
217
+ providedIn: 'any',
218
+ });
219
+ /**
220
+ * Provides additional reducers that run after the standard Daffodil order reducers.
221
+ *
222
+ * ```ts
223
+ * providers: [
224
+ * ...daffOrderProvideExtraReducers(
225
+ * myReducer1,
226
+ * myReducer2
227
+ * )
228
+ * ]
229
+ * ```
230
+ */
231
+ function daffOrderProvideExtraReducers(...reducers) {
232
+ return reducers.map(reducer => ({
233
+ provide: DAFF_ORDER_EXTRA_REDUCERS,
234
+ useValue: reducer,
235
+ multi: true,
236
+ }));
237
+ }
238
+
210
239
  const getDaffOrderReducersStateSelector = (() => {
211
240
  let cache;
212
241
  return () => cache = cache || {
@@ -501,6 +530,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
501
530
  args: [DAFF_ORDER_ERROR_MATCHER]
502
531
  }] }]; } });
503
532
 
533
+ /**
534
+ * An internal token to hold the Daffodil order reducers.
535
+ * Includes the extra and standard reducers.
536
+ *
537
+ * @docs-private
538
+ */
539
+ const DAFF_ORDER_REDUCERS = new InjectionToken(' DAFF_ORDER_REDUCERS', {
540
+ providedIn: 'any',
541
+ factory: () => daffComposeReducers([
542
+ combineReducers({
543
+ order: daffOrderReducer,
544
+ orders: daffOrderEntitiesReducer,
545
+ collection: daffOrdersCollectionReducer,
546
+ }),
547
+ ...inject(DAFF_ORDER_EXTRA_REDUCERS),
548
+ ]),
549
+ });
550
+
504
551
  class DaffOrderStateModule {
505
552
  }
506
553
  /** @nocollapse */ DaffOrderStateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -511,7 +558,7 @@ class DaffOrderStateModule {
511
558
  DaffOrderEffects,
512
559
  DaffOrderCollectionEffects,
513
560
  ]),
514
- StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, daffOrderReducers),
561
+ StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, DAFF_ORDER_REDUCERS),
515
562
  ]] });
516
563
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderStateModule, decorators: [{
517
564
  type: NgModule,
@@ -522,7 +569,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
522
569
  DaffOrderEffects,
523
570
  DaffOrderCollectionEffects,
524
571
  ]),
525
- StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, daffOrderReducers),
572
+ StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, DAFF_ORDER_REDUCERS),
526
573
  ],
527
574
  }]
528
575
  }] });
@@ -531,5 +578,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
531
578
  * Generated bundle index. Do not edit.
532
579
  */
533
580
 
534
- export { DAFF_ORDER_STORE_FEATURE_KEY, DaffOrderActionTypes, DaffOrderCollectionActionTypes, DaffOrderCollectionChangeCurrentPage, DaffOrderCollectionChangeFilter, DaffOrderCollectionChangePageSize, DaffOrderCollectionChangeSortingOption, DaffOrderCollectionFacade, DaffOrderFacade, DaffOrderList, DaffOrderListFailure, DaffOrderListSuccess, DaffOrderLoad, DaffOrderLoadFailure, DaffOrderLoadSuccess, DaffOrderStateModule, daffGetOrderAdapter, daffOrderEntitiesInitialState, daffOrderEntitiesReducer, daffOrderInitialState, daffOrderReducer, daffOrderReducers, daffOrdersCollectionReducer, getDaffOrderCollectionSelectors, getDaffOrderSelectors };
581
+ export { DAFF_ORDER_EXTRA_REDUCERS, DAFF_ORDER_STORE_FEATURE_KEY, DaffOrderActionTypes, DaffOrderCollectionActionTypes, DaffOrderCollectionChangeCurrentPage, DaffOrderCollectionChangeFilter, DaffOrderCollectionChangePageSize, DaffOrderCollectionChangeSortingOption, DaffOrderCollectionFacade, DaffOrderFacade, DaffOrderList, DaffOrderListFailure, DaffOrderListSuccess, DaffOrderLoad, DaffOrderLoadFailure, DaffOrderLoadSuccess, DaffOrderStateModule, daffGetOrderAdapter, daffOrderEntitiesInitialState, daffOrderEntitiesReducer, daffOrderInitialState, daffOrderProvideExtraReducers, daffOrderReducer, daffOrderReducers, daffOrdersCollectionReducer, getDaffOrderCollectionSelectors, getDaffOrderSelectors };
535
582
  //# sourceMappingURL=daffodil-order-state.mjs.map
@@ -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-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/order-initial-state.ts","../../../libs/order/state/src/reducers/order/order.reducer.ts","../../../libs/order/state/src/reducers/order-reducers.ts","../../../libs/order/state/src/reducers/order-store-feature-key.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/effects/order-collection.effects.ts","../../../libs/order/state/src/effects/order.effects.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 */\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 */\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 */\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 */\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 = '[Order] Order Load Action',\n OrderLoadSuccessAction = '[Order] Order Load Success Action',\n OrderLoadFailureAction = '[Order] Order Load Failure Action',\n OrderListAction = '[Order] Order List Action',\n OrderListSuccessAction = '[Order] Order List Success Action',\n OrderListFailureAction = '[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 {\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 {\n DaffOrderActionTypes,\n DaffOrderActions,\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n} from '../../actions/public_api';\nimport { DaffOrderCollectionReducerState } from './state.interface';\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 {\n DaffOrderActions,\n DaffOrderActionTypes,\n} from '../../actions/order.actions';\nimport { daffGetOrderAdapter } from './order-entities-adapter';\nimport { daffOrderEntitiesInitialState } from './order-entities-initial-state';\nimport { DaffOrderEntityState } from './order-entities-state.interface';\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 { 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 {\n DaffOrderActions,\n DaffOrderActionTypes,\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n} from '../../actions/public_api';\nimport { daffOrderInitialState } from './order-initial-state';\nimport { DaffOrderReducerState } from './order-reducer.interface';\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 { ActionReducerMap } from '@ngrx/store';\n\nimport { daffOrdersCollectionReducer } from './order-collection/public_api';\nimport { daffOrderEntitiesReducer } from './order-entities/public_api';\nimport { DaffOrderReducersState } from './order-reducers.interface';\nimport { daffOrderReducer } from './order/order.reducer';\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 {\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 getDaffCartSelectors,\n DaffCartStateRootSlice,\n} from '@daffodil/cart/state';\nimport {\n DaffOrder,\n DaffOrderItem,\n DaffOrderTotal,\n DaffOrderTotalTypeEnum,\n} from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n daffGetOrderAdapter,\n DaffOrderEntityState,\n} from '../reducers/public_api';\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\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 * Selector for the most recently placed order (if any).\n */\n selectPlacedOrder: MemoizedSelector<DaffOrderStateRootSlice<T>, T>;\n /**\n * Selector for the existence of the most recently placed order.\n */\n selectHasPlacedOrder: MemoizedSelector<DaffOrderStateRootSlice<T>, boolean>;\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 const { selectCartOrderId } = getDaffCartSelectors();\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 selectPlacedOrder = createSelector(\n selectEntities,\n selectCartOrderId,\n (orders, orderId) => orderId ? selectOrder(orderId).projector(orders) : null,\n );\n\n const selectHasPlacedOrder = createSelector(\n selectPlacedOrder,\n placedOrder => !!placedOrder,\n );\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 selectPlacedOrder,\n selectHasPlacedOrder,\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 DaffStateError,\n} from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n DaffOrderReducerState,\n} from '../reducers/public_api';\nimport { getDaffOrderCollectionSelectors } from './order-collection/selectors';\nimport { getDaffOrderEntitySelectors } from './order-entities.selector';\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\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 { DaffOrderStateRootSlice } from '../../reducers/public_api';\nimport { DaffOrderEntitySelectors } from '../../selectors/order-entities.selector';\nimport { getDaffOrderSelectors } from '../../selectors/public_api';\nimport { DaffOrderFacadeInterface } from './order-facade.interface';\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 placedOrder$: Observable<T>;\n hasPlacedOrder$: Observable<boolean>;\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 selectPlacedOrder,\n selectHasPlacedOrder,\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.placedOrder$ = this.store.pipe(select(selectPlacedOrder));\n this.hasPlacedOrder$ = this.store.pipe(select(selectHasPlacedOrder));\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\t super(\n store,\n getDaffOrderCollectionSelectors(),\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 {\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 {\n DaffOrder,\n DAFF_ORDER_ERROR_MATCHER,\n} 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';\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 { DaffCart } from '@daffodil/cart';\nimport { DaffError } from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport {\n DaffOrder,\n DAFF_ORDER_ERROR_MATCHER,\n} 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';\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 { 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 {\n DAFF_ORDER_STORE_FEATURE_KEY,\n daffOrderReducers,\n} from './reducers/public_api';\n\n@NgModule({\n imports: [\n DaffCartStateModule,\n EffectsModule.forFeature([\n DaffOrderEffects,\n DaffOrderCollectionEffects,\n ]),\n StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, daffOrderReducers),\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-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/order-initial-state.ts","../../../libs/order/state/src/reducers/order/order.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/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 */\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 */\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 */\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 */\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 = '[Order] Order Load Action',\n OrderLoadSuccessAction = '[Order] Order Load Success Action',\n OrderLoadFailureAction = '[Order] Order Load Failure Action',\n OrderListAction = '[Order] Order List Action',\n OrderListSuccessAction = '[Order] Order List Success Action',\n OrderListFailureAction = '[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 {\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 {\n DaffOrderActionTypes,\n DaffOrderActions,\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n} from '../../actions/public_api';\nimport { DaffOrderCollectionReducerState } from './state.interface';\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 {\n DaffOrderActions,\n DaffOrderActionTypes,\n} from '../../actions/order.actions';\nimport { daffGetOrderAdapter } from './order-entities-adapter';\nimport { daffOrderEntitiesInitialState } from './order-entities-initial-state';\nimport { DaffOrderEntityState } from './order-entities-state.interface';\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 { 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 {\n DaffOrderActions,\n DaffOrderActionTypes,\n DaffOrderCollectionActions,\n DaffOrderCollectionActionTypes,\n} from '../../actions/public_api';\nimport { daffOrderInitialState } from './order-initial-state';\nimport { DaffOrderReducerState } from './order-reducer.interface';\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 { ActionReducerMap } from '@ngrx/store';\n\nimport { daffOrdersCollectionReducer } from './order-collection/public_api';\nimport { daffOrderEntitiesReducer } from './order-entities/public_api';\nimport { DaffOrderReducersState } from './order-reducers.interface';\nimport { daffOrderReducer } from './order/order.reducer';\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 {\n InjectionToken,\n Provider,\n} from '@angular/core';\nimport { ActionReducer } from '@ngrx/store';\n\nimport { DaffOrderReducersState } from '../order-reducers.interface';\n\n/**\n * A token to hold the injectable extra reducers.\n *\n * Prefer using {@link daffOrderProvideExtraReducers}.\n */\nexport const DAFF_ORDER_EXTRA_REDUCERS = new InjectionToken<ActionReducer<DaffOrderReducersState>[]>(\n 'DAFF_ORDER_EXTRA_REDUCERS',\n {\n factory: () => [],\n providedIn: 'any',\n },\n);\n\n/**\n * Provides additional reducers that run after the standard Daffodil order reducers.\n *\n * ```ts\n * providers: [\n * ...daffOrderProvideExtraReducers(\n * myReducer1,\n * myReducer2\n * )\n * ]\n * ```\n */\nexport function daffOrderProvideExtraReducers(\n ...reducers: ActionReducer<DaffOrderReducersState>[]\n): Provider[] {\n return reducers.map(reducer => ({\n provide: DAFF_ORDER_EXTRA_REDUCERS,\n useValue: reducer,\n multi: true,\n }));\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 getDaffCartSelectors,\n DaffCartStateRootSlice,\n} from '@daffodil/cart/state';\nimport {\n DaffOrder,\n DaffOrderItem,\n DaffOrderTotal,\n DaffOrderTotalTypeEnum,\n} from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n daffGetOrderAdapter,\n DaffOrderEntityState,\n} from '../reducers/public_api';\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\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 * Selector for the most recently placed order (if any).\n */\n selectPlacedOrder: MemoizedSelector<DaffOrderStateRootSlice<T>, T>;\n /**\n * Selector for the existence of the most recently placed order.\n */\n selectHasPlacedOrder: MemoizedSelector<DaffOrderStateRootSlice<T>, boolean>;\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 const { selectCartOrderId } = getDaffCartSelectors();\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 selectPlacedOrder = createSelector(\n selectEntities,\n selectCartOrderId,\n (orders, orderId) => orderId ? selectOrder(orderId).projector(orders) : null,\n );\n\n const selectHasPlacedOrder = createSelector(\n selectPlacedOrder,\n placedOrder => !!placedOrder,\n );\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 selectPlacedOrder,\n selectHasPlacedOrder,\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 DaffStateError,\n} from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n DaffOrderReducerState,\n} from '../reducers/public_api';\nimport { getDaffOrderCollectionSelectors } from './order-collection/selectors';\nimport { getDaffOrderEntitySelectors } from './order-entities.selector';\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\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 { DaffOrderStateRootSlice } from '../../reducers/public_api';\nimport { DaffOrderEntitySelectors } from '../../selectors/order-entities.selector';\nimport { getDaffOrderSelectors } from '../../selectors/public_api';\nimport { DaffOrderFacadeInterface } from './order-facade.interface';\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 placedOrder$: Observable<T>;\n hasPlacedOrder$: Observable<boolean>;\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 selectPlacedOrder,\n selectHasPlacedOrder,\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.placedOrder$ = this.store.pipe(select(selectPlacedOrder));\n this.hasPlacedOrder$ = this.store.pipe(select(selectHasPlacedOrder));\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\t super(\n store,\n getDaffOrderCollectionSelectors(),\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 {\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 {\n DaffOrder,\n DAFF_ORDER_ERROR_MATCHER,\n} 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';\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 { DaffCart } from '@daffodil/cart';\nimport { DaffError } from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport {\n DaffOrder,\n DAFF_ORDER_ERROR_MATCHER,\n} 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';\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 {\n inject,\n InjectionToken,\n} from '@angular/core';\nimport {\n ActionReducer,\n combineReducers,\n} from '@ngrx/store';\n\nimport { daffComposeReducers } from '@daffodil/core/state';\n// these unused imports are a workaround\nimport { DaffOrder } from '@daffodil/order';\n\nimport { daffOrderEntitiesReducer } from '../order-entities/public_api';\nimport { DaffOrderReducersState } from '../order-reducers.interface';\nimport { daffOrderReducer } from '../order/order.reducer';\nimport { daffOrdersCollectionReducer } from '../public_api';\nimport { DAFF_ORDER_EXTRA_REDUCERS } from './extra.token';\n\n/**\n * An internal token to hold the Daffodil order reducers.\n * Includes the extra and standard reducers.\n *\n * @docs-private\n */\nexport const DAFF_ORDER_REDUCERS = new InjectionToken<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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@daffodil/order",
3
- "version": "0.58.4",
3
+ "version": "0.58.5",
4
4
  "description": "A client-side Angular package for managing ecommerce orders agnostic to the ecommerce platform.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,10 +15,10 @@
15
15
  "peerDependencies": {
16
16
  "@angular/core": "^13.0.0",
17
17
  "@angular/common": "^13.0.0",
18
- "@daffodil/cart": "0.58.4",
19
- "@daffodil/core": "0.58.4",
20
- "@daffodil/geography": "0.58.4",
21
- "@daffodil/product": "0.58.4"
18
+ "@daffodil/cart": "0.58.5",
19
+ "@daffodil/core": "0.58.5",
20
+ "@daffodil/geography": "0.58.5",
21
+ "@daffodil/product": "0.58.5"
22
22
  },
23
23
  "module": "fesm2015/daffodil-order.mjs",
24
24
  "es2020": "fesm2020/daffodil-order.mjs",
@@ -4,3 +4,4 @@ export { DAFF_ORDER_STORE_FEATURE_KEY } from './order-store-feature-key';
4
4
  export * from './order-entities/public_api';
5
5
  export * from './order/public_api';
6
6
  export * from './order-collection/public_api';
7
+ export * from './token/public_api';
@@ -0,0 +1,22 @@
1
+ import { InjectionToken, Provider } from '@angular/core';
2
+ import { ActionReducer } from '@ngrx/store';
3
+ import { DaffOrderReducersState } from '../order-reducers.interface';
4
+ /**
5
+ * A token to hold the injectable extra reducers.
6
+ *
7
+ * Prefer using {@link daffOrderProvideExtraReducers}.
8
+ */
9
+ export declare const DAFF_ORDER_EXTRA_REDUCERS: InjectionToken<ActionReducer<DaffOrderReducersState<import("@daffodil/order").DaffOrder>, import("@ngrx/store").Action>[]>;
10
+ /**
11
+ * Provides additional reducers that run after the standard Daffodil order reducers.
12
+ *
13
+ * ```ts
14
+ * providers: [
15
+ * ...daffOrderProvideExtraReducers(
16
+ * myReducer1,
17
+ * myReducer2
18
+ * )
19
+ * ]
20
+ * ```
21
+ */
22
+ export declare function daffOrderProvideExtraReducers(...reducers: ActionReducer<DaffOrderReducersState>[]): Provider[];
@@ -0,0 +1 @@
1
+ export { daffOrderProvideExtraReducers, DAFF_ORDER_EXTRA_REDUCERS, } from './extra.token';
@@ -0,0 +1,11 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { ActionReducer } from '@ngrx/store';
3
+ import { DaffOrder } from '@daffodil/order';
4
+ import { DaffOrderReducersState } from '../order-reducers.interface';
5
+ /**
6
+ * An internal token to hold the Daffodil order reducers.
7
+ * Includes the extra and standard reducers.
8
+ *
9
+ * @docs-private
10
+ */
11
+ export declare const DAFF_ORDER_REDUCERS: InjectionToken<ActionReducer<DaffOrderReducersState<DaffOrder>, import("@ngrx/store").Action>>;