@daffodil/product-composite 0.39.13 → 0.40.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/daffodil-product-composite.d.ts +1 -0
  2. package/driver/in-memory/daffodil-product-composite-driver-in-memory.d.ts +1 -0
  3. package/driver/in-memory/in-memory.module.d.ts +5 -0
  4. package/driver/in-memory/package.json +5 -6
  5. package/driver/magento/composite-product-driver.module.d.ts +5 -0
  6. package/driver/magento/daffodil-product-composite-driver-magento.d.ts +1 -0
  7. package/driver/magento/fragments/bundled-product.d.ts +1 -1
  8. package/driver/magento/package.json +5 -6
  9. package/driver/magento/testing/daffodil-product-composite-driver-magento-testing.d.ts +1 -0
  10. package/driver/magento/testing/factories/bundle/bundle-item-option.factory.d.ts +3 -0
  11. package/driver/magento/testing/factories/bundle/bundle-item.factory.d.ts +3 -0
  12. package/driver/magento/testing/factories/bundle/bundle.factory.d.ts +3 -0
  13. package/driver/magento/testing/package.json +5 -6
  14. package/driver/testing/daffodil-product-composite-driver-testing.d.ts +1 -0
  15. package/driver/testing/package.json +5 -6
  16. package/driver/testing/testing.module.d.ts +5 -0
  17. package/{esm2015/daffodil-product-composite.js → esm2020/daffodil-product-composite.mjs} +0 -0
  18. package/{esm2015/driver/in-memory/daffodil-product-composite-driver-in-memory.js → esm2020/driver/in-memory/daffodil-product-composite-driver-in-memory.mjs} +0 -0
  19. package/esm2020/driver/in-memory/in-memory.module.mjs +36 -0
  20. package/{esm2015/driver/in-memory/index.js → esm2020/driver/in-memory/index.mjs} +0 -0
  21. package/{esm2015/driver/in-memory/public_api.js → esm2020/driver/in-memory/public_api.mjs} +0 -0
  22. package/esm2020/driver/magento/composite-product-driver.module.mjs +47 -0
  23. package/{esm2015/driver/magento/daffodil-product-composite-driver-magento.js → esm2020/driver/magento/daffodil-product-composite-driver-magento.mjs} +0 -0
  24. package/esm2020/driver/magento/fragments/bundled-product.mjs +34 -0
  25. package/{esm2015/driver/magento/index.js → esm2020/driver/magento/index.mjs} +0 -0
  26. package/{esm2015/driver/magento/models/bundled-product.js → esm2020/driver/magento/models/bundled-product.mjs} +0 -0
  27. package/{esm2015/driver/magento/models/public_api.js → esm2020/driver/magento/models/public_api.mjs} +0 -0
  28. package/{esm2015/driver/magento/public_api.js → esm2020/driver/magento/public_api.mjs} +0 -0
  29. package/{esm2015/driver/magento/testing/daffodil-product-composite-driver-magento-testing.js → esm2020/driver/magento/testing/daffodil-product-composite-driver-magento-testing.mjs} +0 -0
  30. package/esm2020/driver/magento/testing/factories/bundle/bundle-item-option.factory.mjs +37 -0
  31. package/esm2020/driver/magento/testing/factories/bundle/bundle-item.factory.mjs +36 -0
  32. package/esm2020/driver/magento/testing/factories/bundle/bundle.factory.mjs +36 -0
  33. package/{esm2015/driver/magento/testing/factories/public_api.js → esm2020/driver/magento/testing/factories/public_api.mjs} +0 -0
  34. package/{esm2015/driver/magento/testing/index.js → esm2020/driver/magento/testing/index.mjs} +0 -0
  35. package/{esm2015/driver/magento/testing/public_api.js → esm2020/driver/magento/testing/public_api.mjs} +0 -0
  36. package/esm2020/driver/magento/transforms/bundled-product-transformers.mjs +59 -0
  37. package/{esm2015/driver/magento/transforms/public_api.js → esm2020/driver/magento/transforms/public_api.mjs} +0 -0
  38. package/{esm2015/driver/testing/daffodil-product-composite-driver-testing.js → esm2020/driver/testing/daffodil-product-composite-driver-testing.mjs} +0 -0
  39. package/{esm2015/driver/testing/index.js → esm2020/driver/testing/index.mjs} +0 -0
  40. package/{esm2015/driver/testing/public_api.js → esm2020/driver/testing/public_api.mjs} +0 -0
  41. package/esm2020/driver/testing/testing.module.mjs +36 -0
  42. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  43. package/{esm2015/models/composite-configuration-item.js → esm2020/models/composite-configuration-item.mjs} +0 -0
  44. package/{esm2015/models/composite-product-item.js → esm2020/models/composite-product-item.mjs} +0 -0
  45. package/{esm2015/models/composite-product.js → esm2020/models/composite-product.mjs} +0 -0
  46. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  47. package/{esm2015/state/actions/composite-product.actions.js → esm2020/state/actions/composite-product.actions.mjs} +0 -0
  48. package/{esm2015/state/actions/public_api.js → esm2020/state/actions/public_api.mjs} +0 -0
  49. package/esm2020/state/composite-product-state.module.mjs +24 -0
  50. package/esm2020/state/daffodil-product-composite-state.mjs +5 -0
  51. package/{esm2015/state/facades/composite-product/composite-product-facade.interface.js → esm2020/state/facades/composite-product/composite-product-facade.interface.mjs} +0 -0
  52. package/esm2020/state/facades/composite-product/composite-product.facade.mjs +53 -0
  53. package/{esm2015/state/facades/public_api.js → esm2020/state/facades/public_api.mjs} +0 -0
  54. package/{esm2015/state/index.js → esm2020/state/index.mjs} +0 -0
  55. package/{esm2015/state/public_api.js → esm2020/state/public_api.mjs} +0 -0
  56. package/esm2020/state/reducers/composite-product-entities/composite-product-entities-reducer-adapter.mjs +9 -0
  57. package/esm2020/state/reducers/composite-product-entities/composite-product-entities.reducer.mjs +68 -0
  58. package/{esm2015/state/reducers/composite-product-entities/composite-product-entity.js → esm2020/state/reducers/composite-product-entities/composite-product-entity.mjs} +0 -0
  59. package/{esm2015/state/reducers/composite-product-reducers-state.interface.js → esm2020/state/reducers/composite-product-reducers-state.interface.mjs} +0 -0
  60. package/{esm2015/state/reducers/composite-product-reducers.js → esm2020/state/reducers/composite-product-reducers.mjs} +0 -0
  61. package/{esm2015/state/reducers/composite-product-store-feature-key.js → esm2020/state/reducers/composite-product-store-feature-key.mjs} +0 -0
  62. package/{esm2015/state/reducers/public_api.js → esm2020/state/reducers/public_api.mjs} +0 -0
  63. package/esm2020/state/selectors/all.selector.mjs +11 -0
  64. package/esm2020/state/selectors/composite-product/composite-product.selectors.mjs +184 -0
  65. package/esm2020/state/selectors/composite-product-entities/composite-product-entities.selectors.mjs +52 -0
  66. package/esm2020/state/selectors/feature.selector.mjs +12 -0
  67. package/{esm2015/state/selectors/public_api.js → esm2020/state/selectors/public_api.mjs} +0 -0
  68. package/{esm2015/state/testing/daffodil-product-composite-state-testing.js → esm2020/state/testing/daffodil-product-composite-state-testing.mjs} +0 -0
  69. package/{esm2015/state/testing/index.js → esm2020/state/testing/index.mjs} +0 -0
  70. package/esm2020/state/testing/mock-composite-product-facade.mjs +46 -0
  71. package/esm2020/state/testing/product-testing.module.mjs +20 -0
  72. package/{esm2015/state/testing/public_api.js → esm2020/state/testing/public_api.mjs} +0 -0
  73. package/{esm2015/testing/daffodil-product-composite-testing.js → esm2020/testing/daffodil-product-composite-testing.mjs} +0 -0
  74. package/{esm2015/testing/factories/composite-product.factory.js → esm2020/testing/factories/composite-product.factory.mjs} +9 -9
  75. package/{esm2015/testing/factories/public_api.js → esm2020/testing/factories/public_api.mjs} +0 -0
  76. package/{esm2015/testing/index.js → esm2020/testing/index.mjs} +0 -0
  77. package/{esm2015/testing/public_api.js → esm2020/testing/public_api.mjs} +0 -0
  78. package/fesm2015/daffodil-product-composite-driver-in-memory.mjs +43 -0
  79. package/fesm2015/daffodil-product-composite-driver-in-memory.mjs.map +1 -0
  80. package/fesm2015/daffodil-product-composite-driver-magento-testing.mjs +103 -0
  81. package/fesm2015/daffodil-product-composite-driver-magento-testing.mjs.map +1 -0
  82. package/fesm2015/{daffodil-product-composite-driver-magento.js → daffodil-product-composite-driver-magento.mjs} +21 -13
  83. package/fesm2015/daffodil-product-composite-driver-magento.mjs.map +1 -0
  84. package/fesm2015/daffodil-product-composite-driver-testing.mjs +43 -0
  85. package/fesm2015/daffodil-product-composite-driver-testing.mjs.map +1 -0
  86. package/fesm2015/daffodil-product-composite-state-testing.mjs +70 -0
  87. package/fesm2015/daffodil-product-composite-state-testing.mjs.map +1 -0
  88. package/fesm2015/{daffodil-product-composite-state.js → daffodil-product-composite-state.mjs} +48 -48
  89. package/fesm2015/daffodil-product-composite-state.mjs.map +1 -0
  90. package/fesm2015/{daffodil-product-composite-testing.js → daffodil-product-composite-testing.mjs} +40 -39
  91. package/fesm2015/daffodil-product-composite-testing.mjs.map +1 -0
  92. package/fesm2015/{daffodil-product-composite.js → daffodil-product-composite.mjs} +1 -1
  93. package/fesm2015/daffodil-product-composite.mjs.map +1 -0
  94. package/fesm2020/daffodil-product-composite-driver-in-memory.mjs +43 -0
  95. package/fesm2020/daffodil-product-composite-driver-in-memory.mjs.map +1 -0
  96. package/fesm2020/daffodil-product-composite-driver-magento-testing.mjs +103 -0
  97. package/fesm2020/daffodil-product-composite-driver-magento-testing.mjs.map +1 -0
  98. package/fesm2020/daffodil-product-composite-driver-magento.mjs +151 -0
  99. package/fesm2020/daffodil-product-composite-driver-magento.mjs.map +1 -0
  100. package/fesm2020/daffodil-product-composite-driver-testing.mjs +43 -0
  101. package/fesm2020/daffodil-product-composite-driver-testing.mjs.map +1 -0
  102. package/fesm2020/daffodil-product-composite-state-testing.mjs +70 -0
  103. package/fesm2020/daffodil-product-composite-state-testing.mjs.map +1 -0
  104. package/fesm2020/daffodil-product-composite-state.mjs +431 -0
  105. package/fesm2020/daffodil-product-composite-state.mjs.map +1 -0
  106. package/fesm2020/daffodil-product-composite-testing.mjs +134 -0
  107. package/fesm2020/daffodil-product-composite-testing.mjs.map +1 -0
  108. package/fesm2020/daffodil-product-composite.mjs +15 -0
  109. package/fesm2020/daffodil-product-composite.mjs.map +1 -0
  110. package/package.json +87 -19
  111. package/state/composite-product-state.module.d.ts +5 -0
  112. package/state/daffodil-product-composite-state.d.ts +1 -1
  113. package/state/facades/composite-product/composite-product.facade.d.ts +3 -0
  114. package/state/package.json +5 -6
  115. package/state/testing/daffodil-product-composite-state-testing.d.ts +1 -0
  116. package/state/testing/mock-composite-product-facade.d.ts +3 -0
  117. package/state/testing/package.json +5 -6
  118. package/state/testing/product-testing.module.d.ts +4 -0
  119. package/testing/daffodil-product-composite-testing.d.ts +1 -0
  120. package/testing/factories/composite-product.factory.d.ts +3 -0
  121. package/testing/package.json +5 -6
  122. package/bundles/daffodil-product-composite-driver-in-memory.umd.js +0 -44
  123. package/bundles/daffodil-product-composite-driver-in-memory.umd.js.map +0 -1
  124. package/bundles/daffodil-product-composite-driver-in-memory.umd.min.js +0 -2
  125. package/bundles/daffodil-product-composite-driver-in-memory.umd.min.js.map +0 -1
  126. package/bundles/daffodil-product-composite-driver-magento-testing.umd.js +0 -445
  127. package/bundles/daffodil-product-composite-driver-magento-testing.umd.js.map +0 -1
  128. package/bundles/daffodil-product-composite-driver-magento-testing.umd.min.js +0 -16
  129. package/bundles/daffodil-product-composite-driver-magento-testing.umd.min.js.map +0 -1
  130. package/bundles/daffodil-product-composite-driver-magento.umd.js +0 -437
  131. package/bundles/daffodil-product-composite-driver-magento.umd.js.map +0 -1
  132. package/bundles/daffodil-product-composite-driver-magento.umd.min.js +0 -16
  133. package/bundles/daffodil-product-composite-driver-magento.umd.min.js.map +0 -1
  134. package/bundles/daffodil-product-composite-driver-testing.umd.js +0 -44
  135. package/bundles/daffodil-product-composite-driver-testing.umd.js.map +0 -1
  136. package/bundles/daffodil-product-composite-driver-testing.umd.min.js +0 -2
  137. package/bundles/daffodil-product-composite-driver-testing.umd.min.js.map +0 -1
  138. package/bundles/daffodil-product-composite-state-testing.umd.js +0 -74
  139. package/bundles/daffodil-product-composite-state-testing.umd.js.map +0 -1
  140. package/bundles/daffodil-product-composite-state-testing.umd.min.js +0 -2
  141. package/bundles/daffodil-product-composite-state-testing.umd.min.js.map +0 -1
  142. package/bundles/daffodil-product-composite-state.umd.js +0 -755
  143. package/bundles/daffodil-product-composite-state.umd.js.map +0 -1
  144. package/bundles/daffodil-product-composite-state.umd.min.js +0 -2
  145. package/bundles/daffodil-product-composite-state.umd.min.js.map +0 -1
  146. package/bundles/daffodil-product-composite-testing.umd.js +0 -460
  147. package/bundles/daffodil-product-composite-testing.umd.js.map +0 -1
  148. package/bundles/daffodil-product-composite-testing.umd.min.js +0 -16
  149. package/bundles/daffodil-product-composite-testing.umd.min.js.map +0 -1
  150. package/bundles/daffodil-product-composite.umd.js +0 -22
  151. package/bundles/daffodil-product-composite.umd.js.map +0 -1
  152. package/bundles/daffodil-product-composite.umd.min.js +0 -2
  153. package/bundles/daffodil-product-composite.umd.min.js.map +0 -1
  154. package/daffodil-product-composite.metadata.json +0 -1
  155. package/driver/in-memory/daffodil-product-composite-driver-in-memory.metadata.json +0 -1
  156. package/driver/magento/daffodil-product-composite-driver-magento.metadata.json +0 -1
  157. package/driver/magento/testing/daffodil-product-composite-driver-magento-testing.metadata.json +0 -1
  158. package/driver/testing/daffodil-product-composite-driver-testing.metadata.json +0 -1
  159. package/esm2015/driver/in-memory/in-memory.module.js +0 -29
  160. package/esm2015/driver/magento/composite-product-driver.module.js +0 -40
  161. package/esm2015/driver/magento/fragments/bundled-product.js +0 -34
  162. package/esm2015/driver/magento/testing/factories/bundle/bundle-item-option.factory.js +0 -39
  163. package/esm2015/driver/magento/testing/factories/bundle/bundle-item.factory.js +0 -38
  164. package/esm2015/driver/magento/testing/factories/bundle/bundle.factory.js +0 -38
  165. package/esm2015/driver/magento/transforms/bundled-product-transformers.js +0 -55
  166. package/esm2015/driver/testing/testing.module.js +0 -29
  167. package/esm2015/state/composite-product-state.module.js +0 -16
  168. package/esm2015/state/daffodil-product-composite-state.js +0 -6
  169. package/esm2015/state/facades/composite-product/composite-product.facade.js +0 -55
  170. package/esm2015/state/reducers/composite-product-entities/composite-product-entities-reducer-adapter.js +0 -11
  171. package/esm2015/state/reducers/composite-product-entities/composite-product-entities.reducer.js +0 -62
  172. package/esm2015/state/selectors/all.selector.js +0 -8
  173. package/esm2015/state/selectors/composite-product/composite-product.selectors.js +0 -181
  174. package/esm2015/state/selectors/composite-product-entities/composite-product-entities.selectors.js +0 -49
  175. package/esm2015/state/selectors/feature.selector.js +0 -14
  176. package/esm2015/state/testing/mock-composite-product-facade.js +0 -44
  177. package/esm2015/state/testing/product-testing.module.js +0 -13
  178. package/fesm2015/daffodil-product-composite-driver-in-memory.js +0 -36
  179. package/fesm2015/daffodil-product-composite-driver-in-memory.js.map +0 -1
  180. package/fesm2015/daffodil-product-composite-driver-magento-testing.js +0 -107
  181. package/fesm2015/daffodil-product-composite-driver-magento-testing.js.map +0 -1
  182. package/fesm2015/daffodil-product-composite-driver-magento.js.map +0 -1
  183. package/fesm2015/daffodil-product-composite-driver-testing.js +0 -36
  184. package/fesm2015/daffodil-product-composite-driver-testing.js.map +0 -1
  185. package/fesm2015/daffodil-product-composite-state-testing.js +0 -61
  186. package/fesm2015/daffodil-product-composite-state-testing.js.map +0 -1
  187. package/fesm2015/daffodil-product-composite-state.js.map +0 -1
  188. package/fesm2015/daffodil-product-composite-testing.js.map +0 -1
  189. package/fesm2015/daffodil-product-composite.js.map +0 -1
  190. package/state/daffodil-product-composite-state.metadata.json +0 -1
  191. package/state/testing/daffodil-product-composite-state-testing.metadata.json +0 -1
  192. package/testing/daffodil-product-composite-testing.metadata.json +0 -1
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@daffodil/product-composite" />
4
5
  export * from './index';
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@daffodil/product-composite/driver/in-memory" />
4
5
  export * from './index';
@@ -1,7 +1,12 @@
1
1
  import { ModuleWithProviders } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
2
4
  /**
3
5
  * Module for providing the composite product factory to the product kind factory.
4
6
  */
5
7
  export declare class DaffCompositeProductInMemoryDriverModule {
6
8
  static forRoot(): ModuleWithProviders<DaffCompositeProductInMemoryDriverModule>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<DaffCompositeProductInMemoryDriverModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DaffCompositeProductInMemoryDriverModule, never, [typeof i1.CommonModule], never>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<DaffCompositeProductInMemoryDriverModule>;
7
12
  }
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@daffodil/product-composite/driver/in-memory",
3
- "main": "../../bundles/daffodil-product-composite-driver-in-memory.umd.js",
4
- "module": "../../fesm2015/daffodil-product-composite-driver-in-memory.js",
5
- "es2015": "../../fesm2015/daffodil-product-composite-driver-in-memory.js",
6
- "esm2015": "../../esm2015/driver/in-memory/daffodil-product-composite-driver-in-memory.js",
7
- "fesm2015": "../../fesm2015/daffodil-product-composite-driver-in-memory.js",
3
+ "module": "../../fesm2015/daffodil-product-composite-driver-in-memory.mjs",
4
+ "es2020": "../../fesm2020/daffodil-product-composite-driver-in-memory.mjs",
5
+ "esm2020": "../../esm2020/driver/in-memory/daffodil-product-composite-driver-in-memory.mjs",
6
+ "fesm2020": "../../fesm2020/daffodil-product-composite-driver-in-memory.mjs",
7
+ "fesm2015": "../../fesm2015/daffodil-product-composite-driver-in-memory.mjs",
8
8
  "typings": "daffodil-product-composite-driver-in-memory.d.ts",
9
- "metadata": "daffodil-product-composite-driver-in-memory.metadata.json",
10
9
  "sideEffects": false
11
10
  }
@@ -1,7 +1,12 @@
1
1
  import { ModuleWithProviders } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
2
4
  /**
3
5
  * A module that provides the product fragment for composite products along with a composite product transformer.
4
6
  */
5
7
  export declare class DaffCompositeProductMagentoDriverModule {
6
8
  static forRoot(): ModuleWithProviders<DaffCompositeProductMagentoDriverModule>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<DaffCompositeProductMagentoDriverModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DaffCompositeProductMagentoDriverModule, never, [typeof i1.CommonModule], never>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<DaffCompositeProductMagentoDriverModule>;
7
12
  }
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@daffodil/product-composite/driver/magento" />
4
5
  export * from './index';
@@ -1 +1 @@
1
- export declare const magentoBundledProductFragment: import("graphql").DocumentNode;
1
+ export declare const magentoBundledProductFragment: import("@graphql-typed-document-node/core").TypedDocumentNode<unknown, unknown>;
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@daffodil/product-composite/driver/magento",
3
- "main": "../../bundles/daffodil-product-composite-driver-magento.umd.js",
4
- "module": "../../fesm2015/daffodil-product-composite-driver-magento.js",
5
- "es2015": "../../fesm2015/daffodil-product-composite-driver-magento.js",
6
- "esm2015": "../../esm2015/driver/magento/daffodil-product-composite-driver-magento.js",
7
- "fesm2015": "../../fesm2015/daffodil-product-composite-driver-magento.js",
3
+ "module": "../../fesm2015/daffodil-product-composite-driver-magento.mjs",
4
+ "es2020": "../../fesm2020/daffodil-product-composite-driver-magento.mjs",
5
+ "esm2020": "../../esm2020/driver/magento/daffodil-product-composite-driver-magento.mjs",
6
+ "fesm2020": "../../fesm2020/daffodil-product-composite-driver-magento.mjs",
7
+ "fesm2015": "../../fesm2015/daffodil-product-composite-driver-magento.mjs",
8
8
  "typings": "daffodil-product-composite-driver-magento.d.ts",
9
- "metadata": "daffodil-product-composite-driver-magento.metadata.json",
10
9
  "sideEffects": false
11
10
  }
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@daffodil/product-composite/driver/magento/testing" />
4
5
  export * from './index';
@@ -2,6 +2,7 @@ import { DaffModelFactory } from '@daffodil/core/testing';
2
2
  import { MagentoBundledProductItemOption } from '@daffodil/product-composite/driver/magento';
3
3
  import { MagentoSimpleProduct } from '@daffodil/product/driver/magento';
4
4
  import { MagentoSimpleProductFactory } from '@daffodil/product/driver/magento/testing';
5
+ import * as i0 from "@angular/core";
5
6
  export declare class MockMagentoBundledProductItemOption implements MagentoBundledProductItemOption {
6
7
  private simpleFactory;
7
8
  constructor(simpleFactory: MagentoSimpleProductFactory);
@@ -18,4 +19,6 @@ export declare class MockMagentoBundledProductItemOption implements MagentoBundl
18
19
  */
19
20
  export declare class MagentoBundledProductItemOptionFactory extends DaffModelFactory<MagentoBundledProductItemOption> {
20
21
  constructor(simpleFactory: MagentoSimpleProductFactory);
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<MagentoBundledProductItemOptionFactory, never>;
23
+ static ɵprov: i0.ɵɵInjectableDeclaration<MagentoBundledProductItemOptionFactory>;
21
24
  }
@@ -1,6 +1,7 @@
1
1
  import { DaffModelFactory } from '@daffodil/core/testing';
2
2
  import { MagentoBundledProductItem, MagentoBundledProductItemOption } from '@daffodil/product-composite/driver/magento';
3
3
  import { MagentoBundledProductItemOptionFactory } from './bundle-item-option.factory';
4
+ import * as i0 from "@angular/core";
4
5
  export declare class MockMagentoBundledProductItem implements MagentoBundledProductItem {
5
6
  private optionFactory;
6
7
  constructor(optionFactory: MagentoBundledProductItemOptionFactory);
@@ -16,4 +17,6 @@ export declare class MockMagentoBundledProductItem implements MagentoBundledProd
16
17
  */
17
18
  export declare class MagentoBundledProductItemFactory extends DaffModelFactory<MagentoBundledProductItem> {
18
19
  constructor(optionFactory: MagentoBundledProductItemOptionFactory);
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<MagentoBundledProductItemFactory, never>;
21
+ static ɵprov: i0.ɵɵInjectableDeclaration<MagentoBundledProductItemFactory>;
19
22
  }
@@ -3,6 +3,7 @@ import { MagentoBundledProduct, MagentoBundledProductItem } from '@daffodil/prod
3
3
  import { MagentoProductTypeEnum } from '@daffodil/product/driver/magento';
4
4
  import { MockMagentoCoreProduct } from '@daffodil/product/driver/magento/testing';
5
5
  import { MagentoBundledProductItemFactory } from './bundle-item.factory';
6
+ import * as i0 from "@angular/core";
6
7
  export declare class MockMagentoBundledProduct extends MockMagentoCoreProduct implements MagentoBundledProduct {
7
8
  private bundleItemFactory;
8
9
  constructor(bundleItemFactory: MagentoBundledProductItemFactory);
@@ -15,4 +16,6 @@ export declare class MockMagentoBundledProduct extends MockMagentoCoreProduct im
15
16
  */
16
17
  export declare class MagentoBundledProductFactory extends DaffModelFactory<MagentoBundledProduct> {
17
18
  constructor(bundleItemFactory: MagentoBundledProductItemFactory);
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<MagentoBundledProductFactory, never>;
20
+ static ɵprov: i0.ɵɵInjectableDeclaration<MagentoBundledProductFactory>;
18
21
  }
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@daffodil/product-composite/driver/magento/testing",
3
- "main": "../../../bundles/daffodil-product-composite-driver-magento-testing.umd.js",
4
- "module": "../../../fesm2015/daffodil-product-composite-driver-magento-testing.js",
5
- "es2015": "../../../fesm2015/daffodil-product-composite-driver-magento-testing.js",
6
- "esm2015": "../../../esm2015/driver/magento/testing/daffodil-product-composite-driver-magento-testing.js",
7
- "fesm2015": "../../../fesm2015/daffodil-product-composite-driver-magento-testing.js",
3
+ "module": "../../../fesm2015/daffodil-product-composite-driver-magento-testing.mjs",
4
+ "es2020": "../../../fesm2020/daffodil-product-composite-driver-magento-testing.mjs",
5
+ "esm2020": "../../../esm2020/driver/magento/testing/daffodil-product-composite-driver-magento-testing.mjs",
6
+ "fesm2020": "../../../fesm2020/daffodil-product-composite-driver-magento-testing.mjs",
7
+ "fesm2015": "../../../fesm2015/daffodil-product-composite-driver-magento-testing.mjs",
8
8
  "typings": "daffodil-product-composite-driver-magento-testing.d.ts",
9
- "metadata": "daffodil-product-composite-driver-magento-testing.metadata.json",
10
9
  "sideEffects": false
11
10
  }
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@daffodil/product-composite/driver/testing" />
4
5
  export * from './index';
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@daffodil/product-composite/driver/testing",
3
- "main": "../../bundles/daffodil-product-composite-driver-testing.umd.js",
4
- "module": "../../fesm2015/daffodil-product-composite-driver-testing.js",
5
- "es2015": "../../fesm2015/daffodil-product-composite-driver-testing.js",
6
- "esm2015": "../../esm2015/driver/testing/daffodil-product-composite-driver-testing.js",
7
- "fesm2015": "../../fesm2015/daffodil-product-composite-driver-testing.js",
3
+ "module": "../../fesm2015/daffodil-product-composite-driver-testing.mjs",
4
+ "es2020": "../../fesm2020/daffodil-product-composite-driver-testing.mjs",
5
+ "esm2020": "../../esm2020/driver/testing/daffodil-product-composite-driver-testing.mjs",
6
+ "fesm2020": "../../fesm2020/daffodil-product-composite-driver-testing.mjs",
7
+ "fesm2015": "../../fesm2015/daffodil-product-composite-driver-testing.mjs",
8
8
  "typings": "daffodil-product-composite-driver-testing.d.ts",
9
- "metadata": "daffodil-product-composite-driver-testing.metadata.json",
10
9
  "sideEffects": false
11
10
  }
@@ -1,7 +1,12 @@
1
1
  import { ModuleWithProviders } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
2
4
  /**
3
5
  * Module for providing the composite product factory to the product kind factory.
4
6
  */
5
7
  export declare class DaffCompositeProductTestingDriverModule {
6
8
  static forRoot(): ModuleWithProviders<DaffCompositeProductTestingDriverModule>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<DaffCompositeProductTestingDriverModule, never>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DaffCompositeProductTestingDriverModule, never, [typeof i1.CommonModule], never>;
11
+ static ɵinj: i0.ɵɵInjectorDeclaration<DaffCompositeProductTestingDriverModule>;
7
12
  }
@@ -0,0 +1,36 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule, } from '@angular/core';
3
+ import { DaffCompositeProductFactory } from '@daffodil/product-composite/testing';
4
+ import { DAFF_PRODUCT_TYPE_FACTORIES } from '@daffodil/product/testing';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Module for providing the composite product factory to the product kind factory.
8
+ */
9
+ export class DaffCompositeProductInMemoryDriverModule {
10
+ static forRoot() {
11
+ return {
12
+ ngModule: DaffCompositeProductInMemoryDriverModule,
13
+ providers: [
14
+ {
15
+ provide: DAFF_PRODUCT_TYPE_FACTORIES,
16
+ useExisting: DaffCompositeProductFactory,
17
+ multi: true,
18
+ },
19
+ ],
20
+ };
21
+ }
22
+ }
23
+ /** @nocollapse */ /** @nocollapse */ DaffCompositeProductInMemoryDriverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductInMemoryDriverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
+ /** @nocollapse */ /** @nocollapse */ DaffCompositeProductInMemoryDriverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductInMemoryDriverModule, imports: [CommonModule] });
25
+ /** @nocollapse */ /** @nocollapse */ DaffCompositeProductInMemoryDriverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductInMemoryDriverModule, imports: [[
26
+ CommonModule,
27
+ ]] });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductInMemoryDriverModule, decorators: [{
29
+ type: NgModule,
30
+ args: [{
31
+ imports: [
32
+ CommonModule,
33
+ ],
34
+ }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tbWVtb3J5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvZHJpdmVyL2luLW1lbW9yeS9zcmMvaW4tbWVtb3J5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFFBQVEsR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFeEU7O0dBRUc7QUFNSCxNQUFNLE9BQU8sd0NBQXdDO0lBQ25ELE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSx3Q0FBd0M7WUFDbEQsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSwyQkFBMkI7b0JBQ3BDLFdBQVcsRUFBRSwyQkFBMkI7b0JBQ3hDLEtBQUssRUFBRSxJQUFJO2lCQUNaO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7MktBWlUsd0NBQXdDOzRLQUF4Qyx3Q0FBd0MsWUFIakQsWUFBWTs0S0FHSCx3Q0FBd0MsWUFKMUM7WUFDUCxZQUFZO1NBQ2I7MkZBRVUsd0NBQXdDO2tCQUxwRCxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIE5nTW9kdWxlLFxuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRGFmZkNvbXBvc2l0ZVByb2R1Y3RGYWN0b3J5IH0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QtY29tcG9zaXRlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgREFGRl9QUk9EVUNUX1RZUEVfRkFDVE9SSUVTIH0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QvdGVzdGluZyc7XG5cbi8qKlxuICogTW9kdWxlIGZvciBwcm92aWRpbmcgdGhlIGNvbXBvc2l0ZSBwcm9kdWN0IGZhY3RvcnkgdG8gdGhlIHByb2R1Y3Qga2luZCBmYWN0b3J5LlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYWZmQ29tcG9zaXRlUHJvZHVjdEluTWVtb3J5RHJpdmVyTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEYWZmQ29tcG9zaXRlUHJvZHVjdEluTWVtb3J5RHJpdmVyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBEYWZmQ29tcG9zaXRlUHJvZHVjdEluTWVtb3J5RHJpdmVyTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBEQUZGX1BST0RVQ1RfVFlQRV9GQUNUT1JJRVMsXG4gICAgICAgICAgdXNlRXhpc3Rpbmc6IERhZmZDb21wb3NpdGVQcm9kdWN0RmFjdG9yeSxcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,47 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule, } from '@angular/core';
3
+ import { DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS, DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_TRANSFORMS, MagentoProductTypeEnum, } from '@daffodil/product/driver/magento';
4
+ import { magentoBundledProductFragment } from './fragments/bundled-product';
5
+ import { transformMagentoBundledProduct } from './transforms/bundled-product-transformers';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * A module that provides the product fragment for composite products along with a composite product transformer.
9
+ */
10
+ export class DaffCompositeProductMagentoDriverModule {
11
+ static forRoot() {
12
+ return {
13
+ ngModule: DaffCompositeProductMagentoDriverModule,
14
+ providers: [
15
+ {
16
+ provide: DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS,
17
+ useValue: magentoBundledProductFragment,
18
+ multi: true,
19
+ },
20
+ {
21
+ provide: DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_TRANSFORMS,
22
+ // eslint-disable-next-line prefer-arrow/prefer-arrow-functions
23
+ useValue(daffProduct, magentoProduct) {
24
+ return magentoProduct.__typename === MagentoProductTypeEnum.BundledProduct
25
+ ? transformMagentoBundledProduct(daffProduct, magentoProduct)
26
+ : daffProduct;
27
+ },
28
+ multi: true,
29
+ },
30
+ ],
31
+ };
32
+ }
33
+ }
34
+ /** @nocollapse */ /** @nocollapse */ DaffCompositeProductMagentoDriverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductMagentoDriverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
35
+ /** @nocollapse */ /** @nocollapse */ DaffCompositeProductMagentoDriverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductMagentoDriverModule, imports: [CommonModule] });
36
+ /** @nocollapse */ /** @nocollapse */ DaffCompositeProductMagentoDriverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductMagentoDriverModule, imports: [[
37
+ CommonModule,
38
+ ]] });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: DaffCompositeProductMagentoDriverModule, decorators: [{
40
+ type: NgModule,
41
+ args: [{
42
+ imports: [
43
+ CommonModule,
44
+ ],
45
+ }]
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXByb2R1Y3QtZHJpdmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvZHJpdmVyL21hZ2VudG8vc3JjL2NvbXBvc2l0ZS1wcm9kdWN0LWRyaXZlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxRQUFRLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLG9EQUFvRCxFQUNwRCxxREFBcUQsRUFDckQsc0JBQXNCLEdBQ3ZCLE1BQU0sa0NBQWtDLENBQUM7QUFFMUMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBRTNGOztHQUVHO0FBTUgsTUFBTSxPQUFPLHVDQUF1QztJQUNsRCxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsdUNBQXVDO1lBQ2pELFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsb0RBQW9EO29CQUM3RCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxLQUFLLEVBQUUsSUFBSTtpQkFDWjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUscURBQXFEO29CQUM5RCwrREFBK0Q7b0JBQy9ELFFBQVEsQ0FBQyxXQUFXLEVBQUUsY0FBYzt3QkFDbEMsT0FBTyxjQUFjLENBQUMsVUFBVSxLQUFLLHNCQUFzQixDQUFDLGNBQWM7NEJBQ3hFLENBQUMsQ0FBQyw4QkFBOEIsQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDOzRCQUM3RCxDQUFDLENBQUMsV0FBVyxDQUFDO29CQUNsQixDQUFDO29CQUNELEtBQUssRUFBRSxJQUFJO2lCQUNaO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7MEtBdEJVLHVDQUF1QzsyS0FBdkMsdUNBQXVDLFlBSGhELFlBQVk7MktBR0gsdUNBQXVDLFlBSnpDO1lBQ1AsWUFBWTtTQUNiOzJGQUVVLHVDQUF1QztrQkFMbkQsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBOZ01vZHVsZSxcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIERBRkZfUFJPRFVDVF9NQUdFTlRPX0VYVFJBX1BST0RVQ1RfUFJFVklFV19GUkFHTUVOVFMsXG4gIERBRkZfUFJPRFVDVF9NQUdFTlRPX0VYVFJBX1BST0RVQ1RfUFJFVklFV19UUkFOU0ZPUk1TLFxuICBNYWdlbnRvUHJvZHVjdFR5cGVFbnVtLFxufSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdC9kcml2ZXIvbWFnZW50byc7XG5cbmltcG9ydCB7IG1hZ2VudG9CdW5kbGVkUHJvZHVjdEZyYWdtZW50IH0gZnJvbSAnLi9mcmFnbWVudHMvYnVuZGxlZC1wcm9kdWN0JztcbmltcG9ydCB7IHRyYW5zZm9ybU1hZ2VudG9CdW5kbGVkUHJvZHVjdCB9IGZyb20gJy4vdHJhbnNmb3Jtcy9idW5kbGVkLXByb2R1Y3QtdHJhbnNmb3JtZXJzJztcblxuLyoqXG4gKiBBIG1vZHVsZSB0aGF0IHByb3ZpZGVzIHRoZSBwcm9kdWN0IGZyYWdtZW50IGZvciBjb21wb3NpdGUgcHJvZHVjdHMgYWxvbmcgd2l0aCBhIGNvbXBvc2l0ZSBwcm9kdWN0IHRyYW5zZm9ybWVyLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYWZmQ29tcG9zaXRlUHJvZHVjdE1hZ2VudG9Ecml2ZXJNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERhZmZDb21wb3NpdGVQcm9kdWN0TWFnZW50b0RyaXZlck1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGFmZkNvbXBvc2l0ZVByb2R1Y3RNYWdlbnRvRHJpdmVyTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBEQUZGX1BST0RVQ1RfTUFHRU5UT19FWFRSQV9QUk9EVUNUX1BSRVZJRVdfRlJBR01FTlRTLFxuICAgICAgICAgIHVzZVZhbHVlOiBtYWdlbnRvQnVuZGxlZFByb2R1Y3RGcmFnbWVudCxcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IERBRkZfUFJPRFVDVF9NQUdFTlRPX0VYVFJBX1BST0RVQ1RfUFJFVklFV19UUkFOU0ZPUk1TLFxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItYXJyb3cvcHJlZmVyLWFycm93LWZ1bmN0aW9uc1xuICAgICAgICAgIHVzZVZhbHVlKGRhZmZQcm9kdWN0LCBtYWdlbnRvUHJvZHVjdCkge1xuICAgICAgICAgICAgcmV0dXJuIG1hZ2VudG9Qcm9kdWN0Ll9fdHlwZW5hbWUgPT09IE1hZ2VudG9Qcm9kdWN0VHlwZUVudW0uQnVuZGxlZFByb2R1Y3RcbiAgICAgICAgICAgICAgPyB0cmFuc2Zvcm1NYWdlbnRvQnVuZGxlZFByb2R1Y3QoZGFmZlByb2R1Y3QsIG1hZ2VudG9Qcm9kdWN0KVxuICAgICAgICAgICAgICA6IGRhZmZQcm9kdWN0O1xuICAgICAgICAgIH0sXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,34 @@
1
+ import { gql } from '@damienwebdev/apollo-angular';
2
+ export const magentoBundledProductFragment = gql `
3
+ fragment magentoBundledProduct on BundleProduct {
4
+ items {
5
+ option_id
6
+ required
7
+ title
8
+ type
9
+ options {
10
+ uid
11
+ is_default
12
+ label
13
+ quantity
14
+ position
15
+ product {
16
+ stock_status
17
+ price_range {
18
+ maximum_price {
19
+ regular_price {
20
+ value
21
+ currency
22
+ }
23
+ discount {
24
+ amount_off
25
+ percent_off
26
+ }
27
+ }
28
+ }
29
+ }
30
+ }
31
+ }
32
+ }
33
+ `;
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlZC1wcm9kdWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wcm9kdWN0LWNvbXBvc2l0ZS9kcml2ZXIvbWFnZW50by9zcmMvZnJhZ21lbnRzL2J1bmRsZWQtcHJvZHVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkQsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBK0IvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3FsIH0gZnJvbSAnQGRhbWllbndlYmRldi9hcG9sbG8tYW5ndWxhcic7XG5cbmV4cG9ydCBjb25zdCBtYWdlbnRvQnVuZGxlZFByb2R1Y3RGcmFnbWVudCA9IGdxbGBcbmZyYWdtZW50IG1hZ2VudG9CdW5kbGVkUHJvZHVjdCBvbiBCdW5kbGVQcm9kdWN0IHtcblx0aXRlbXMge1xuXHRcdG9wdGlvbl9pZFxuXHRcdHJlcXVpcmVkXG5cdFx0dGl0bGVcblx0XHR0eXBlXG5cdFx0b3B0aW9ucyB7XG5cdFx0XHR1aWRcblx0XHRcdGlzX2RlZmF1bHRcblx0XHRcdGxhYmVsXG5cdFx0XHRxdWFudGl0eVxuICAgICAgcG9zaXRpb25cblx0XHRcdHByb2R1Y3Qge1xuXHRcdFx0XHRzdG9ja19zdGF0dXNcblx0XHRcdFx0cHJpY2VfcmFuZ2Uge1xuXHRcdFx0XHRcdG1heGltdW1fcHJpY2Uge1xuXHRcdFx0XHRcdFx0cmVndWxhcl9wcmljZSB7XG5cdFx0XHRcdFx0XHRcdHZhbHVlXG5cdFx0XHRcdFx0XHRcdGN1cnJlbmN5XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRkaXNjb3VudCB7XG5cdFx0XHRcdFx0XHRcdGFtb3VudF9vZmZcblx0XHRcdFx0XHRcdFx0cGVyY2VudF9vZmZcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbmA7XG4iXX0=
@@ -0,0 +1,37 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as faker from '@faker-js/faker/locale/en_US';
3
+ import { DaffModelFactory } from '@daffodil/core/testing';
4
+ import { MagentoSimpleProductFactory } from '@daffodil/product/driver/magento/testing';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@daffodil/product/driver/magento/testing";
7
+ export class MockMagentoBundledProductItemOption {
8
+ constructor(simpleFactory) {
9
+ this.simpleFactory = simpleFactory;
10
+ this.uid = faker.datatype.uuid();
11
+ this.label = faker.random.word();
12
+ this.quantity = faker.datatype.number({ min: 1, max: 20 });
13
+ this.is_default = faker.random.boolean();
14
+ this.position = faker.datatype.number({ min: 1, max: 10 });
15
+ this.product = this.createProduct();
16
+ }
17
+ createProduct() {
18
+ return this.simpleFactory.create();
19
+ }
20
+ }
21
+ /**
22
+ * A factory for creating stub data for {@link MagentoBundledProduct}s.
23
+ */
24
+ export class MagentoBundledProductItemOptionFactory extends DaffModelFactory {
25
+ constructor(simpleFactory) {
26
+ super(MockMagentoBundledProductItemOption, simpleFactory);
27
+ }
28
+ }
29
+ /** @nocollapse */ /** @nocollapse */ MagentoBundledProductItemOptionFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MagentoBundledProductItemOptionFactory, deps: [{ token: i1.MagentoSimpleProductFactory }], target: i0.ɵɵFactoryTarget.Injectable });
30
+ /** @nocollapse */ /** @nocollapse */ MagentoBundledProductItemOptionFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MagentoBundledProductItemOptionFactory, providedIn: 'root' });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MagentoBundledProductItemOptionFactory, decorators: [{
32
+ type: Injectable,
33
+ args: [{
34
+ providedIn: 'root',
35
+ }]
36
+ }], ctorParameters: function () { return [{ type: i1.MagentoSimpleProductFactory }]; } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLWl0ZW0tb3B0aW9uLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Byb2R1Y3QtY29tcG9zaXRlL2RyaXZlci9tYWdlbnRvL3Rlc3Rpbmcvc3JjL2ZhY3Rvcmllcy9idW5kbGUvYnVuZGxlLWl0ZW0tb3B0aW9uLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssS0FBSyxNQUFNLDhCQUE4QixDQUFDO0FBRXRELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRzFELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7QUFHdkYsTUFBTSxPQUFPLG1DQUFtQztJQUM5QyxZQUNVLGFBQTBDO1FBQTFDLGtCQUFhLEdBQWIsYUFBYSxDQUE2QjtRQUdyRCxRQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixVQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixhQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELGVBQVUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEQsWUFBTyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQVA1QixDQUFDO0lBU00sYUFBYTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDckMsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sc0NBQXVDLFNBQVEsZ0JBQWlEO0lBQzNHLFlBQ0UsYUFBMEM7UUFFMUMsS0FBSyxDQUFDLG1DQUFtQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzVELENBQUM7O3lLQUxVLHNDQUFzQzs2S0FBdEMsc0NBQXNDLGNBRnJDLE1BQU07MkZBRVAsc0NBQXNDO2tCQUhsRCxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGZha2VyIGZyb20gJ0BmYWtlci1qcy9mYWtlci9sb2NhbGUvZW5fVVMnO1xuXG5pbXBvcnQgeyBEYWZmTW9kZWxGYWN0b3J5IH0gZnJvbSAnQGRhZmZvZGlsL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBNYWdlbnRvQnVuZGxlZFByb2R1Y3RJdGVtT3B0aW9uIH0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QtY29tcG9zaXRlL2RyaXZlci9tYWdlbnRvJztcbmltcG9ydCB7IE1hZ2VudG9TaW1wbGVQcm9kdWN0IH0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QvZHJpdmVyL21hZ2VudG8nO1xuaW1wb3J0IHsgTWFnZW50b1NpbXBsZVByb2R1Y3RGYWN0b3J5IH0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QvZHJpdmVyL21hZ2VudG8vdGVzdGluZyc7XG5cblxuZXhwb3J0IGNsYXNzIE1vY2tNYWdlbnRvQnVuZGxlZFByb2R1Y3RJdGVtT3B0aW9uIGltcGxlbWVudHMgTWFnZW50b0J1bmRsZWRQcm9kdWN0SXRlbU9wdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2ltcGxlRmFjdG9yeTogTWFnZW50b1NpbXBsZVByb2R1Y3RGYWN0b3J5LFxuICApIHt9XG5cblx0dWlkID0gZmFrZXIuZGF0YXR5cGUudXVpZCgpO1xuICBsYWJlbCA9IGZha2VyLnJhbmRvbS53b3JkKCk7XG4gIHF1YW50aXR5ID0gZmFrZXIuZGF0YXR5cGUubnVtYmVyKHsgbWluOiAxLCBtYXg6IDIwIH0pO1xuICBpc19kZWZhdWx0ID0gZmFrZXIucmFuZG9tLmJvb2xlYW4oKTtcbiAgcG9zaXRpb24gPSBmYWtlci5kYXRhdHlwZS5udW1iZXIoeyBtaW46IDEsIG1heDogMTAgfSk7XG4gIHByb2R1Y3QgPSB0aGlzLmNyZWF0ZVByb2R1Y3QoKTtcblxuICBwcm90ZWN0ZWQgY3JlYXRlUHJvZHVjdCgpOiBNYWdlbnRvU2ltcGxlUHJvZHVjdCB7XG4gICAgcmV0dXJuIHRoaXMuc2ltcGxlRmFjdG9yeS5jcmVhdGUoKTtcbiAgfVxufVxuXG4vKipcbiAqIEEgZmFjdG9yeSBmb3IgY3JlYXRpbmcgc3R1YiBkYXRhIGZvciB7QGxpbmsgTWFnZW50b0J1bmRsZWRQcm9kdWN0fXMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNYWdlbnRvQnVuZGxlZFByb2R1Y3RJdGVtT3B0aW9uRmFjdG9yeSBleHRlbmRzIERhZmZNb2RlbEZhY3Rvcnk8TWFnZW50b0J1bmRsZWRQcm9kdWN0SXRlbU9wdGlvbj4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzaW1wbGVGYWN0b3J5OiBNYWdlbnRvU2ltcGxlUHJvZHVjdEZhY3RvcnksXG4gICkge1xuICAgIHN1cGVyKE1vY2tNYWdlbnRvQnVuZGxlZFByb2R1Y3RJdGVtT3B0aW9uLCBzaW1wbGVGYWN0b3J5KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,36 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as faker from '@faker-js/faker/locale/en_US';
3
+ import { DaffModelFactory } from '@daffodil/core/testing';
4
+ import { MagentoBundledProductItemOptionFactory } from './bundle-item-option.factory';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./bundle-item-option.factory";
7
+ export class MockMagentoBundledProductItem {
8
+ constructor(optionFactory) {
9
+ this.optionFactory = optionFactory;
10
+ this.required = faker.datatype.boolean();
11
+ this.title = faker.random.word();
12
+ this.type = faker.random.word();
13
+ this.options = this.createOptions();
14
+ this.option_id = faker.random.number({ min: 1, max: 9999 });
15
+ }
16
+ createOptions() {
17
+ return this.optionFactory.createMany(faker.datatype.number({ min: 1, max: 5 }));
18
+ }
19
+ }
20
+ /**
21
+ * A factory for creating stub data for {@link MagentoBundledProduct}s.
22
+ */
23
+ export class MagentoBundledProductItemFactory extends DaffModelFactory {
24
+ constructor(optionFactory) {
25
+ super(MockMagentoBundledProductItem, optionFactory);
26
+ }
27
+ }
28
+ /** @nocollapse */ /** @nocollapse */ MagentoBundledProductItemFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MagentoBundledProductItemFactory, deps: [{ token: i1.MagentoBundledProductItemOptionFactory }], target: i0.ɵɵFactoryTarget.Injectable });
29
+ /** @nocollapse */ /** @nocollapse */ MagentoBundledProductItemFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MagentoBundledProductItemFactory, providedIn: 'root' });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MagentoBundledProductItemFactory, decorators: [{
31
+ type: Injectable,
32
+ args: [{
33
+ providedIn: 'root',
34
+ }]
35
+ }], ctorParameters: function () { return [{ type: i1.MagentoBundledProductItemOptionFactory }]; } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLWl0ZW0uZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvZHJpdmVyL21hZ2VudG8vdGVzdGluZy9zcmMvZmFjdG9yaWVzL2J1bmRsZS9idW5kbGUtaXRlbS5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLEtBQUssTUFBTSw4QkFBOEIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU0xRCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBR3RGLE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsWUFDVSxhQUFxRDtRQUFyRCxrQkFBYSxHQUFiLGFBQWEsQ0FBd0M7UUFFL0QsYUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckMsVUFBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsU0FBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsWUFBTyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMvQixjQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBTG5ELENBQUM7SUFPSyxhQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEYsQ0FBQztDQUNEO0FBRUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsZ0JBQTJDO0lBQy9GLFlBQ0UsYUFBcUQ7UUFFckQsS0FBSyxDQUFDLDZCQUE2QixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7O21LQUxVLGdDQUFnQzt1S0FBaEMsZ0NBQWdDLGNBRi9CLE1BQU07MkZBRVAsZ0NBQWdDO2tCQUg1QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGZha2VyIGZyb20gJ0BmYWtlci1qcy9mYWtlci9sb2NhbGUvZW5fVVMnO1xuXG5pbXBvcnQgeyBEYWZmTW9kZWxGYWN0b3J5IH0gZnJvbSAnQGRhZmZvZGlsL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQge1xuICBNYWdlbnRvQnVuZGxlZFByb2R1Y3RJdGVtLFxuICBNYWdlbnRvQnVuZGxlZFByb2R1Y3RJdGVtT3B0aW9uLFxufSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdC1jb21wb3NpdGUvZHJpdmVyL21hZ2VudG8nO1xuXG5pbXBvcnQgeyBNYWdlbnRvQnVuZGxlZFByb2R1Y3RJdGVtT3B0aW9uRmFjdG9yeSB9IGZyb20gJy4vYnVuZGxlLWl0ZW0tb3B0aW9uLmZhY3RvcnknO1xuXG5cbmV4cG9ydCBjbGFzcyBNb2NrTWFnZW50b0J1bmRsZWRQcm9kdWN0SXRlbSBpbXBsZW1lbnRzIE1hZ2VudG9CdW5kbGVkUHJvZHVjdEl0ZW0ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG9wdGlvbkZhY3Rvcnk6IE1hZ2VudG9CdW5kbGVkUHJvZHVjdEl0ZW1PcHRpb25GYWN0b3J5LFxuICApIHt9XG4gIHJlcXVpcmVkID0gZmFrZXIuZGF0YXR5cGUuYm9vbGVhbigpO1xuXHR0aXRsZSA9IGZha2VyLnJhbmRvbS53b3JkKCk7XG5cdHR5cGUgPSBmYWtlci5yYW5kb20ud29yZCgpO1xuXHRvcHRpb25zID0gdGhpcy5jcmVhdGVPcHRpb25zKCk7XG5cdG9wdGlvbl9pZCA9IGZha2VyLnJhbmRvbS5udW1iZXIoeyBtaW46IDEsIG1heDogOTk5OSB9KTtcblxuXHRwcm90ZWN0ZWQgY3JlYXRlT3B0aW9ucygpOiBNYWdlbnRvQnVuZGxlZFByb2R1Y3RJdGVtT3B0aW9uW10ge1xuXHQgIHJldHVybiB0aGlzLm9wdGlvbkZhY3RvcnkuY3JlYXRlTWFueShmYWtlci5kYXRhdHlwZS5udW1iZXIoeyBtaW46IDEsIG1heDogNSB9KSk7XG5cdH1cbn1cblxuLyoqXG4gKiBBIGZhY3RvcnkgZm9yIGNyZWF0aW5nIHN0dWIgZGF0YSBmb3Ige0BsaW5rIE1hZ2VudG9CdW5kbGVkUHJvZHVjdH1zLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTWFnZW50b0J1bmRsZWRQcm9kdWN0SXRlbUZhY3RvcnkgZXh0ZW5kcyBEYWZmTW9kZWxGYWN0b3J5PE1hZ2VudG9CdW5kbGVkUHJvZHVjdEl0ZW0+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgb3B0aW9uRmFjdG9yeTogTWFnZW50b0J1bmRsZWRQcm9kdWN0SXRlbU9wdGlvbkZhY3RvcnksXG4gICkge1xuICAgIHN1cGVyKE1vY2tNYWdlbnRvQnVuZGxlZFByb2R1Y3RJdGVtLCBvcHRpb25GYWN0b3J5KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,36 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as faker from '@faker-js/faker/locale/en_US';
3
+ import { DaffModelFactory } from '@daffodil/core/testing';
4
+ import { MagentoProductTypeEnum } from '@daffodil/product/driver/magento';
5
+ import { MockMagentoCoreProduct } from '@daffodil/product/driver/magento/testing';
6
+ import { MagentoBundledProductItemFactory } from './bundle-item.factory';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./bundle-item.factory";
9
+ export class MockMagentoBundledProduct extends MockMagentoCoreProduct {
10
+ constructor(bundleItemFactory) {
11
+ super();
12
+ this.bundleItemFactory = bundleItemFactory;
13
+ this.__typename = MagentoProductTypeEnum.BundledProduct;
14
+ this.items = this.createBundleItems();
15
+ }
16
+ createBundleItems() {
17
+ return this.bundleItemFactory.createMany(faker.datatype.number({ min: 1, max: 5 }));
18
+ }
19
+ }
20
+ /**
21
+ * A factory for creating stub data for {@link MagentoBundledProduct}s.
22
+ */
23
+ export class MagentoBundledProductFactory extends DaffModelFactory {
24
+ constructor(bundleItemFactory) {
25
+ super(MockMagentoBundledProduct, bundleItemFactory);
26
+ }
27
+ }
28
+ /** @nocollapse */ /** @nocollapse */ MagentoBundledProductFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MagentoBundledProductFactory, deps: [{ token: i1.MagentoBundledProductItemFactory }], target: i0.ɵɵFactoryTarget.Injectable });
29
+ /** @nocollapse */ /** @nocollapse */ MagentoBundledProductFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MagentoBundledProductFactory, providedIn: 'root' });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MagentoBundledProductFactory, decorators: [{
31
+ type: Injectable,
32
+ args: [{
33
+ providedIn: 'root',
34
+ }]
35
+ }], ctorParameters: function () { return [{ type: i1.MagentoBundledProductItemFactory }]; } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Byb2R1Y3QtY29tcG9zaXRlL2RyaXZlci9tYWdlbnRvL3Rlc3Rpbmcvc3JjL2ZhY3Rvcmllcy9idW5kbGUvYnVuZGxlLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssS0FBSyxNQUFNLDhCQUE4QixDQUFDO0FBRXRELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRWxGLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFHekUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHNCQUFzQjtJQUNuRSxZQUNVLGlCQUFtRDtRQUUzRCxLQUFLLEVBQUUsQ0FBQztRQUZBLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0M7UUFLN0QsZUFBVSxHQUFHLHNCQUFzQixDQUFDLGNBQWMsQ0FBQztRQUNuRCxVQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFIakMsQ0FBQztJQUtTLGlCQUFpQjtRQUN6QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEYsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsZ0JBQXVDO0lBQ3ZGLFlBQ0UsaUJBQW1EO1FBRW5ELEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3RELENBQUM7OytKQUxVLDRCQUE0QjttS0FBNUIsNEJBQTRCLGNBRjNCLE1BQU07MkZBRVAsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGZha2VyIGZyb20gJ0BmYWtlci1qcy9mYWtlci9sb2NhbGUvZW5fVVMnO1xuXG5pbXBvcnQgeyBEYWZmTW9kZWxGYWN0b3J5IH0gZnJvbSAnQGRhZmZvZGlsL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQge1xuICBNYWdlbnRvQnVuZGxlZFByb2R1Y3QsXG4gIE1hZ2VudG9CdW5kbGVkUHJvZHVjdEl0ZW0sXG59IGZyb20gJ0BkYWZmb2RpbC9wcm9kdWN0LWNvbXBvc2l0ZS9kcml2ZXIvbWFnZW50byc7XG5pbXBvcnQgeyBNYWdlbnRvUHJvZHVjdFR5cGVFbnVtIH0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QvZHJpdmVyL21hZ2VudG8nO1xuaW1wb3J0IHsgTW9ja01hZ2VudG9Db3JlUHJvZHVjdCB9IGZyb20gJ0BkYWZmb2RpbC9wcm9kdWN0L2RyaXZlci9tYWdlbnRvL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBNYWdlbnRvQnVuZGxlZFByb2R1Y3RJdGVtRmFjdG9yeSB9IGZyb20gJy4vYnVuZGxlLWl0ZW0uZmFjdG9yeSc7XG5cblxuZXhwb3J0IGNsYXNzIE1vY2tNYWdlbnRvQnVuZGxlZFByb2R1Y3QgZXh0ZW5kcyBNb2NrTWFnZW50b0NvcmVQcm9kdWN0IGltcGxlbWVudHMgTWFnZW50b0J1bmRsZWRQcm9kdWN0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBidW5kbGVJdGVtRmFjdG9yeTogTWFnZW50b0J1bmRsZWRQcm9kdWN0SXRlbUZhY3RvcnksXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBfX3R5cGVuYW1lID0gTWFnZW50b1Byb2R1Y3RUeXBlRW51bS5CdW5kbGVkUHJvZHVjdDtcbiAgaXRlbXMgPSB0aGlzLmNyZWF0ZUJ1bmRsZUl0ZW1zKCk7XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUJ1bmRsZUl0ZW1zKCk6IE1hZ2VudG9CdW5kbGVkUHJvZHVjdEl0ZW1bXSB7XG4gICAgcmV0dXJuIHRoaXMuYnVuZGxlSXRlbUZhY3RvcnkuY3JlYXRlTWFueShmYWtlci5kYXRhdHlwZS5udW1iZXIoeyBtaW46IDEsIG1heDogNSB9KSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBIGZhY3RvcnkgZm9yIGNyZWF0aW5nIHN0dWIgZGF0YSBmb3Ige0BsaW5rIE1hZ2VudG9CdW5kbGVkUHJvZHVjdH1zLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTWFnZW50b0J1bmRsZWRQcm9kdWN0RmFjdG9yeSBleHRlbmRzIERhZmZNb2RlbEZhY3Rvcnk8TWFnZW50b0J1bmRsZWRQcm9kdWN0PiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGJ1bmRsZUl0ZW1GYWN0b3J5OiBNYWdlbnRvQnVuZGxlZFByb2R1Y3RJdGVtRmFjdG9yeSxcbiAgKSB7XG4gICAgc3VwZXIoTW9ja01hZ2VudG9CdW5kbGVkUHJvZHVjdCwgYnVuZGxlSXRlbUZhY3RvcnkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,59 @@
1
+ import { DaffProductTypeEnum, } from '@daffodil/product';
2
+ import { MagentoProductStockStatusEnum } from '@daffodil/product/driver/magento';
3
+ /**
4
+ * Transforms the magento MagentoProduct from the magento product query into a DaffProduct.
5
+ *
6
+ * @param response the response from a magento product query.
7
+ */
8
+ export function transformMagentoBundledProduct(daffProduct, { items }) {
9
+ return {
10
+ ...daffProduct,
11
+ ...items.length > 0 ? {
12
+ price: 0,
13
+ discount: {
14
+ amount: 0,
15
+ percent: 0,
16
+ },
17
+ } : {},
18
+ type: DaffProductTypeEnum.Composite,
19
+ items: items.map(transformMagentoBundledProductItem),
20
+ };
21
+ }
22
+ function transformMagentoBundledProductItem(item) {
23
+ return {
24
+ id: item.option_id.toString(),
25
+ required: item.required,
26
+ title: item.title,
27
+ input_type: item.type,
28
+ options: Array.from(item.options).sort((a, b) => a.position - b.position).map(transformMagentoBundledProductItemOption),
29
+ };
30
+ }
31
+ function transformMagentoBundledProductItemOption(option) {
32
+ return {
33
+ id: option.uid.toString(),
34
+ type: DaffProductTypeEnum.Simple,
35
+ url: null,
36
+ name: option.label,
37
+ price: getPrice(option.product),
38
+ images: [],
39
+ thumbnail: null,
40
+ discount: getDiscount(option.product),
41
+ quantity: option.quantity,
42
+ is_default: option.is_default,
43
+ in_stock: option.product.stock_status === MagentoProductStockStatusEnum.InStock,
44
+ };
45
+ }
46
+ /**
47
+ * A function for null checking an object.
48
+ */
49
+ function getPrice(product) {
50
+ return product.price_range?.maximum_price?.regular_price?.value || null;
51
+ }
52
+ function getDiscount(product) {
53
+ return product.price_range?.maximum_price?.discount
54
+ ? {
55
+ amount: product.price_range.maximum_price.discount.amount_off,
56
+ percent: product.price_range.maximum_price.discount.percent_off,
57
+ } : { amount: null, percent: null };
58
+ }
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlZC1wcm9kdWN0LXRyYW5zZm9ybWVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvZHJpdmVyL21hZ2VudG8vc3JjL3RyYW5zZm9ybXMvYnVuZGxlZC1wcm9kdWN0LXRyYW5zZm9ybWVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsbUJBQW1CLEdBRXBCLE1BQU0sbUJBQW1CLENBQUM7QUFPM0IsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFTakY7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSw4QkFBOEIsQ0FDNUMsV0FBd0IsRUFDeEIsRUFBRSxLQUFLLEVBQXlCO0lBRWhDLE9BQU87UUFDTCxHQUFHLFdBQVc7UUFDZCxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQixLQUFLLEVBQUUsQ0FBQztZQUNSLFFBQVEsRUFBRTtnQkFDUixNQUFNLEVBQUUsQ0FBQztnQkFDVCxPQUFPLEVBQUUsQ0FBQzthQUNYO1NBQ0YsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNOLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxTQUFTO1FBQ25DLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxDQUFDO0tBQ3JELENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxrQ0FBa0MsQ0FBQyxJQUErQjtJQUN6RSxPQUFPO1FBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO1FBQzdCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtRQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7UUFDakIsVUFBVSxFQUFxQyxJQUFJLENBQUMsSUFBSTtRQUN4RCxPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxDQUFDO0tBQ3hILENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyx3Q0FBd0MsQ0FBQyxNQUF1QztJQUN2RixPQUFPO1FBQ0wsRUFBRSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO1FBQ3pCLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxNQUFNO1FBQ2hDLEdBQUcsRUFBRSxJQUFJO1FBQ1QsSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLO1FBQ2xCLEtBQUssRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLEVBQUUsRUFBRTtRQUNWLFNBQVMsRUFBRSxJQUFJO1FBQ2YsUUFBUSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3JDLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtRQUN6QixVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7UUFDN0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxLQUFLLDZCQUE2QixDQUFDLE9BQU87S0FDaEYsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsUUFBUSxDQUFDLE9BQStDO0lBQy9ELE9BQU8sT0FBTyxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUM7QUFDMUUsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLE9BQStDO0lBQ2xFLE9BQU8sT0FBTyxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsUUFBUTtRQUNqRCxDQUFDLENBQUM7WUFDQSxNQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFVBQVU7WUFDN0QsT0FBTyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1NBQ2hFLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERhZmZQcm9kdWN0RGlzY291bnQsXG4gIERhZmZQcm9kdWN0VHlwZUVudW0sXG4gIERhZmZQcm9kdWN0LFxufSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdCc7XG5pbXBvcnQge1xuICBEYWZmQ29tcG9zaXRlUHJvZHVjdCxcbiAgRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtT3B0aW9uLFxuICBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW0sXG4gIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbUlucHV0RW51bSxcbn0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QtY29tcG9zaXRlJztcbmltcG9ydCB7IE1hZ2VudG9Qcm9kdWN0U3RvY2tTdGF0dXNFbnVtIH0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QvZHJpdmVyL21hZ2VudG8nO1xuXG5pbXBvcnQge1xuICBNYWdlbnRvQnVuZGxlZFByb2R1Y3QsXG4gIE1hZ2VudG9CdW5kbGVkUHJvZHVjdEl0ZW0sXG4gIE1hZ2VudG9CdW5kbGVkUHJvZHVjdEl0ZW1PcHRpb24sXG4gIE1hZ2VudG9CdW5kbGVkUHJvZHVjdEl0ZW1PcHRpb25Qcm9kdWN0LFxufSBmcm9tICcuLi9tb2RlbHMvYnVuZGxlZC1wcm9kdWN0JztcblxuLyoqXG4gKiBUcmFuc2Zvcm1zIHRoZSBtYWdlbnRvIE1hZ2VudG9Qcm9kdWN0IGZyb20gdGhlIG1hZ2VudG8gcHJvZHVjdCBxdWVyeSBpbnRvIGEgRGFmZlByb2R1Y3QuXG4gKlxuICogQHBhcmFtIHJlc3BvbnNlIHRoZSByZXNwb25zZSBmcm9tIGEgbWFnZW50byBwcm9kdWN0IHF1ZXJ5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWFnZW50b0J1bmRsZWRQcm9kdWN0KFxuICBkYWZmUHJvZHVjdDogRGFmZlByb2R1Y3QsXG4gIHsgaXRlbXMgfTogTWFnZW50b0J1bmRsZWRQcm9kdWN0LFxuKTogRGFmZkNvbXBvc2l0ZVByb2R1Y3Qge1xuICByZXR1cm4ge1xuICAgIC4uLmRhZmZQcm9kdWN0LFxuICAgIC4uLml0ZW1zLmxlbmd0aCA+IDAgPyB7XG4gICAgICBwcmljZTogMCxcbiAgICAgIGRpc2NvdW50OiB7XG4gICAgICAgIGFtb3VudDogMCxcbiAgICAgICAgcGVyY2VudDogMCxcbiAgICAgIH0sXG4gICAgfSA6IHt9LFxuICAgIHR5cGU6IERhZmZQcm9kdWN0VHlwZUVudW0uQ29tcG9zaXRlLFxuICAgIGl0ZW1zOiBpdGVtcy5tYXAodHJhbnNmb3JtTWFnZW50b0J1bmRsZWRQcm9kdWN0SXRlbSksXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1hZ2VudG9CdW5kbGVkUHJvZHVjdEl0ZW0oaXRlbTogTWFnZW50b0J1bmRsZWRQcm9kdWN0SXRlbSk6IERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbSB7XG4gIHJldHVybiB7XG4gICAgaWQ6IGl0ZW0ub3B0aW9uX2lkLnRvU3RyaW5nKCksXG4gICAgcmVxdWlyZWQ6IGl0ZW0ucmVxdWlyZWQsXG4gICAgdGl0bGU6IGl0ZW0udGl0bGUsXG4gICAgaW5wdXRfdHlwZTogPERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbUlucHV0RW51bT5pdGVtLnR5cGUsXG4gICAgb3B0aW9uczogQXJyYXkuZnJvbShpdGVtLm9wdGlvbnMpLnNvcnQoKGEsIGIpID0+IGEucG9zaXRpb24gLSBiLnBvc2l0aW9uKS5tYXAodHJhbnNmb3JtTWFnZW50b0J1bmRsZWRQcm9kdWN0SXRlbU9wdGlvbiksXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1hZ2VudG9CdW5kbGVkUHJvZHVjdEl0ZW1PcHRpb24ob3B0aW9uOiBNYWdlbnRvQnVuZGxlZFByb2R1Y3RJdGVtT3B0aW9uKTogRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtT3B0aW9uIHtcbiAgcmV0dXJuIHtcbiAgICBpZDogb3B0aW9uLnVpZC50b1N0cmluZygpLFxuICAgIHR5cGU6IERhZmZQcm9kdWN0VHlwZUVudW0uU2ltcGxlLFxuICAgIHVybDogbnVsbCxcbiAgICBuYW1lOiBvcHRpb24ubGFiZWwsXG4gICAgcHJpY2U6IGdldFByaWNlKG9wdGlvbi5wcm9kdWN0KSxcbiAgICBpbWFnZXM6IFtdLFxuICAgIHRodW1ibmFpbDogbnVsbCxcbiAgICBkaXNjb3VudDogZ2V0RGlzY291bnQob3B0aW9uLnByb2R1Y3QpLFxuICAgIHF1YW50aXR5OiBvcHRpb24ucXVhbnRpdHksXG4gICAgaXNfZGVmYXVsdDogb3B0aW9uLmlzX2RlZmF1bHQsXG4gICAgaW5fc3RvY2s6IG9wdGlvbi5wcm9kdWN0LnN0b2NrX3N0YXR1cyA9PT0gTWFnZW50b1Byb2R1Y3RTdG9ja1N0YXR1c0VudW0uSW5TdG9jayxcbiAgfTtcbn1cblxuLyoqXG4gKiBBIGZ1bmN0aW9uIGZvciBudWxsIGNoZWNraW5nIGFuIG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gZ2V0UHJpY2UocHJvZHVjdDogTWFnZW50b0J1bmRsZWRQcm9kdWN0SXRlbU9wdGlvblByb2R1Y3QpOiBudW1iZXIge1xuICByZXR1cm4gcHJvZHVjdC5wcmljZV9yYW5nZT8ubWF4aW11bV9wcmljZT8ucmVndWxhcl9wcmljZT8udmFsdWUgfHwgbnVsbDtcbn1cblxuZnVuY3Rpb24gZ2V0RGlzY291bnQocHJvZHVjdDogTWFnZW50b0J1bmRsZWRQcm9kdWN0SXRlbU9wdGlvblByb2R1Y3QpOiBEYWZmUHJvZHVjdERpc2NvdW50IHtcbiAgcmV0dXJuIHByb2R1Y3QucHJpY2VfcmFuZ2U/Lm1heGltdW1fcHJpY2U/LmRpc2NvdW50XG4gICAgPyB7XG4gICAgICBhbW91bnQ6IHByb2R1Y3QucHJpY2VfcmFuZ2UubWF4aW11bV9wcmljZS5kaXNjb3VudC5hbW91bnRfb2ZmLFxuICAgICAgcGVyY2VudDogcHJvZHVjdC5wcmljZV9yYW5nZS5tYXhpbXVtX3ByaWNlLmRpc2NvdW50LnBlcmNlbnRfb2ZmLFxuICAgIH0gOiB7IGFtb3VudDogbnVsbCwgcGVyY2VudDogbnVsbCB9O1xufVxuIl19