@daffodil/order 0.49.0 → 0.51.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (161) hide show
  1. package/driver/in-memory/backend/order.service.d.ts +1 -0
  2. package/driver/in-memory/drivers/order.service.d.ts +4 -2
  3. package/driver/interfaces/order-service.interface.d.ts +6 -5
  4. package/driver/magento/2.4.0/order.service.d.ts +2 -2
  5. package/driver/magento/2.4.1/models/responses/order-address.d.ts +1 -1
  6. package/driver/magento/2.4.1/models/responses/order-item.d.ts +1 -2
  7. package/driver/magento/2.4.1/models/responses/order-total.d.ts +1 -2
  8. package/driver/magento/2.4.1/order.service.d.ts +2 -2
  9. package/driver/magento/2.4.1/public_api.d.ts +1 -1
  10. package/driver/magento/2.4.1/queries/fragments/public_api.d.ts +2 -0
  11. package/driver/magento/2.4.1/testing/daffodil-order-driver-magento-2.4.1-testing.d.ts +5 -0
  12. package/driver/magento/2.4.1/testing/factories/bundle-order-item-option-value.factory.d.ts +17 -0
  13. package/driver/magento/2.4.1/testing/factories/bundle-order-item-option.factory.d.ts +15 -0
  14. package/driver/magento/2.4.1/testing/factories/bundle-order-item.factory.d.ts +17 -0
  15. package/driver/magento/2.4.1/testing/factories/order-address.factory.d.ts +26 -0
  16. package/driver/magento/2.4.1/testing/factories/order-credit-item.factory.d.ts +16 -0
  17. package/driver/magento/2.4.1/testing/factories/order-credit.factory.d.ts +18 -0
  18. package/driver/magento/2.4.1/testing/factories/order-invoice-item.factory.d.ts +15 -0
  19. package/driver/magento/2.4.1/testing/factories/order-invoice.factory.d.ts +18 -0
  20. package/driver/magento/2.4.1/testing/factories/order-item.factory.d.ts +31 -0
  21. package/driver/magento/2.4.1/testing/factories/order-payment.factory.d.ts +14 -0
  22. package/driver/magento/2.4.1/testing/factories/order-shipment-item.factory.d.ts +15 -0
  23. package/driver/magento/2.4.1/testing/factories/order-shipment-tracking.factory.d.ts +14 -0
  24. package/driver/magento/2.4.1/testing/factories/order-shipment.factory.d.ts +20 -0
  25. package/driver/magento/2.4.1/testing/factories/order-total.factory.d.ts +22 -0
  26. package/driver/magento/2.4.1/testing/factories/order.factory.d.ts +41 -0
  27. package/driver/magento/2.4.1/testing/factories/public_api.d.ts +15 -0
  28. package/driver/magento/2.4.1/testing/index.d.ts +1 -0
  29. package/driver/magento/2.4.1/testing/package.json +10 -0
  30. package/driver/magento/2.4.1/testing/public_api.d.ts +1 -0
  31. package/driver/magento/2.4.1/transforms/responses/order.d.ts +39 -2
  32. package/driver/testing/drivers/order.service.d.ts +2 -2
  33. package/esm2020/driver/in-memory/backend/order.service.mjs +51 -8
  34. package/esm2020/driver/in-memory/drivers/order.service.mjs +3 -3
  35. package/esm2020/driver/interfaces/order-service.interface.mjs +1 -1
  36. package/esm2020/driver/magento/2.4.0/order.service.mjs +23 -8
  37. package/esm2020/driver/magento/2.4.0/transforms/responses/order.mjs +2 -1
  38. package/esm2020/driver/magento/2.4.1/models/responses/order-address.mjs +1 -1
  39. package/esm2020/driver/magento/2.4.1/models/responses/order-item.mjs +1 -1
  40. package/esm2020/driver/magento/2.4.1/models/responses/order-total.mjs +1 -1
  41. package/esm2020/driver/magento/2.4.1/order.service.mjs +23 -8
  42. package/esm2020/driver/magento/2.4.1/public_api.mjs +2 -2
  43. package/esm2020/driver/magento/2.4.1/queries/fragments/order-address.mjs +2 -2
  44. package/esm2020/driver/magento/2.4.1/queries/fragments/public_api.mjs +3 -1
  45. package/esm2020/driver/magento/2.4.1/testing/daffodil-order-driver-magento-2.4.1-testing.mjs +5 -0
  46. package/esm2020/driver/magento/2.4.1/testing/factories/bundle-order-item-option-value.factory.mjs +29 -0
  47. package/esm2020/driver/magento/2.4.1/testing/factories/bundle-order-item-option.factory.mjs +27 -0
  48. package/esm2020/driver/magento/2.4.1/testing/factories/bundle-order-item.factory.mjs +32 -0
  49. package/esm2020/driver/magento/2.4.1/testing/factories/order-address.factory.mjs +38 -0
  50. package/esm2020/driver/magento/2.4.1/testing/factories/order-credit-item.factory.mjs +29 -0
  51. package/esm2020/driver/magento/2.4.1/testing/factories/order-credit.factory.mjs +32 -0
  52. package/esm2020/driver/magento/2.4.1/testing/factories/order-invoice-item.factory.mjs +28 -0
  53. package/esm2020/driver/magento/2.4.1/testing/factories/order-invoice.factory.mjs +32 -0
  54. package/esm2020/driver/magento/2.4.1/testing/factories/order-item.factory.mjs +45 -0
  55. package/esm2020/driver/magento/2.4.1/testing/factories/order-payment.factory.mjs +25 -0
  56. package/esm2020/driver/magento/2.4.1/testing/factories/order-shipment-item.factory.mjs +28 -0
  57. package/esm2020/driver/magento/2.4.1/testing/factories/order-shipment-tracking.factory.mjs +27 -0
  58. package/esm2020/driver/magento/2.4.1/testing/factories/order-shipment.factory.mjs +38 -0
  59. package/esm2020/driver/magento/2.4.1/testing/factories/order-total.factory.mjs +38 -0
  60. package/esm2020/driver/magento/2.4.1/testing/factories/order.factory.mjs +60 -0
  61. package/esm2020/driver/magento/2.4.1/testing/factories/public_api.mjs +16 -0
  62. package/esm2020/driver/magento/2.4.1/testing/index.mjs +2 -0
  63. package/esm2020/driver/magento/2.4.1/testing/public_api.mjs +2 -0
  64. package/esm2020/driver/magento/2.4.1/transforms/responses/order.mjs +45 -44
  65. package/esm2020/driver/testing/drivers/order.service.mjs +20 -3
  66. package/esm2020/models/order-collection.type.mjs +2 -0
  67. package/esm2020/models/public_api.mjs +1 -1
  68. package/esm2020/state/actions/order-collection.actions.mjs +51 -0
  69. package/esm2020/state/actions/order.actions.mjs +4 -3
  70. package/esm2020/state/actions/public_api.mjs +3 -0
  71. package/esm2020/state/effects/order-collection.effects.mjs +48 -0
  72. package/esm2020/state/effects/order.effects.mjs +2 -2
  73. package/esm2020/state/facades/collection/facade.mjs +23 -0
  74. package/esm2020/state/facades/order/order.facade.mjs +3 -3
  75. package/esm2020/state/facades/public_api.mjs +2 -1
  76. package/esm2020/state/order-state.module.mjs +4 -1
  77. package/esm2020/state/public_api.mjs +2 -2
  78. package/esm2020/state/reducers/order/order.reducer.mjs +6 -2
  79. package/esm2020/state/reducers/order-collection/public_api.mjs +2 -0
  80. package/esm2020/state/reducers/order-collection/reducer.mjs +28 -0
  81. package/esm2020/state/reducers/order-collection/state.interface.mjs +2 -0
  82. package/esm2020/state/reducers/order-entities/order-entities.reducer.mjs +2 -2
  83. package/esm2020/state/reducers/order-reducers.interface.mjs +1 -1
  84. package/esm2020/state/reducers/order-reducers.mjs +3 -1
  85. package/esm2020/state/reducers/public_api.mjs +2 -1
  86. package/esm2020/state/selectors/order-all.selector.mjs +1 -1
  87. package/esm2020/state/selectors/order-collection/selectors.mjs +10 -0
  88. package/esm2020/state/selectors/order.selector.mjs +7 -1
  89. package/esm2020/state/selectors/public_api.mjs +2 -1
  90. package/esm2020/state/testing/order-testing.module.mjs +5 -2
  91. package/esm2020/testing/factories/order-collection.factory.mjs +43 -0
  92. package/esm2020/testing/factories/order-invoice.factory.mjs +28 -12
  93. package/esm2020/testing/factories/order-item.factory.mjs +1 -1
  94. package/esm2020/testing/factories/order-shipment-item.factory.mjs +10 -7
  95. package/esm2020/testing/factories/order-shipment.factory.mjs +20 -8
  96. package/esm2020/testing/factories/order-shipping-rate.factory.mjs +1 -1
  97. package/esm2020/testing/factories/order.factory.mjs +66 -15
  98. package/esm2020/testing/factories/public_api.mjs +15 -14
  99. package/fesm2015/daffodil-order-driver-in-memory.mjs +52 -9
  100. package/fesm2015/daffodil-order-driver-in-memory.mjs.map +1 -1
  101. package/fesm2015/daffodil-order-driver-magento-2.4.0.mjs +23 -7
  102. package/fesm2015/daffodil-order-driver-magento-2.4.0.mjs.map +1 -1
  103. package/fesm2015/daffodil-order-driver-magento-2.4.1-testing.mjs +415 -0
  104. package/fesm2015/daffodil-order-driver-magento-2.4.1-testing.mjs.map +1 -0
  105. package/fesm2015/daffodil-order-driver-magento-2.4.1.mjs +68 -53
  106. package/fesm2015/daffodil-order-driver-magento-2.4.1.mjs.map +1 -1
  107. package/fesm2015/daffodil-order-driver-testing.mjs +19 -2
  108. package/fesm2015/daffodil-order-driver-testing.mjs.map +1 -1
  109. package/fesm2015/daffodil-order-driver.mjs.map +1 -1
  110. package/fesm2015/daffodil-order-state-testing.mjs +4 -1
  111. package/fesm2015/daffodil-order-state-testing.mjs.map +1 -1
  112. package/fesm2015/daffodil-order-state.mjs +161 -9
  113. package/fesm2015/daffodil-order-state.mjs.map +1 -1
  114. package/fesm2015/daffodil-order-testing.mjs +225 -138
  115. package/fesm2015/daffodil-order-testing.mjs.map +1 -1
  116. package/fesm2020/daffodil-order-driver-in-memory.mjs +52 -9
  117. package/fesm2020/daffodil-order-driver-in-memory.mjs.map +1 -1
  118. package/fesm2020/daffodil-order-driver-magento-2.4.0.mjs +23 -7
  119. package/fesm2020/daffodil-order-driver-magento-2.4.0.mjs.map +1 -1
  120. package/fesm2020/daffodil-order-driver-magento-2.4.1-testing.mjs +415 -0
  121. package/fesm2020/daffodil-order-driver-magento-2.4.1-testing.mjs.map +1 -0
  122. package/fesm2020/daffodil-order-driver-magento-2.4.1.mjs +68 -53
  123. package/fesm2020/daffodil-order-driver-magento-2.4.1.mjs.map +1 -1
  124. package/fesm2020/daffodil-order-driver-testing.mjs +19 -2
  125. package/fesm2020/daffodil-order-driver-testing.mjs.map +1 -1
  126. package/fesm2020/daffodil-order-driver.mjs.map +1 -1
  127. package/fesm2020/daffodil-order-state-testing.mjs +4 -1
  128. package/fesm2020/daffodil-order-state-testing.mjs.map +1 -1
  129. package/fesm2020/daffodil-order-state.mjs +159 -9
  130. package/fesm2020/daffodil-order-state.mjs.map +1 -1
  131. package/fesm2020/daffodil-order-testing.mjs +206 -119
  132. package/fesm2020/daffodil-order-testing.mjs.map +1 -1
  133. package/models/order-collection.type.d.ts +3 -0
  134. package/models/public_api.d.ts +1 -0
  135. package/package.json +13 -5
  136. package/state/actions/order-collection.actions.d.ts +55 -0
  137. package/state/actions/order.actions.d.ts +12 -10
  138. package/state/actions/public_api.d.ts +2 -0
  139. package/state/effects/order-collection.effects.d.ts +27 -0
  140. package/state/effects/order.effects.d.ts +3 -4
  141. package/state/facades/collection/facade.d.ts +13 -0
  142. package/state/facades/public_api.d.ts +1 -0
  143. package/state/public_api.d.ts +1 -1
  144. package/state/reducers/order/order.reducer.d.ts +2 -2
  145. package/state/reducers/order-collection/public_api.d.ts +2 -0
  146. package/state/reducers/order-collection/reducer.d.ts +7 -0
  147. package/state/reducers/order-collection/state.interface.d.ts +5 -0
  148. package/state/reducers/order-reducers.interface.d.ts +2 -0
  149. package/state/reducers/public_api.d.ts +1 -0
  150. package/state/selectors/order-all.selector.d.ts +1 -1
  151. package/state/selectors/order-collection/selectors.d.ts +5 -0
  152. package/state/selectors/order.selector.d.ts +3 -2
  153. package/state/selectors/public_api.d.ts +1 -0
  154. package/testing/factories/order-collection.factory.d.ts +23 -0
  155. package/testing/factories/order-invoice.factory.d.ts +18 -7
  156. package/testing/factories/order-shipment-item.factory.d.ts +5 -2
  157. package/testing/factories/order-shipment.factory.d.ts +11 -4
  158. package/testing/factories/order.factory.d.ts +27 -11
  159. package/testing/factories/public_api.d.ts +14 -13
  160. package/driver/magento/2.4.1/models/responses/discount.d.ts +0 -6
  161. package/esm2020/driver/magento/2.4.1/models/responses/discount.mjs +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-order-driver.mjs","sources":["../../../libs/order/driver/src/interfaces/order-service.interface.ts","../../../libs/order/driver/src/errors/invalid-api-response.ts","../../../libs/order/driver/src/errors/order-not-found.ts","../../../libs/order/driver/src/daffodil-order-driver.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { DaffCart } from '@daffodil/cart';\nimport { DaffOrder } from '@daffodil/order';\n\nexport const DaffOrderDriver = new InjectionToken<DaffOrderServiceInterface>('DaffOrderDriver');\n\n/**\n * Query order objects accessible by the logged-in user.\n */\nexport interface DaffOrderServiceInterface<\n T extends DaffOrder = DaffOrder,\n V extends DaffCart = DaffCart\n> {\n /**\n * Get an order object with the specified order ID.\n */\n get(orderId: T['id'], cartId?: V['id']): Observable<T>;\n\n /**\n * List all order objects for the logged-in user.\n */\n list(cartId?: V['id']): Observable<T[]>;\n}\n","import {\n DaffError,\n DaffInheritableError,\n} from '@daffodil/core';\n\nexport class DaffOrderInvalidAPIResponseError extends DaffInheritableError implements DaffError {\n public readonly code: string = 'DAFF_ORDER_INVALID_API_RESPONSE';\n\n constructor(public message: string) {\n super(message);\n }\n}\n","import {\n DaffError,\n DaffInheritableError,\n} from '@daffodil/core';\n\nexport class DaffOrderNotFoundError extends DaffInheritableError implements DaffError {\n public readonly code: string = 'DAFF_ORDER_NOT_FOUND';\n\n constructor(public message: string) {\n super(message);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAMa,eAAe,GAAG,IAAI,cAAc,CAA4B,iBAAiB;;ACDxF,MAAO,gCAAiC,SAAQ,oBAAoB,CAAA;AAGxE,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;AADE,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AAFlB,QAAA,IAAI,CAAA,IAAA,GAAW,iCAAiC,CAAC;KAIhE;AACF;;ACNK,MAAO,sBAAuB,SAAQ,oBAAoB,CAAA;AAG9D,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;AADE,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AAFlB,QAAA,IAAI,CAAA,IAAA,GAAW,sBAAsB,CAAC;KAIrD;AACF;;ACXD;;AAEG;;;;"}
1
+ {"version":3,"file":"daffodil-order-driver.mjs","sources":["../../../libs/order/driver/src/interfaces/order-service.interface.ts","../../../libs/order/driver/src/errors/invalid-api-response.ts","../../../libs/order/driver/src/errors/order-not-found.ts","../../../libs/order/driver/src/daffodil-order-driver.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { DaffCart } from '@daffodil/cart';\nimport { DaffCollectionRequest } from '@daffodil/core';\nimport {\n DaffOrder,\n DaffOrderCollection,\n} from '@daffodil/order';\n\nexport const DaffOrderDriver = new InjectionToken<DaffOrderServiceInterface>('DaffOrderDriver');\n\n/**\n * Query order objects accessible by the logged-in user.\n */\nexport interface DaffOrderServiceInterface<\n T extends DaffOrder = DaffOrder,\n> {\n /**\n * Get an order object with the specified order ID.\n */\n get(orderId: T['id'], cartId?: DaffCart['id']): Observable<T>;\n\n /**\n * List all order objects for the logged-in user.\n */\n list(cartId?: DaffCart['id'], request?: DaffCollectionRequest): Observable<DaffOrderCollection<T>>;\n}\n","import {\n DaffError,\n DaffInheritableError,\n} from '@daffodil/core';\n\nexport class DaffOrderInvalidAPIResponseError extends DaffInheritableError implements DaffError {\n public readonly code: string = 'DAFF_ORDER_INVALID_API_RESPONSE';\n\n constructor(public message: string) {\n super(message);\n }\n}\n","import {\n DaffError,\n DaffInheritableError,\n} from '@daffodil/core';\n\nexport class DaffOrderNotFoundError extends DaffInheritableError implements DaffError {\n public readonly code: string = 'DAFF_ORDER_NOT_FOUND';\n\n constructor(public message: string) {\n super(message);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAUa,eAAe,GAAG,IAAI,cAAc,CAA4B,iBAAiB;;ACLxF,MAAO,gCAAiC,SAAQ,oBAAoB,CAAA;AAGxE,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;AADE,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AAFlB,QAAA,IAAI,CAAA,IAAA,GAAW,iCAAiC,CAAC;KAIhE;AACF;;ACNK,MAAO,sBAAuB,SAAQ,oBAAoB,CAAA;AAG9D,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;AADE,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AAFlB,QAAA,IAAI,CAAA,IAAA,GAAW,sBAAsB,CAAC;KAIrD;AACF;;ACXD;;AAEG;;;;"}
@@ -1,7 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, NgModule } from '@angular/core';
3
3
  import { BehaviorSubject } from 'rxjs';
4
- import { DaffOrderFacade } from '@daffodil/order/state';
4
+ import { MockDaffCollectionFacade } from '@daffodil/core/state/testing';
5
+ import { DaffOrderFacade, DaffOrderCollectionFacade } from '@daffodil/order/state';
5
6
 
6
7
  /**
7
8
  * @inheritdoc
@@ -87,12 +88,14 @@ class DaffOrderTestingModule {
87
88
  /** @nocollapse */ DaffOrderTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderTestingModule });
88
89
  /** @nocollapse */ DaffOrderTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderTestingModule, providers: [
89
90
  { provide: DaffOrderFacade, useExisting: MockDaffOrderFacade },
91
+ { provide: DaffOrderCollectionFacade, useExisting: MockDaffCollectionFacade },
90
92
  ] });
91
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderTestingModule, decorators: [{
92
94
  type: NgModule,
93
95
  args: [{
94
96
  providers: [
95
97
  { provide: DaffOrderFacade, useExisting: MockDaffOrderFacade },
98
+ { provide: DaffOrderCollectionFacade, useExisting: MockDaffCollectionFacade },
96
99
  ],
97
100
  }]
98
101
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-order-state-testing.mjs","sources":["../../../libs/order/state/testing/src/mock-order-facade.ts","../../../libs/order/state/testing/src/order-testing.module.ts","../../../libs/order/state/testing/src/daffodil-order-state-testing.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Dictionary } from '@ngrx/entity';\nimport { Action } from '@ngrx/store';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { DaffStateError } from '@daffodil/core/state';\nimport {\n DaffOrder,\n DaffOrderTotal,\n} from '@daffodil/order';\nimport { DaffOrderFacadeInterface } from '@daffodil/order/state';\n\n/**\n * @inheritdoc\n */\n@Injectable({ providedIn: 'root' })\nexport class MockDaffOrderFacade implements DaffOrderFacadeInterface {\n loading$: BehaviorSubject<boolean> = new BehaviorSubject(null);\n errors$: BehaviorSubject<DaffStateError[]> = new BehaviorSubject([]);\n\n orders$: BehaviorSubject<DaffOrder[]> = new BehaviorSubject([]);\n orderIds$: BehaviorSubject<DaffOrder['id'][]> = new BehaviorSubject([]);\n orderCount$: BehaviorSubject<number> = new BehaviorSubject(null);\n orderEntities$: BehaviorSubject<Dictionary<DaffOrder>> = new BehaviorSubject({});\n\n placedOrder$: BehaviorSubject<DaffOrder> = new BehaviorSubject(null);\n hasPlacedOrder$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n getOrder$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder> {\n return new BehaviorSubject(null);\n }\n\n getTotals$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['totals']> {\n return new BehaviorSubject([]);\n }\n\n getAppliedCodes$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['applied_codes']> {\n return new BehaviorSubject([]);\n }\n\n getItems$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['items']> {\n return new BehaviorSubject([]);\n }\n\n getBillingAddresses$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['billing_addresses']> {\n return new BehaviorSubject([]);\n }\n\n getShippingAddresses$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['shipping_addresses']> {\n return new BehaviorSubject([]);\n }\n\n getShipments$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['shipments']> {\n return new BehaviorSubject([]);\n }\n\n getPayment$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['payment']> {\n return new BehaviorSubject(null);\n }\n\n getInvoices$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['invoices']> {\n return new BehaviorSubject([]);\n }\n\n getCredits$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['credits']> {\n return new BehaviorSubject([]);\n }\n getGrandTotal$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrderTotal> {\n return new BehaviorSubject(null);\n };\n getSubtotal$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrderTotal> {\n return new BehaviorSubject(null);\n };\n getShippingTotal$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrderTotal> {\n return new BehaviorSubject(null);\n };\n getDiscountTotal$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrderTotal> {\n return new BehaviorSubject(null);\n };\n hasDiscount$(orderId: DaffOrder['id']): BehaviorSubject<boolean> {\n return new BehaviorSubject(false);\n };\n getTaxTotal$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrderTotal> {\n return new BehaviorSubject(null);\n };\n\n dispatch(action: Action) {};\n}\n","import { NgModule } from '@angular/core';\n\nimport { DaffOrderFacade } from '@daffodil/order/state';\n\nimport { MockDaffOrderFacade } from './mock-order-facade';\n\n@NgModule({\n providers: [\n { provide: DaffOrderFacade, useExisting: MockDaffOrderFacade },\n ],\n})\nexport class DaffOrderTestingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-order-state-testing.mjs","sources":["../../../libs/order/state/testing/src/mock-order-facade.ts","../../../libs/order/state/testing/src/order-testing.module.ts","../../../libs/order/state/testing/src/daffodil-order-state-testing.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Dictionary } from '@ngrx/entity';\nimport { Action } from '@ngrx/store';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { DaffStateError } from '@daffodil/core/state';\nimport {\n DaffOrder,\n DaffOrderTotal,\n} from '@daffodil/order';\nimport { DaffOrderFacadeInterface } from '@daffodil/order/state';\n\n/**\n * @inheritdoc\n */\n@Injectable({ providedIn: 'root' })\nexport class MockDaffOrderFacade implements DaffOrderFacadeInterface {\n loading$: BehaviorSubject<boolean> = new BehaviorSubject(null);\n errors$: BehaviorSubject<DaffStateError[]> = new BehaviorSubject([]);\n\n orders$: BehaviorSubject<DaffOrder[]> = new BehaviorSubject([]);\n orderIds$: BehaviorSubject<DaffOrder['id'][]> = new BehaviorSubject([]);\n orderCount$: BehaviorSubject<number> = new BehaviorSubject(null);\n orderEntities$: BehaviorSubject<Dictionary<DaffOrder>> = new BehaviorSubject({});\n\n placedOrder$: BehaviorSubject<DaffOrder> = new BehaviorSubject(null);\n hasPlacedOrder$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n getOrder$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder> {\n return new BehaviorSubject(null);\n }\n\n getTotals$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['totals']> {\n return new BehaviorSubject([]);\n }\n\n getAppliedCodes$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['applied_codes']> {\n return new BehaviorSubject([]);\n }\n\n getItems$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['items']> {\n return new BehaviorSubject([]);\n }\n\n getBillingAddresses$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['billing_addresses']> {\n return new BehaviorSubject([]);\n }\n\n getShippingAddresses$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['shipping_addresses']> {\n return new BehaviorSubject([]);\n }\n\n getShipments$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['shipments']> {\n return new BehaviorSubject([]);\n }\n\n getPayment$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['payment']> {\n return new BehaviorSubject(null);\n }\n\n getInvoices$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['invoices']> {\n return new BehaviorSubject([]);\n }\n\n getCredits$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrder['credits']> {\n return new BehaviorSubject([]);\n }\n getGrandTotal$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrderTotal> {\n return new BehaviorSubject(null);\n };\n getSubtotal$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrderTotal> {\n return new BehaviorSubject(null);\n };\n getShippingTotal$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrderTotal> {\n return new BehaviorSubject(null);\n };\n getDiscountTotal$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrderTotal> {\n return new BehaviorSubject(null);\n };\n hasDiscount$(orderId: DaffOrder['id']): BehaviorSubject<boolean> {\n return new BehaviorSubject(false);\n };\n getTaxTotal$(orderId: DaffOrder['id']): BehaviorSubject<DaffOrderTotal> {\n return new BehaviorSubject(null);\n };\n\n dispatch(action: Action) {};\n}\n","import { NgModule } from '@angular/core';\n\nimport { MockDaffCollectionFacade } from '@daffodil/core/state/testing';\nimport {\n DaffOrderCollectionFacade,\n DaffOrderFacade,\n} from '@daffodil/order/state';\n\nimport { MockDaffOrderFacade } from './mock-order-facade';\n\n@NgModule({\n providers: [\n { provide: DaffOrderFacade, useExisting: MockDaffOrderFacade },\n { provide: DaffOrderCollectionFacade, useExisting: MockDaffCollectionFacade },\n ],\n})\nexport class DaffOrderTestingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { daffApplyRequestsToFilters, daffClearFilters, daffCollectionBuildRequestFromMetadata } from '@daffodil/core';
2
+ import { daffCollectionReducerInitialState, getCollectionStateAdapter, daffCollectionSelectorFactory, DaffCollectionFacade } from '@daffodil/core/state';
1
3
  import { createEntityAdapter } from '@ngrx/entity';
2
4
  import * as i1 from '@ngrx/store';
3
5
  import { createFeatureSelector, createSelector, defaultMemoize, select, StoreModule } from '@ngrx/store';
@@ -7,10 +9,61 @@ import * as i0 from '@angular/core';
7
9
  import { Injectable, Inject, NgModule } from '@angular/core';
8
10
  import * as i1$1 from '@ngrx/effects';
9
11
  import { createEffect, ofType, EffectsModule } from '@ngrx/effects';
10
- import { of } from 'rxjs';
11
- import { switchMap, map, catchError } from 'rxjs/operators';
12
+ import { asyncScheduler, of } from 'rxjs';
13
+ import { withLatestFrom, throttleTime, switchMap, map, catchError } from 'rxjs/operators';
12
14
  import { DaffOrderDriver } from '@daffodil/order/driver';
13
15
 
16
+ /**
17
+ * Action types for Order Actions.
18
+ */
19
+ var DaffOrderCollectionActionTypes;
20
+ (function (DaffOrderCollectionActionTypes) {
21
+ DaffOrderCollectionActionTypes["ChangePageSizeAction"] = "[@daffodil/order] Change Order Collection Page Size Action";
22
+ DaffOrderCollectionActionTypes["ChangeCurrentPageAction"] = "[@daffodil/order] Change Order Collection Current Page Action";
23
+ DaffOrderCollectionActionTypes["ChangeSortingAction"] = "[@daffodil/order] Change Order Collection Sorting Action";
24
+ DaffOrderCollectionActionTypes["ChangeFilterAction"] = "[@daffodil/order] Change Order Collection Filter Action";
25
+ })(DaffOrderCollectionActionTypes || (DaffOrderCollectionActionTypes = {}));
26
+ /**
27
+ * An action for changing the number of items shown on each page for this collection.
28
+ */
29
+ class DaffOrderCollectionChangePageSize {
30
+ constructor(pageSize, cartId) {
31
+ this.pageSize = pageSize;
32
+ this.cartId = cartId;
33
+ this.type = DaffOrderCollectionActionTypes.ChangePageSizeAction;
34
+ }
35
+ }
36
+ /**
37
+ * An action for changing the current page of items for this collection.
38
+ */
39
+ class DaffOrderCollectionChangeCurrentPage {
40
+ constructor(currentPage, cartId) {
41
+ this.currentPage = currentPage;
42
+ this.cartId = cartId;
43
+ this.type = DaffOrderCollectionActionTypes.ChangeCurrentPageAction;
44
+ }
45
+ }
46
+ /**
47
+ * An action for changing the sorting option for this collection.
48
+ */
49
+ class DaffOrderCollectionChangeSortingOption {
50
+ constructor(sort, cartId) {
51
+ this.sort = sort;
52
+ this.cartId = cartId;
53
+ this.type = DaffOrderCollectionActionTypes.ChangeSortingAction;
54
+ }
55
+ }
56
+ /**
57
+ * An action for filtering the collection by an overall rating value.
58
+ */
59
+ class DaffOrderCollectionChangeFilter {
60
+ constructor(filters, cartId) {
61
+ this.filters = filters;
62
+ this.cartId = cartId;
63
+ this.type = DaffOrderCollectionActionTypes.ChangeFilterAction;
64
+ }
65
+ }
66
+
14
67
  var DaffOrderActionTypes;
15
68
  (function (DaffOrderActionTypes) {
16
69
  DaffOrderActionTypes["OrderLoadAction"] = "[Order] Order Load Action";
@@ -51,8 +104,9 @@ class DaffOrderLoadFailure {
51
104
  * @param payload The guest cart ID.
52
105
  */
53
106
  class DaffOrderList {
54
- constructor(payload) {
55
- this.payload = payload;
107
+ constructor(cartId, request = {}) {
108
+ this.cartId = cartId;
109
+ this.request = request;
56
110
  this.type = DaffOrderActionTypes.OrderListAction;
57
111
  }
58
112
  }
@@ -69,6 +123,31 @@ class DaffOrderListFailure {
69
123
  }
70
124
  }
71
125
 
126
+ /**
127
+ * Handles the reduction of order actions into the collection metadata state.
128
+ */
129
+ function daffOrdersCollectionReducer(state = daffCollectionReducerInitialState, action) {
130
+ const adapter = getCollectionStateAdapter();
131
+ switch (action.type) {
132
+ case DaffOrderActionTypes.OrderListAction:
133
+ return adapter.storeRequest(action.request, state);
134
+ case DaffOrderActionTypes.OrderListSuccessAction:
135
+ return adapter.setMetadata(action.payload.metadata, state);
136
+ case DaffOrderActionTypes.OrderListFailureAction:
137
+ return daffCollectionReducerInitialState;
138
+ case DaffOrderCollectionActionTypes.ChangePageSizeAction:
139
+ return adapter.setPageSize(action.pageSize, state);
140
+ case DaffOrderCollectionActionTypes.ChangeCurrentPageAction:
141
+ return adapter.setCurrentPage(action.currentPage, state);
142
+ case DaffOrderCollectionActionTypes.ChangeSortingAction:
143
+ return adapter.setSort(action.sort.option, action.sort.direction, state);
144
+ case DaffOrderCollectionActionTypes.ChangeFilterAction:
145
+ return adapter.setFilters(daffApplyRequestsToFilters(action.filters, daffClearFilters(state.filters)), state);
146
+ default:
147
+ return state;
148
+ }
149
+ }
150
+
72
151
  /**
73
152
  * Order Adapter for changing/overwriting entity state.
74
153
  */
@@ -91,7 +170,7 @@ function daffOrderEntitiesReducer(state = daffOrderEntitiesInitialState, action)
91
170
  case DaffOrderActionTypes.OrderLoadSuccessAction:
92
171
  return adapter.upsertOne(action.payload, state);
93
172
  case DaffOrderActionTypes.OrderListSuccessAction:
94
- return adapter.upsertMany(action.payload, state);
173
+ return adapter.setAll(Object.values(action.payload.data), state);
95
174
  default:
96
175
  return state;
97
176
  }
@@ -106,6 +185,10 @@ function daffOrderReducer(state = daffOrderInitialState, action) {
106
185
  switch (action.type) {
107
186
  case DaffOrderActionTypes.OrderListAction:
108
187
  case DaffOrderActionTypes.OrderLoadAction:
188
+ case DaffOrderCollectionActionTypes.ChangePageSizeAction:
189
+ case DaffOrderCollectionActionTypes.ChangeCurrentPageAction:
190
+ case DaffOrderCollectionActionTypes.ChangeFilterAction:
191
+ case DaffOrderCollectionActionTypes.ChangeSortingAction:
109
192
  return Object.assign(Object.assign({}, state), { loading: true });
110
193
  case DaffOrderActionTypes.OrderListSuccessAction:
111
194
  case DaffOrderActionTypes.OrderLoadSuccessAction:
@@ -124,6 +207,7 @@ function daffOrderReducer(state = daffOrderInitialState, action) {
124
207
  const daffOrderReducers = {
125
208
  order: daffOrderReducer,
126
209
  orders: daffOrderEntitiesReducer,
210
+ collection: daffOrdersCollectionReducer,
127
211
  };
128
212
 
129
213
  const DAFF_ORDER_STORE_FEATURE_KEY = 'daffOrder';
@@ -206,15 +290,26 @@ const getDaffOrderEntitySelectors = (() => {
206
290
  return () => cache = cache || createOrderEntitySelectors();
207
291
  })();
208
292
 
293
+ const { selectOrderFeatureState, } = getDaffOrderReducersStateSelector();
294
+ const selectProductReviewsCollectionState = createSelector(selectOrderFeatureState, state => state.collection);
295
+ const getDaffOrderCollectionSelectors = (() => {
296
+ let cache;
297
+ return () => cache = cache || daffCollectionSelectorFactory(selectProductReviewsCollectionState);
298
+ })();
299
+
209
300
  const createOrderSelectors = () => {
210
301
  const { selectOrderFeatureState } = getDaffOrderReducersStateSelector();
302
+ const { selectCollectionIds, } = getDaffOrderCollectionSelectors();
303
+ const { selectOrderEntities, } = getDaffOrderEntitySelectors();
211
304
  const selectOrderState = createSelector(selectOrderFeatureState, state => state.order);
212
305
  const selectOrderLoading = createSelector(selectOrderState, state => state.loading);
213
306
  const selectOrderErrors = createSelector(selectOrderState, state => state.errors);
307
+ const selectOrders = createSelector(selectCollectionIds, selectOrderEntities, (ids, entities) => ids.map((id) => entities[id]));
214
308
  return {
215
309
  selectOrderState,
216
310
  selectOrderLoading,
217
311
  selectOrderErrors,
312
+ selectOrders,
218
313
  };
219
314
  };
220
315
  const getOrderSelectors = (() => {
@@ -233,10 +328,10 @@ const getDaffOrderSelectors = (() => {
233
328
  class DaffOrderFacade {
234
329
  constructor(store) {
235
330
  this.store = store;
236
- const { selectOrderIds, selectOrderEntities, selectAllOrders, selectOrderTotal, selectOrderLoading, selectOrderErrors, selectPlacedOrder, selectHasPlacedOrder, selectOrder, selectOrderTotals, selectOrderAppliedCodes, selectOrderItems, selectOrderBillingAddresses, selectOrderShippingTotalAddresses, selectOrderShipments, selectOrderPayment, selectOrderInvoices, selectOrderCredits, selectOrderGrandTotal, selectOrderSubtotal, selectOrderShippingTotal, selectOrderDiscountTotal, selectOrderHasDiscount, selectOrderTaxTotal, } = getDaffOrderSelectors();
331
+ const { selectOrderIds, selectOrderEntities, selectOrders, selectOrderTotal, selectOrderLoading, selectOrderErrors, selectPlacedOrder, selectHasPlacedOrder, selectOrder, selectOrderTotals, selectOrderAppliedCodes, selectOrderItems, selectOrderBillingAddresses, selectOrderShippingTotalAddresses, selectOrderShipments, selectOrderPayment, selectOrderInvoices, selectOrderCredits, selectOrderGrandTotal, selectOrderSubtotal, selectOrderShippingTotal, selectOrderDiscountTotal, selectOrderHasDiscount, selectOrderTaxTotal, } = getDaffOrderSelectors();
237
332
  this.loading$ = this.store.pipe(select(selectOrderLoading));
238
333
  this.errors$ = this.store.pipe(select(selectOrderErrors));
239
- this.orders$ = this.store.pipe(select(selectAllOrders));
334
+ this.orders$ = this.store.pipe(select(selectOrders));
240
335
  this.orderIds$ = this.store.pipe(select(selectOrderIds));
241
336
  this.orderCount$ = this.store.pipe(select(selectOrderTotal));
242
337
  this.orderEntities$ = this.store.pipe(select(selectOrderEntities));
@@ -326,6 +421,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
326
421
  }]
327
422
  }], ctorParameters: function () { return [{ type: i1.Store }]; } });
328
423
 
424
+ /**
425
+ * @inheritdoc
426
+ */
427
+ class DaffOrderCollectionFacade extends DaffCollectionFacade {
428
+ constructor(store) {
429
+ super(store, getDaffOrderCollectionSelectors());
430
+ }
431
+ }
432
+ /** @nocollapse */ DaffOrderCollectionFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderCollectionFacade, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable });
433
+ /** @nocollapse */ DaffOrderCollectionFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderCollectionFacade, providedIn: 'root' });
434
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderCollectionFacade, decorators: [{
435
+ type: Injectable,
436
+ args: [{
437
+ providedIn: 'root',
438
+ }]
439
+ }], ctorParameters: function () { return [{ type: i1.Store }]; } });
440
+
441
+ const DAFF_ORDER_COLLECTION_ACTION_TYPES = [
442
+ DaffOrderCollectionActionTypes.ChangeCurrentPageAction,
443
+ DaffOrderCollectionActionTypes.ChangePageSizeAction,
444
+ DaffOrderCollectionActionTypes.ChangeSortingAction,
445
+ DaffOrderCollectionActionTypes.ChangeFilterAction,
446
+ ];
447
+ class DaffOrderCollectionEffects {
448
+ constructor(actions$, collectionFacade, driver, errorMatcher) {
449
+ this.actions$ = actions$;
450
+ this.collectionFacade = collectionFacade;
451
+ this.driver = driver;
452
+ this.errorMatcher = errorMatcher;
453
+ /**
454
+ * Updates the order collection according to the action.
455
+ * It will take the request metedata, including currently
456
+ * applied filters, from state, form them into a request,
457
+ * and pass that into the {@link DaffProductCollectionDriverCall} provided to this class.
458
+ *
459
+ * @param throttleWindow the amount of time to delay when apply/removing filters
460
+ * in a sequence.
461
+ */
462
+ this.update$ = createEffect(() => (throttleWindow = 300, scheduler = asyncScheduler) => this.actions$.pipe(ofType(...DAFF_ORDER_COLLECTION_ACTION_TYPES), withLatestFrom(this.collectionFacade.metadata$), throttleTime(throttleWindow, scheduler, { leading: true, trailing: true }), switchMap(([action, metadata]) => this.driver.list(action.cartId, daffCollectionBuildRequestFromMetadata(metadata)).pipe(map(resp => new DaffOrderListSuccess(resp)), catchError((error) => of(new DaffOrderListFailure(this.errorMatcher(error))))))));
463
+ }
464
+ }
465
+ /** @nocollapse */ DaffOrderCollectionEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderCollectionEffects, deps: [{ token: i1$1.Actions }, { token: DaffOrderCollectionFacade }, { token: DaffOrderDriver }, { token: DAFF_ORDER_ERROR_MATCHER }], target: i0.ɵɵFactoryTarget.Injectable });
466
+ /** @nocollapse */ DaffOrderCollectionEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderCollectionEffects });
467
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderCollectionEffects, decorators: [{
468
+ type: Injectable
469
+ }], ctorParameters: function () {
470
+ return [{ type: i1$1.Actions }, { type: DaffOrderCollectionFacade }, { type: undefined, decorators: [{
471
+ type: Inject,
472
+ args: [DaffOrderDriver]
473
+ }] }, { type: undefined, decorators: [{
474
+ type: Inject,
475
+ args: [DAFF_ORDER_ERROR_MATCHER]
476
+ }] }];
477
+ } });
478
+
329
479
  class DaffOrderEffects {
330
480
  constructor(actions$, driver, errorMatcher) {
331
481
  this.actions$ = actions$;
@@ -338,7 +488,7 @@ class DaffOrderEffects {
338
488
  /**
339
489
  * An effect for the listing of orders.
340
490
  */
341
- this.list$ = createEffect(() => this.actions$.pipe(ofType(DaffOrderActionTypes.OrderListAction), switchMap((action) => this.driver.list(action.payload).pipe(map(resp => new DaffOrderListSuccess(resp)), catchError((error) => of(new DaffOrderListFailure(this.errorMatcher(error))))))));
491
+ this.list$ = createEffect(() => this.actions$.pipe(ofType(DaffOrderActionTypes.OrderListAction), switchMap((action) => this.driver.list(action.cartId, action.request).pipe(map(resp => new DaffOrderListSuccess(resp)), catchError((error) => of(new DaffOrderListFailure(this.errorMatcher(error))))))));
342
492
  }
343
493
  }
344
494
  /** @nocollapse */ DaffOrderEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffOrderEffects, deps: [{ token: i1$1.Actions }, { token: DaffOrderDriver }, { token: DAFF_ORDER_ERROR_MATCHER }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -363,6 +513,7 @@ class DaffOrderStateModule {
363
513
  DaffCartStateModule,
364
514
  EffectsModule.forFeature([
365
515
  DaffOrderEffects,
516
+ DaffOrderCollectionEffects,
366
517
  ]),
367
518
  StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, daffOrderReducers),
368
519
  ]] });
@@ -373,6 +524,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
373
524
  DaffCartStateModule,
374
525
  EffectsModule.forFeature([
375
526
  DaffOrderEffects,
527
+ DaffOrderCollectionEffects,
376
528
  ]),
377
529
  StoreModule.forFeature(DAFF_ORDER_STORE_FEATURE_KEY, daffOrderReducers),
378
530
  ],
@@ -383,5 +535,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
383
535
  * Generated bundle index. Do not edit.
384
536
  */
385
537
 
386
- export { DAFF_ORDER_STORE_FEATURE_KEY, DaffOrderActionTypes, DaffOrderFacade, DaffOrderList, DaffOrderListFailure, DaffOrderListSuccess, DaffOrderLoad, DaffOrderLoadFailure, DaffOrderLoadSuccess, DaffOrderStateModule, daffGetOrderAdapter, daffOrderEntitiesInitialState, daffOrderEntitiesReducer, daffOrderInitialState, daffOrderReducer, daffOrderReducers, getDaffOrderSelectors };
538
+ 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 };
387
539
  //# sourceMappingURL=daffodil-order-state.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-order-state.mjs","sources":["../../../libs/order/state/src/actions/order.actions.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.selector.ts","../../../libs/order/state/src/selectors/order-all.selector.ts","../../../libs/order/state/src/facades/order/order.facade.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":["import { Action } from '@ngrx/store';\n\nimport { DaffCart } from '@daffodil/cart';\nimport { DaffStateError } from '@daffodil/core/state';\nimport { DaffOrder } 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 V extends DaffCart = DaffCart\n> implements Action {\n readonly type = DaffOrderActionTypes.OrderLoadAction;\n\n constructor(public orderId: T['id'], public cartId?: V['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<T extends DaffCart = DaffCart> implements Action {\n readonly type = DaffOrderActionTypes.OrderListAction;\n\n constructor(public payload?: T['id']) {}\n}\n\nexport class DaffOrderListSuccess<T extends DaffOrder = DaffOrder> implements Action {\n readonly type = DaffOrderActionTypes.OrderListSuccessAction;\n\n constructor(public payload: 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 V extends DaffCart = DaffCart\n> =\n | DaffOrderLoad<T, V>\n | DaffOrderLoadSuccess<T>\n | DaffOrderLoadFailure\n | DaffOrderList\n | DaffOrderListSuccess<T>\n | DaffOrderListFailure;\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.upsertMany(action.payload, state);\n\n default:\n return state;\n }\n}\n","import { DaffOrderReducerState } from './order-reducer.interface';\n\nexport const daffOrderInitialState: DaffOrderReducerState = {\n loading: false,\n errors: [],\n};\n","import { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderActions,\n DaffOrderActionTypes,\n} from '../../actions/order.actions';\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>,\n): DaffOrderReducerState {\n switch (action.type) {\n case DaffOrderActionTypes.OrderListAction:\n case DaffOrderActionTypes.OrderLoadAction:\n return {\n ...state,\n loading: true,\n };\n\n case DaffOrderActionTypes.OrderListSuccessAction:\n case DaffOrderActionTypes.OrderLoadSuccessAction:\n return {\n ...state,\n loading: false,\n errors: [],\n };\n\n case DaffOrderActionTypes.OrderListFailureAction:\n case DaffOrderActionTypes.OrderLoadFailureAction:\n return {\n ...state,\n errors: [\n ...state.errors,\n action.payload,\n ],\n loading: false,\n };\n\n default:\n return state;\n }\n}\n","import { ActionReducerMap } from '@ngrx/store';\n\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};\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 {\n createSelector,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport { DaffStateError } from '@daffodil/core/state';\nimport { DaffOrder } from '@daffodil/order';\n\nimport {\n DaffOrderStateRootSlice,\n DaffOrderReducerState,\n} from '../reducers/public_api';\nimport { getDaffOrderReducersStateSelector } from './order-feature.selector';\n\nexport interface DaffOrderSelectors {\n selectOrderState: MemoizedSelector<DaffOrderStateRootSlice, DaffOrderReducerState>;\n selectOrderLoading: MemoizedSelector<DaffOrderStateRootSlice, boolean>;\n selectOrderErrors: MemoizedSelector<DaffOrderStateRootSlice, DaffStateError[]>;\n}\n\nconst createOrderSelectors = <T extends DaffOrder = DaffOrder>() => {\n const { selectOrderFeatureState } = getDaffOrderReducersStateSelector<T>();\n const selectOrderState = createSelector(\n selectOrderFeatureState,\n state => state.order,\n );\n\n const selectOrderLoading = createSelector(\n selectOrderState,\n state => state.loading,\n );\n\n const selectOrderErrors = createSelector(\n selectOrderState,\n state => state.errors,\n );\n\n return {\n selectOrderState,\n selectOrderLoading,\n selectOrderErrors,\n };\n};\n\nexport const getOrderSelectors = (() => {\n let cache;\n return <T extends DaffOrder = DaffOrder>(): DaffOrderSelectors =>\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,\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 { DaffStateError } 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\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 selectAllOrders,\n selectOrderTotal,\n selectOrderLoading,\n selectOrderErrors,\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(selectOrderLoading));\n this.errors$ = this.store.pipe(select(selectOrderErrors));\n\n this.orders$ = this.store.pipe(select(selectAllOrders));\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 {\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 V extends DaffCart = DaffCart\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, V>) =>\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.payload).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 { 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 ]),\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"],"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/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 { DaffOrderReducerState } from './order-reducer.interface';\n\nexport const daffOrderInitialState: DaffOrderReducerState = {\n loading: false,\n errors: [],\n};\n","import { 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 case DaffOrderCollectionActionTypes.ChangePageSizeAction:\n case DaffOrderCollectionActionTypes.ChangeCurrentPageAction:\n case DaffOrderCollectionActionTypes.ChangeFilterAction:\n case DaffOrderCollectionActionTypes.ChangeSortingAction:\n return {\n ...state,\n loading: true,\n };\n\n case DaffOrderActionTypes.OrderListSuccessAction:\n case DaffOrderActionTypes.OrderLoadSuccessAction:\n return {\n ...state,\n loading: false,\n errors: [],\n };\n\n case DaffOrderActionTypes.OrderListFailureAction:\n case DaffOrderActionTypes.OrderLoadFailureAction:\n return {\n ...state,\n errors: [\n ...state.errors,\n action.payload,\n ],\n loading: false,\n };\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 { DaffStateError } 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> {\n selectOrderState: MemoizedSelector<DaffOrderStateRootSlice, DaffOrderReducerState>;\n selectOrderLoading: MemoizedSelector<DaffOrderStateRootSlice, boolean>;\n selectOrderErrors: MemoizedSelector<DaffOrderStateRootSlice, DaffStateError[]>;\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 selectOrderLoading = createSelector(\n selectOrderState,\n state => state.loading,\n );\n\n const selectOrderErrors = createSelector(\n selectOrderState,\n state => state.errors,\n );\n\n const selectOrders = createSelector(\n selectCollectionIds,\n selectOrderEntities,\n (ids, entities) => ids.map((id) => entities[id]),\n );\n\n return {\n selectOrderState,\n selectOrderLoading,\n selectOrderErrors,\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 { DaffStateError } 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\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 selectOrderLoading,\n selectOrderErrors,\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(selectOrderLoading));\n this.errors$ = this.store.pipe(select(selectOrderErrors));\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":";;;;;;;;;;;;;;;AAaA;;AAEG;AACS,IAAA,+BAKX;AALD,CAAA,UAAY,8BAA8B,EAAA;AACxC,IAAA,8BAAA,CAAA,sBAAA,CAAA,GAAA,4DAAmF,CAAA;AACnF,IAAA,8BAAA,CAAA,yBAAA,CAAA,GAAA,+DAAyF,CAAA;AACzF,IAAA,8BAAA,CAAA,qBAAA,CAAA,GAAA,0DAAgF,CAAA;AAChF,IAAA,8BAAA,CAAA,oBAAA,CAAA,GAAA,yDAA8E,CAAA;AAChF,CAAC,EALW,8BAA8B,KAA9B,8BAA8B,GAKzC,EAAA,CAAA,CAAA,CAAA;AAED;;AAEG;MACU,iCAAiC,CAAA;IAG5C,WACS,CAAA,QAA4C,EAC5C,MAAuB,EAAA;AADvB,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAoC;AAC5C,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAiB;AAJvB,QAAA,IAAA,CAAA,IAAI,GAAG,8BAA8B,CAAC,oBAAoB,CAAC;KAKhE;AACL,CAAA;AAED;;AAEG;MACU,oCAAoC,CAAA;IAG/C,WACS,CAAA,WAAkD,EAClD,MAAuB,EAAA;AADvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAuC;AAClD,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAiB;AAJvB,QAAA,IAAA,CAAA,IAAI,GAAG,8BAA8B,CAAC,uBAAuB,CAAC;KAKnE;AACL,CAAA;AAED;;AAEG;MACU,sCAAsC,CAAA;IAGjD,WACS,CAAA,IAGN,EACM,MAAuB,EAAA;AAJvB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAGV;AACM,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAiB;AAPvB,QAAA,IAAA,CAAA,IAAI,GAAG,8BAA8B,CAAC,mBAAmB,CAAC;KAQ/D;AACL,CAAA;AAED;;AAEG;MACU,+BAA+B,CAAA;IAG1C,WACS,CAAA,OAA4B,EAC5B,MAAuB,EAAA;AADvB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAqB;AAC5B,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAiB;AAJvB,QAAA,IAAA,CAAA,IAAI,GAAG,8BAA8B,CAAC,kBAAkB,CAAC;KAK9D;AACL;;AC9DW,IAAA,qBAOX;AAPD,CAAA,UAAY,oBAAoB,EAAA;AAC9B,IAAA,oBAAA,CAAA,iBAAA,CAAA,GAAA,2BAA6C,CAAA;AAC7C,IAAA,oBAAA,CAAA,wBAAA,CAAA,GAAA,mCAA4D,CAAA;AAC5D,IAAA,oBAAA,CAAA,wBAAA,CAAA,GAAA,mCAA4D,CAAA;AAC5D,IAAA,oBAAA,CAAA,iBAAA,CAAA,GAAA,2BAA6C,CAAA;AAC7C,IAAA,oBAAA,CAAA,wBAAA,CAAA,GAAA,mCAA4D,CAAA;AAC5D,IAAA,oBAAA,CAAA,wBAAA,CAAA,GAAA,mCAA4D,CAAA;AAC9D,CAAC,EAPW,oBAAoB,KAApB,oBAAoB,GAO/B,EAAA,CAAA,CAAA,CAAA;AAED;;;;;AAKG;MACU,aAAa,CAAA;IAKxB,WAAmB,CAAA,OAAgB,EAAS,MAAuB,EAAA;AAAhD,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;AAAS,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAiB;AAF1D,QAAA,IAAA,CAAA,IAAI,GAAG,oBAAoB,CAAC,eAAe,CAAC;KAEkB;AACxE,CAAA;MAEY,oBAAoB,CAAA;AAG/B,IAAA,WAAA,CAAmB,OAAU,EAAA;AAAV,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAG;AAFpB,QAAA,IAAA,CAAA,IAAI,GAAG,oBAAoB,CAAC,sBAAsB,CAAC;KAE3B;AAClC,CAAA;MAEY,oBAAoB,CAAA;AAG/B,IAAA,WAAA,CAAmB,OAAuB,EAAA;AAAvB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAgB;AAFjC,QAAA,IAAA,CAAA,IAAI,GAAG,oBAAoB,CAAC,sBAAsB,CAAC;KAEd;AAC/C,CAAA;AAED;;;;AAIG;MACU,aAAa,CAAA;AAGxB,IAAA,WAAA,CAAmB,MAAuB,EAAS,OAAA,GAAiC,EAAE,EAAA;AAAnE,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAiB;AAAS,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAA4B;AAF7E,QAAA,IAAA,CAAA,IAAI,GAAG,oBAAoB,CAAC,eAAe,CAAC;KAEqC;AAC3F,CAAA;MAEY,oBAAoB,CAAA;AAG/B,IAAA,WAAA,CAAmB,OAA+B,EAAA;AAA/B,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAwB;AAFzC,QAAA,IAAA,CAAA,IAAI,GAAG,oBAAoB,CAAC,sBAAsB,CAAC;KAEN;AACvD,CAAA;MAEY,oBAAoB,CAAA;AAG/B,IAAA,WAAA,CAAmB,OAAuB,EAAA;AAAvB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAgB;AAFjC,QAAA,IAAA,CAAA,IAAI,GAAG,oBAAoB,CAAC,sBAAsB,CAAC;KAEd;AAC/C;;AChDD;;AAEG;SACa,2BAA2B,CACzC,KAAK,GAAG,iCAAiC,EACzC,MAAwD,EAAA;AAExD,IAAA,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;IAE5C,QAAQ,MAAM,CAAC,IAAI;QACjB,KAAK,oBAAoB,CAAC,eAAe;YACvC,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAErD,KAAK,oBAAoB,CAAC,sBAAsB;AAC9C,YAAA,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE7D,KAAK,oBAAoB,CAAC,sBAAsB;AAC9C,YAAA,OAAO,iCAAiC,CAAC;QAE3C,KAAK,8BAA8B,CAAC,oBAAoB;YACtD,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAErD,KAAK,8BAA8B,CAAC,uBAAuB;YACzD,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAE3D,KAAK,8BAA8B,CAAC,mBAAmB;AACrD,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAE3E,KAAK,8BAA8B,CAAC,kBAAkB;YACpD,OAAO,OAAO,CAAC,UAAU,CAAC,0BAA0B,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAEhH,QAAA;AACE,YAAA,OAAO,KAAK,CAAC;AAChB,KAAA;AACH;;AC7CA;;AAEG;AACU,MAAA,mBAAmB,GAAG,CAAC,MAAK;AACvC,IAAA,IAAI,KAAK,CAAC;IACV,OAAO,MACL,KAAK,GAAG,KAAK,IAAI,mBAAmB,EAAK,CAAC;AAC9C,CAAC;;ACXD;;AAEG;MACU,6BAA6B,GAA8B,mBAAmB,EAAE,CAAC,eAAe;;ACI7G;;AAEG;SACa,wBAAwB,CACtC,KAAK,GAAG,6BAA6B,EACrC,MAA2B,EAAA;AAE3B,IAAA,MAAM,OAAO,GAAG,mBAAmB,EAAK,CAAC;IAEzC,QAAQ,MAAM,CAAC,IAAI;QACjB,KAAK,oBAAoB,CAAC,sBAAsB;YAC9C,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAElD,KAAK,oBAAoB,CAAC,sBAAsB;AAC9C,YAAA,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;AAEnE,QAAA;AACE,YAAA,OAAO,KAAK,CAAC;AAChB,KAAA;AACH;;AC3Ba,MAAA,qBAAqB,GAA0B;AAC1D,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,MAAM,EAAE,EAAE;;;SCOI,gBAAgB,CAC9B,KAAK,GAAG,qBAAqB,EAC7B,MAAwD,EAAA;IAExD,QAAQ,MAAM,CAAC,IAAI;QACjB,KAAK,oBAAoB,CAAC,eAAe,CAAC;QAC1C,KAAK,oBAAoB,CAAC,eAAe,CAAC;QAC1C,KAAK,8BAA8B,CAAC,oBAAoB,CAAC;QACzD,KAAK,8BAA8B,CAAC,uBAAuB,CAAC;QAC5D,KAAK,8BAA8B,CAAC,kBAAkB,CAAC;QACvD,KAAK,8BAA8B,CAAC,mBAAmB;AACrD,YAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,KAAK,CAAA,EAAA,EACR,OAAO,EAAE,IAAI,EACb,CAAA,CAAA;QAEJ,KAAK,oBAAoB,CAAC,sBAAsB,CAAC;QACjD,KAAK,oBAAoB,CAAC,sBAAsB;YAC9C,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,KACR,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,EAAE,EACV,CAAA,CAAA;QAEJ,KAAK,oBAAoB,CAAC,sBAAsB,CAAC;QACjD,KAAK,oBAAoB,CAAC,sBAAsB;YAC9C,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CACR,EAAA,EAAA,MAAM,EAAE;oBACN,GAAG,KAAK,CAAC,MAAM;AACf,oBAAA,MAAM,CAAC,OAAO;iBACf,EACD,OAAO,EAAE,KAAK,EACd,CAAA,CAAA;AAEJ,QAAA;AACE,YAAA,OAAO,KAAK,CAAC;AAChB,KAAA;AACH;;AC1Ca,MAAA,iBAAiB,GAA6C;AACzE,IAAA,KAAK,EAAE,gBAAgB;AACvB,IAAA,MAAM,EAAE,wBAAwB;AAChC,IAAA,UAAU,EAAE,2BAA2B;;;ACVlC,MAAM,4BAA4B,GAAG;;ACiBrC,MAAM,iCAAiC,GAAG,CAAC,MAAK;AACrD,IAAA,IAAI,KAAK,CAAC;AACV,IAAA,OAAO,MACL,KAAK,GAAG,KAAK,IAAI;AACf,QAAA,uBAAuB,EAAE,qBAAqB,CAA4B,4BAA4B,CAAC;KACxG,CAAC;AACN,CAAC,GAAG;;ACmGJ,MAAM,0BAA0B,GAAG,MAAsC;AACvE,IAAA,MAAM,EAAE,uBAAuB,EAAE,GAAG,iCAAiC,EAAK,CAAC;AAC3E,IAAA,MAAM,wBAAwB,GAAG,cAAc,CAC7C,uBAAuB,EACvB,KAAK,IAAI,KAAK,CAAC,MAAM,CACtB,CAAC;AACF,IAAA,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,mBAAmB,EAAK,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;AAC9H,IAAA,MAAM,EAAE,iBAAiB,EAAE,GAAG,oBAAoB,EAAE,CAAC;AAErD,IAAA,MAAM,WAAW,GACf,cAAc,CAAC,CAAC,OAAgB,KAAK,cAAc,CACjD,cAAc,EACd,CAAC,MAAqB,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CACnD,CAAC,CAAC,QAAQ,CAAC;AAEd,IAAA,MAAM,iBAAiB,GAAG,cAAc,CACtC,cAAc,EACd,iBAAiB,EACjB,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAC7E,CAAC;AAEF,IAAA,MAAM,oBAAoB,GAAG,cAAc,CACzC,iBAAiB,EACjB,WAAW,IAAI,CAAC,CAAC,WAAW,CAC7B,CAAC;AAEF,IAAA,MAAM,iBAAiB,GACrB,cAAc,CAAC,CAAC,OAAgB,KAAK,cAAc,CACjD,WAAW,CAAC,OAAO,CAAC,EACpB,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,CACzC,CAAC,CAAC,QAAQ,CAAC;AAEd,IAAA,MAAM,uBAAuB,GAAG,cAAc,CAAC,CAAC,OAAgB,KAAK,cAAc,CACjF,WAAW,CAAC,OAAO,CAAC,EACpB,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,aAAa,KAAK,EAAE,CAChD,CAAC,CAAC,QAAQ,CAAC;AAEZ,IAAA,MAAM,gBAAgB,GACpB,cAAc,CAAC,CAAC,OAAgB,KAAK,cAAc,CACjD,WAAW,CAAC,OAAO,CAAC,EACpB,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,CACxC,CAAC,CAAC,QAAQ,CAAC;AAEd,IAAA,MAAM,2BAA2B,GAAG,cAAc,CAAC,CAAC,OAAgB,KAAK,cAAc,CACrF,WAAW,CAAC,OAAO,CAAC,EACpB,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,iBAAiB,KAAK,EAAE,CACpD,CAAC,CAAC,QAAQ,CAAC;AAEZ,IAAA,MAAM,iCAAiC,GAAG,cAAc,CAAC,CAAC,OAAgB,KAAK,cAAc,CAC3F,WAAW,CAAC,OAAO,CAAC,EACpB,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CACrD,CAAC,CAAC,QAAQ,CAAC;AAEZ,IAAA,MAAM,oBAAoB,GAAG,cAAc,CAAC,CAAC,OAAgB,KAAK,cAAc,CAC9E,WAAW,CAAC,OAAO,CAAC,EACpB,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,EAAE,CAC5C,CAAC,CAAC,QAAQ,CAAC;AAEZ,IAAA,MAAM,kBAAkB,GAAG,cAAc,CAAC,CAAC,OAAgB,KAAK,cAAc,CAC5E,WAAW,CAAC,OAAO,CAAC,EACpB,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAC5C,CAAC,CAAC,QAAQ,CAAC;AAEZ,IAAA,MAAM,mBAAmB,GAAG,cAAc,CAAC,CAAC,OAAgB,KAAK,cAAc,CAC7E,WAAW,CAAC,OAAO,CAAC,EACpB,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,EAAE,CAC3C,CAAC,CAAC,QAAQ,CAAC;AAEZ,IAAA,MAAM,kBAAkB,GAAG,cAAc,CAAC,CAAC,OAAgB,KAAK,cAAc,CAC5E,WAAW,CAAC,OAAO,CAAC,EACpB,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,CAC1C,CAAC,CAAC,QAAQ,CAAC;AAEZ,IAAA,MAAM,qBAAqB,GAAG,cAAc,CAAC,CAAC,OAAgB,KAAK,cAAc,CAC/E,iBAAiB,CAAC,OAAO,CAAC,EAC1B,MAAM,IAAG;AACP,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,CAAC,UAAU,CAAC,CAAC;AAE1F,QAAA,OAAO,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAC3C,KAAC,CACF,CAAC,CAAC,QAAQ,CAAC;AAEZ,IAAA,MAAM,mBAAmB,GAAG,cAAc,CAAC,CAAC,OAAgB,KAAK,cAAc,CAC7E,iBAAiB,CAAC,OAAO,CAAC,EAC1B,MAAM,IAAG;AACP,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,CAAC,QAAQ,CAAC,CAAC;AAExF,QAAA,OAAO,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAC3C,KAAC,CACF,CAAC,CAAC,QAAQ,CAAC;AAEZ,IAAA,MAAM,wBAAwB,GAAG,cAAc,CAAC,CAAC,OAAgB,KAAK,cAAc,CAClF,iBAAiB,CAAC,OAAO,CAAC,EAC1B,MAAM,IAAG;AACP,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,CAAC,QAAQ,CAAC,CAAC;AAExF,QAAA,OAAO,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAC3C,KAAC,CACF,CAAC,CAAC,QAAQ,CAAC;AAEZ,IAAA,MAAM,wBAAwB,GAC5B,cAAc,CAAC,CAAC,OAAgB,KAAK,cAAc,CACjD,iBAAiB,CAAC,OAAO,CAAC,EAC1B,MAAM,IAAG;AACP,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,CAAC,QAAQ,CAAC,CAAC;AAExF,QAAA,OAAO,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAC3C,KAAC,CACF,CAAC,CAAC,QAAQ,CAAC;AAEd,IAAA,MAAM,sBAAsB,GAAG,cAAc,CAAC,CAAC,OAAgB,KAAK,cAAc,CAChF,wBAAwB,CAAC,OAAO,CAAC,EACjC,aAAa,IAAI,CAAA,aAAa,KAAA,IAAA,IAAb,aAAa,KAAb,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,aAAa,CAAE,KAAK,IAAG,CAAC,CAC1C,CAAC,CAAC,QAAQ,CAAC;AAEZ,IAAA,MAAM,mBAAmB,GAAG,cAAc,CAAC,CAAC,OAAgB,KAAK,cAAc,CAC7E,iBAAiB,CAAC,OAAO,CAAC,EAC1B,MAAM,IAAG;AACP,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,CAAC,GAAG,CAAC,CAAC;AAEnF,QAAA,OAAO,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAC3C,KAAC,CACF,CAAC,CAAC,QAAQ,CAAC;AAEZ,IAAA,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,OAAgB,EAAE,MAA2B,KAAK,cAAc,CACtG,gBAAgB,CAAC,OAAO,CAAC,EACzB,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,IAAI,CACxD,CAAC,CAAC,QAAQ,CAAC;IAEZ,OAAO;QACL,wBAAwB;AACxB,QAAA,cAAc,EAAE,SAAS;AACzB,QAAA,mBAAmB,EAAE,cAAc;AACnC,QAAA,eAAe,EAAE,SAAS;AAC1B,QAAA,gBAAgB,EAAE,WAAW;QAE7B,iBAAiB;QACjB,oBAAoB;QAEpB,WAAW;QACX,iBAAiB;QACjB,uBAAuB;QACvB,gBAAgB;QAChB,2BAA2B;QAC3B,iCAAiC;QACjC,oBAAoB;QACpB,kBAAkB;QAClB,mBAAmB;QACnB,kBAAkB;QAClB,eAAe;QAEf,qBAAqB;QACrB,mBAAmB;QACnB,wBAAwB;QACxB,wBAAwB;QACxB,sBAAsB;QACtB,mBAAmB;KACpB,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,2BAA2B,GAAG,CAAC,MAAK;AAC/C,IAAA,IAAI,KAAK,CAAC;IACV,OAAO,MACL,KAAK,GAAG,KAAK,IAAI,0BAA0B,EAAK,CAAC;AACrD,CAAC,GAAG;;ACjRJ,MAAM,EACJ,uBAAuB,GACxB,GAAG,iCAAiC,EAAE,CAAC;AAExC,MAAM,mCAAmC,GAAG,cAAc,CACxD,uBAAuB,EACvB,KAAK,IAAI,KAAK,CAAC,UAAU,CAC1B,CAAC;AAEW,MAAA,+BAA+B,GAAG,CAAC,MAAK;AACnD,IAAA,IAAI,KAAK,CAAC;IACV,OAAO,MACL,KAAK,GAAG,KAAK,IAAI,6BAA6B,CAA2D,mCAAmC,CAAC,CAAC;AAClJ,CAAC;;ACHD,MAAM,oBAAoB,GAAG,MAAsC;AACjE,IAAA,MAAM,EAAE,uBAAuB,EAAE,GAAG,iCAAiC,EAAK,CAAC;AAC3E,IAAA,MAAM,EACJ,mBAAmB,GACpB,GAAG,+BAA+B,EAAE,CAAC;AACtC,IAAA,MAAM,EACJ,mBAAmB,GACpB,GAAG,2BAA2B,EAAK,CAAC;AACrC,IAAA,MAAM,gBAAgB,GAAG,cAAc,CACrC,uBAAuB,EACvB,KAAK,IAAI,KAAK,CAAC,KAAK,CACrB,CAAC;AAEF,IAAA,MAAM,kBAAkB,GAAG,cAAc,CACvC,gBAAgB,EAChB,KAAK,IAAI,KAAK,CAAC,OAAO,CACvB,CAAC;AAEF,IAAA,MAAM,iBAAiB,GAAG,cAAc,CACtC,gBAAgB,EAChB,KAAK,IAAI,KAAK,CAAC,MAAM,CACtB,CAAC;AAEF,IAAA,MAAM,YAAY,GAAG,cAAc,CACjC,mBAAmB,EACnB,mBAAmB,EACnB,CAAC,GAAG,EAAE,QAAQ,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC,CACjD,CAAC;IAEF,OAAO;QACL,gBAAgB;QAChB,kBAAkB;QAClB,iBAAiB;QACjB,YAAY;KACb,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,MAAK;AACrC,IAAA,IAAI,KAAK,CAAC;IACV,OAAO,MACL,KAAK,GAAG,KAAK,IAAI,oBAAoB,EAAK,CAAC;AAC/C,CAAC,GAAG;;AC5CS,MAAA,qBAAqB,GAAG,CAAC,MAAK;AACzC,IAAA,IAAI,KAAK,CAAC;AACV,IAAA,OAAO,MACL,KAAK,GAAG,KAAK,IACR,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,iBAAiB,EAAK,CAAA,EACtB,2BAA2B,EAAK,CAAA,EAChC,iCAAiC,EAAK,CAC1C,CAAC;AACN,CAAC;;ACRD;;AAEG;MAIU,eAAe,CAAA;AA6B1B,IAAA,WAAA,CAAoB,KAAwC,EAAA;AAAxC,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmC;QAC1D,MAAM,EACJ,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EAEjB,iBAAiB,EACjB,oBAAoB,EAEpB,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,2BAA2B,EAC3B,iCAAiC,EACjC,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAElB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,GACpB,GAAG,qBAAqB,EAAK,CAAC;AAE/B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAE1D,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC7D,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAEnE,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC/D,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAErE,QAAA,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;AAC1B,QAAA,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC;AACjC,QAAA,IAAI,CAAC,aAAa,GAAG,uBAAuB,CAAC;AAC7C,QAAA,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC;AAC/B,QAAA,IAAI,CAAC,iBAAiB,GAAG,2BAA2B,CAAC;AACrD,QAAA,IAAI,CAAC,kBAAkB,GAAG,iCAAiC,CAAC;AAC5D,QAAA,IAAI,CAAC,UAAU,GAAG,oBAAoB,CAAC;AACvC,QAAA,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC;AACnC,QAAA,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC;AACrC,QAAA,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC;AACnC,QAAA,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC;AACzC,QAAA,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,GAAG,wBAAwB,CAAC;AAC1C,QAAA,IAAI,CAAC,SAAS,GAAG,wBAAwB,CAAC;AAC1C,QAAA,IAAI,CAAC,YAAY,GAAG,sBAAsB,CAAC;AAC3C,QAAA,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;KACjC;AAED,IAAA,SAAS,CAAC,OAAgB,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACtD;AAED,IAAA,UAAU,CAAC,OAAgB,EAAA;AACzB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACvD;AAED,IAAA,gBAAgB,CAAC,OAAgB,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KAC7D;AAED,IAAA,SAAS,CAAC,OAAgB,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACtD;AAED,IAAA,oBAAoB,CAAC,OAAgB,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACjE;AAED,IAAA,qBAAqB,CAAC,OAAgB,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KAClE;AAED,IAAA,aAAa,CAAC,OAAgB,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KAC1D;AAED,IAAA,WAAW,CAAC,OAAgB,EAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACxD;AAED,IAAA,YAAY,CAAC,OAAgB,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACzD;AAED,IAAA,WAAW,CAAC,OAAgB,EAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACxD;AAED,IAAA,cAAc,CAAC,OAAgB,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KAC3D;;AACD,IAAA,YAAY,CAAC,OAAgB,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACzD;;AACD,IAAA,iBAAiB,CAAC,OAAgB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACzD;;AACD,IAAA,iBAAiB,CAAC,OAAgB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACzD;;AACD,IAAA,YAAY,CAAC,OAAgB,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KAC5D;;AACD,IAAA,YAAY,CAAC,OAAgB,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACpD;;AAED,IAAA,QAAQ,CAAC,MAAc,EAAA;AACrB,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KAC7B;;+HAtJU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,mBAAA,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACVD;;AAEG;AAIG,MAAO,yBACX,SAAQ,oBAAiF,CAAA;AAEzF,IAAA,WAAA,CAAY,KAAwC,EAAA;AACnD,QAAA,KAAK,CACF,KAAK,EACL,+BAA+B,EAAE,CAClC,CAAC;KACH;;yIARU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAzB,mBAAA,yBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFxB,MAAM,EAAA,CAAA,CAAA;2FAEP,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACuBM,MAAM,kCAAkC,GAAG;AAChD,IAAA,8BAA8B,CAAC,uBAAuB;AACtD,IAAA,8BAA8B,CAAC,oBAAoB;AACnD,IAAA,8BAA8B,CAAC,mBAAmB;AAClD,IAAA,8BAA8B,CAAC,kBAAkB;CAClD,CAAC;MAGW,0BAA0B,CAAA;AAGrC,IAAA,WAAA,CACU,QAAiB,EACjB,gBAA2C,EAClB,MAAoC,EAC3B,YAA8B,EAAA;AAHhE,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;AACjB,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAA2B;AAClB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAA8B;AAC3B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAkB;AAG1E;;;;;;;;AAQG;AACH,QAAA,IAAO,CAAA,OAAA,GAAG,YAAY,CAAC,MAAM,CAAC,cAAc,GAAG,GAAG,EAAE,SAAS,GAAG,cAAc,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CACnG,MAAM,CAA6B,GAAG,kCAAkC,CAAC,EACzE,cAAc,CACZ,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAChC,EACD,YAAY,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAC1E,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAChD,MAAM,CAAC,MAAM,EACb,sCAAsC,CAAC,QAAQ,CAAC,CACjD,CAAC,IAAI,CACJ,GAAG,CAAC,IAAI,IAAI,IAAI,oBAAoB,CAAI,IAAI,CAAC,CAAC,EAC9C,UAAU,CAAC,CAAC,KAAgB,KAAK,EAAE,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACzF,CAAC,CACH,CAAC,CAAC;KAxBC;;0IARO,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,yBAAA,EAAA,EAAA,EAAA,KAAA,EAM3B,eAAe,EAAA,EAAA,EAAA,KAAA,EACf,wBAAwB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8IAPvB,0BAA0B,EAAA,CAAA,CAAA;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;;;8BAON,MAAM;+BAAC,eAAe,CAAA;;8BACtB,MAAM;+BAAC,wBAAwB,CAAA;;;;MCnBvB,gBAAgB,CAAA;AAG3B,IAAA,WAAA,CACU,QAAiB,EACQ,MAAoC,EAC3B,YAA8B,EAAA;AAFhE,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;AACQ,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAA8B;AAC3B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAkB;AAG1E;;AAEG;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC1C,MAAM,CAAC,oBAAoB,CAAC,eAAe,CAAC,EAC5C,SAAS,CAAC,CAAC,MAAwB,KACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACjD,GAAG,CAAC,IAAI,IAAI,IAAI,oBAAoB,CAAI,IAAI,CAAC,CAAC,EAC9C,UAAU,CAAC,CAAC,KAAgB,KAAK,EAAE,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACzF,CACF,CACF,CAAC,CAAC;AAEH;;AAEG;AAEH,QAAA,IAAA,CAAA,KAAK,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC3C,MAAM,CAAC,oBAAoB,CAAC,eAAe,CAAC,EAC5C,SAAS,CAAC,CAAC,MAAqB,KAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAClD,GAAG,CAAC,IAAI,IAAI,IAAI,oBAAoB,CAAI,IAAI,CAAC,CAAC,EAC9C,UAAU,CAAC,CAAC,KAAgB,KAAK,EAAE,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACzF,CACF,CACF,CAAC,CAAC;KA5BC;;gIAPO,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAKjB,eAAe,EAAA,EAAA,EAAA,KAAA,EACf,wBAAwB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;oIANvB,gBAAgB,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;;;8BAMN,MAAM;+BAAC,eAAe,CAAA;;8BACtB,MAAM;+BAAC,wBAAwB,CAAA;;;;MCtBvB,oBAAoB,CAAA;;oIAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,mBAAA,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAR7B,mBAAmB,EAAAA,IAAA,CAAA,oBAAA,EAAAE,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,CAAA;AAQV,mBAAA,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EATtB,OAAA,EAAA,CAAA;YACP,mBAAmB;YACnB,aAAa,CAAC,UAAU,CAAC;gBACvB,gBAAgB;gBAChB,0BAA0B;aAC3B,CAAC;AACF,YAAA,WAAW,CAAC,UAAU,CAAC,4BAA4B,EAAE,iBAAiB,CAAC;SACxE,CAAA,EAAA,CAAA,CAAA;2FAEU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,mBAAmB;wBACnB,aAAa,CAAC,UAAU,CAAC;4BACvB,gBAAgB;4BAChB,0BAA0B;yBAC3B,CAAC;AACF,wBAAA,WAAW,CAAC,UAAU,CAAC,4BAA4B,EAAE,iBAAiB,CAAC;AACxE,qBAAA;iBACF,CAAA;;;ACtBD;;AAEG;;;;"}