@reventlessdev/online-shop-dcb-ordering 1.0.0-alpha.103

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 (603) hide show
  1. package/CHANGELOG.md +885 -0
  2. package/LICENSE +202 -0
  3. package/__mocks__/emptyModule.js +1 -0
  4. package/lib/bs/.compiler.log +2 -0
  5. package/lib/bs/OrderingPlugin.cmi +0 -0
  6. package/lib/bs/OrderingPlugin.cmj +0 -0
  7. package/lib/bs/OrderingPlugin.cmt +0 -0
  8. package/lib/bs/OrderingPlugin.mlmap +46 -0
  9. package/lib/bs/build.ninja +0 -0
  10. package/lib/bs/compiler-info.json +8 -0
  11. package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct-OrderingPlugin.cmi +0 -0
  12. package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct-OrderingPlugin.cmj +0 -0
  13. package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct-OrderingPlugin.cmt +0 -0
  14. package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct.ast +0 -0
  15. package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct.res +28 -0
  16. package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct.res.mjs +71 -0
  17. package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior-OrderingPlugin.cmi +0 -0
  18. package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior-OrderingPlugin.cmj +0 -0
  19. package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior-OrderingPlugin.cmt +0 -0
  20. package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior.ast +0 -0
  21. package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior.res +27 -0
  22. package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior.res.mjs +73 -0
  23. package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts-OrderingPlugin.cmi +0 -0
  24. package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts-OrderingPlugin.cmj +0 -0
  25. package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts-OrderingPlugin.cmt +0 -0
  26. package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts.ast +0 -0
  27. package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts.res +13 -0
  28. package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts.res.mjs +70 -0
  29. package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection-OrderingPlugin.cmi +0 -0
  30. package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection-OrderingPlugin.cmj +0 -0
  31. package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection-OrderingPlugin.cmt +0 -0
  32. package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection.ast +0 -0
  33. package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection.res +8 -0
  34. package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection.res.mjs +38 -0
  35. package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress-OrderingPlugin.cmi +0 -0
  36. package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress-OrderingPlugin.cmj +0 -0
  37. package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress-OrderingPlugin.cmt +0 -0
  38. package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress.ast +0 -0
  39. package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress.res +20 -0
  40. package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress.res.mjs +58 -0
  41. package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior-OrderingPlugin.cmi +0 -0
  42. package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior-OrderingPlugin.cmj +0 -0
  43. package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior-OrderingPlugin.cmt +0 -0
  44. package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior.ast +0 -0
  45. package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior.res +30 -0
  46. package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior.res.mjs +74 -0
  47. package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail-OrderingPlugin.cmi +0 -0
  48. package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail-OrderingPlugin.cmj +0 -0
  49. package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail-OrderingPlugin.cmt +0 -0
  50. package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail.ast +0 -0
  51. package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail.res +20 -0
  52. package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail.res.mjs +58 -0
  53. package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior-OrderingPlugin.cmi +0 -0
  54. package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior-OrderingPlugin.cmj +0 -0
  55. package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior-OrderingPlugin.cmt +0 -0
  56. package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior.ast +0 -0
  57. package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior.res +26 -0
  58. package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior.res.mjs +74 -0
  59. package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer-OrderingPlugin.cmi +0 -0
  60. package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer-OrderingPlugin.cmj +0 -0
  61. package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer-OrderingPlugin.cmt +0 -0
  62. package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer.ast +0 -0
  63. package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer.res +17 -0
  64. package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer.res.mjs +46 -0
  65. package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior-OrderingPlugin.cmi +0 -0
  66. package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior-OrderingPlugin.cmj +0 -0
  67. package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior-OrderingPlugin.cmt +0 -0
  68. package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior.ast +0 -0
  69. package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior.res +23 -0
  70. package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior.res.mjs +58 -0
  71. package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer-OrderingPlugin.cmi +0 -0
  72. package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer-OrderingPlugin.cmj +0 -0
  73. package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer-OrderingPlugin.cmt +0 -0
  74. package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer.ast +0 -0
  75. package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer.res +22 -0
  76. package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer.res.mjs +47 -0
  77. package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior-OrderingPlugin.cmi +0 -0
  78. package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior-OrderingPlugin.cmj +0 -0
  79. package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior-OrderingPlugin.cmt +0 -0
  80. package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior.ast +0 -0
  81. package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior.res +20 -0
  82. package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior.res.mjs +44 -0
  83. package/lib/bs/src/Customer/StateViewSlice/Customers-OrderingPlugin.cmi +0 -0
  84. package/lib/bs/src/Customer/StateViewSlice/Customers-OrderingPlugin.cmj +0 -0
  85. package/lib/bs/src/Customer/StateViewSlice/Customers-OrderingPlugin.cmt +0 -0
  86. package/lib/bs/src/Customer/StateViewSlice/Customers.ast +0 -0
  87. package/lib/bs/src/Customer/StateViewSlice/Customers.res +18 -0
  88. package/lib/bs/src/Customer/StateViewSlice/Customers.res.mjs +69 -0
  89. package/lib/bs/src/Customer/StateViewSlice/Customers_Projection-OrderingPlugin.cmi +0 -0
  90. package/lib/bs/src/Customer/StateViewSlice/Customers_Projection-OrderingPlugin.cmj +0 -0
  91. package/lib/bs/src/Customer/StateViewSlice/Customers_Projection-OrderingPlugin.cmt +0 -0
  92. package/lib/bs/src/Customer/StateViewSlice/Customers_Projection.ast +0 -0
  93. package/lib/bs/src/Customer/StateViewSlice/Customers_Projection.res +13 -0
  94. package/lib/bs/src/Customer/StateViewSlice/Customers_Projection.res.mjs +62 -0
  95. package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmi +0 -0
  96. package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmj +0 -0
  97. package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmt +0 -0
  98. package/lib/bs/src/Extension/Products_Extension.ast +0 -0
  99. package/lib/bs/src/Extension/Products_Extension.res +23 -0
  100. package/lib/bs/src/Extension/Products_Extension.res.mjs +43 -0
  101. package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmi +0 -0
  102. package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmj +0 -0
  103. package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmt +0 -0
  104. package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping.ast +0 -0
  105. package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping.res +33 -0
  106. package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping.res.mjs +82 -0
  107. package/lib/bs/src/Order/AutomationSlice/AutoShipOrder-OrderingPlugin.cmi +0 -0
  108. package/lib/bs/src/Order/AutomationSlice/AutoShipOrder-OrderingPlugin.cmj +0 -0
  109. package/lib/bs/src/Order/AutomationSlice/AutoShipOrder-OrderingPlugin.cmt +0 -0
  110. package/lib/bs/src/Order/AutomationSlice/AutoShipOrder.ast +0 -0
  111. package/lib/bs/src/Order/AutomationSlice/AutoShipOrder.res +19 -0
  112. package/lib/bs/src/Order/AutomationSlice/AutoShipOrder.res.mjs +42 -0
  113. package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation-OrderingPlugin.cmi +0 -0
  114. package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation-OrderingPlugin.cmj +0 -0
  115. package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation-OrderingPlugin.cmt +0 -0
  116. package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation.ast +0 -0
  117. package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation.res +36 -0
  118. package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation.res.mjs +101 -0
  119. package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation-OrderingPlugin.cmi +0 -0
  120. package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation-OrderingPlugin.cmj +0 -0
  121. package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation-OrderingPlugin.cmt +0 -0
  122. package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation.ast +0 -0
  123. package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation.res +19 -0
  124. package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation.res.mjs +42 -0
  125. package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation-OrderingPlugin.cmi +0 -0
  126. package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation-OrderingPlugin.cmj +0 -0
  127. package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation-OrderingPlugin.cmt +0 -0
  128. package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation.ast +0 -0
  129. package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation.res +24 -0
  130. package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation.res.mjs +46 -0
  131. package/lib/bs/src/Order/StateChangeSlice/CancelOrder-OrderingPlugin.cmi +0 -0
  132. package/lib/bs/src/Order/StateChangeSlice/CancelOrder-OrderingPlugin.cmj +0 -0
  133. package/lib/bs/src/Order/StateChangeSlice/CancelOrder-OrderingPlugin.cmt +0 -0
  134. package/lib/bs/src/Order/StateChangeSlice/CancelOrder.ast +0 -0
  135. package/lib/bs/src/Order/StateChangeSlice/CancelOrder.res +24 -0
  136. package/lib/bs/src/Order/StateChangeSlice/CancelOrder.res.mjs +60 -0
  137. package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior-OrderingPlugin.cmi +0 -0
  138. package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior-OrderingPlugin.cmj +0 -0
  139. package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior-OrderingPlugin.cmt +0 -0
  140. package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior.ast +0 -0
  141. package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior.res +26 -0
  142. package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior.res.mjs +81 -0
  143. package/lib/bs/src/Order/StateChangeSlice/PlaceOrder-OrderingPlugin.cmi +0 -0
  144. package/lib/bs/src/Order/StateChangeSlice/PlaceOrder-OrderingPlugin.cmj +0 -0
  145. package/lib/bs/src/Order/StateChangeSlice/PlaceOrder-OrderingPlugin.cmt +0 -0
  146. package/lib/bs/src/Order/StateChangeSlice/PlaceOrder.ast +0 -0
  147. package/lib/bs/src/Order/StateChangeSlice/PlaceOrder.res +33 -0
  148. package/lib/bs/src/Order/StateChangeSlice/PlaceOrder.res.mjs +63 -0
  149. package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior-OrderingPlugin.cmi +0 -0
  150. package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior-OrderingPlugin.cmj +0 -0
  151. package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior-OrderingPlugin.cmt +0 -0
  152. package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior.ast +0 -0
  153. package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior.res +44 -0
  154. package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior.res.mjs +70 -0
  155. package/lib/bs/src/Order/StateChangeSlice/ShipOrder-OrderingPlugin.cmi +0 -0
  156. package/lib/bs/src/Order/StateChangeSlice/ShipOrder-OrderingPlugin.cmj +0 -0
  157. package/lib/bs/src/Order/StateChangeSlice/ShipOrder-OrderingPlugin.cmt +0 -0
  158. package/lib/bs/src/Order/StateChangeSlice/ShipOrder.ast +0 -0
  159. package/lib/bs/src/Order/StateChangeSlice/ShipOrder.res +21 -0
  160. package/lib/bs/src/Order/StateChangeSlice/ShipOrder.res.mjs +56 -0
  161. package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior-OrderingPlugin.cmi +0 -0
  162. package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior-OrderingPlugin.cmj +0 -0
  163. package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior-OrderingPlugin.cmt +0 -0
  164. package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior.ast +0 -0
  165. package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior.res +26 -0
  166. package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior.res.mjs +73 -0
  167. package/lib/bs/src/Order/StateViewSlice/Orders-OrderingPlugin.cmi +0 -0
  168. package/lib/bs/src/Order/StateViewSlice/Orders-OrderingPlugin.cmj +0 -0
  169. package/lib/bs/src/Order/StateViewSlice/Orders-OrderingPlugin.cmt +0 -0
  170. package/lib/bs/src/Order/StateViewSlice/Orders.ast +0 -0
  171. package/lib/bs/src/Order/StateViewSlice/Orders.res +23 -0
  172. package/lib/bs/src/Order/StateViewSlice/Orders.res.mjs +81 -0
  173. package/lib/bs/src/Order/StateViewSlice/Orders_Projection-OrderingPlugin.cmi +0 -0
  174. package/lib/bs/src/Order/StateViewSlice/Orders_Projection-OrderingPlugin.cmj +0 -0
  175. package/lib/bs/src/Order/StateViewSlice/Orders_Projection-OrderingPlugin.cmt +0 -0
  176. package/lib/bs/src/Order/StateViewSlice/Orders_Projection.ast +0 -0
  177. package/lib/bs/src/Order/StateViewSlice/Orders_Projection.res +10 -0
  178. package/lib/bs/src/Order/StateViewSlice/Orders_Projection.res.mjs +52 -0
  179. package/lib/bs/src/Plugin-OrderingPlugin.cmi +0 -0
  180. package/lib/bs/src/Plugin-OrderingPlugin.cmj +0 -0
  181. package/lib/bs/src/Plugin-OrderingPlugin.cmt +0 -0
  182. package/lib/bs/src/Plugin.ast +0 -0
  183. package/lib/bs/src/Plugin.res +64 -0
  184. package/lib/bs/src/Plugin.res.mjs +346 -0
  185. package/lib/bs/src/Service/EmailService-OrderingPlugin.cmi +0 -0
  186. package/lib/bs/src/Service/EmailService-OrderingPlugin.cmj +0 -0
  187. package/lib/bs/src/Service/EmailService-OrderingPlugin.cmt +0 -0
  188. package/lib/bs/src/Service/EmailService.ast +0 -0
  189. package/lib/bs/src/Service/EmailService.res +3 -0
  190. package/lib/bs/src/Service/EmailService.res.mjs +11 -0
  191. package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT-OrderingPlugin.cmi +0 -0
  192. package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT-OrderingPlugin.cmj +0 -0
  193. package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT-OrderingPlugin.cmt +0 -0
  194. package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT.ast +0 -0
  195. package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT.res +27 -0
  196. package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT.res.mjs +109 -0
  197. package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT-OrderingPlugin.cmi +0 -0
  198. package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT-OrderingPlugin.cmj +0 -0
  199. package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT-OrderingPlugin.cmt +0 -0
  200. package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT.ast +0 -0
  201. package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT.res +15 -0
  202. package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT.res.mjs +93 -0
  203. package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT-OrderingPlugin.cmi +0 -0
  204. package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT-OrderingPlugin.cmj +0 -0
  205. package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT-OrderingPlugin.cmt +0 -0
  206. package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT.ast +0 -0
  207. package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT.res +27 -0
  208. package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT.res.mjs +102 -0
  209. package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT-OrderingPlugin.cmi +0 -0
  210. package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT-OrderingPlugin.cmj +0 -0
  211. package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT-OrderingPlugin.cmt +0 -0
  212. package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT.ast +0 -0
  213. package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT.res +27 -0
  214. package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT.res.mjs +102 -0
  215. package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT-OrderingPlugin.cmi +0 -0
  216. package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT-OrderingPlugin.cmj +0 -0
  217. package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT-OrderingPlugin.cmt +0 -0
  218. package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT.ast +0 -0
  219. package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT.res +21 -0
  220. package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT.res.mjs +84 -0
  221. package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT-OrderingPlugin.cmi +0 -0
  222. package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT-OrderingPlugin.cmj +0 -0
  223. package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT-OrderingPlugin.cmt +0 -0
  224. package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT.ast +0 -0
  225. package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT.res +21 -0
  226. package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT.res.mjs +83 -0
  227. package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT-OrderingPlugin.cmi +0 -0
  228. package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT-OrderingPlugin.cmj +0 -0
  229. package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT-OrderingPlugin.cmt +0 -0
  230. package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT.ast +0 -0
  231. package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT.res +45 -0
  232. package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT.res.mjs +124 -0
  233. package/lib/bs/tests/Extension/Products_Extension_GWT-OrderingPlugin.cmi +0 -0
  234. package/lib/bs/tests/Extension/Products_Extension_GWT-OrderingPlugin.cmj +0 -0
  235. package/lib/bs/tests/Extension/Products_Extension_GWT-OrderingPlugin.cmt +0 -0
  236. package/lib/bs/tests/Extension/Products_Extension_GWT.ast +0 -0
  237. package/lib/bs/tests/Extension/Products_Extension_GWT.res +23 -0
  238. package/lib/bs/tests/Extension/Products_Extension_GWT.res.mjs +108 -0
  239. package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmi +0 -0
  240. package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmj +0 -0
  241. package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmt +0 -0
  242. package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.ast +0 -0
  243. package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res +23 -0
  244. package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res.mjs +139 -0
  245. package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT-OrderingPlugin.cmi +0 -0
  246. package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT-OrderingPlugin.cmj +0 -0
  247. package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT-OrderingPlugin.cmt +0 -0
  248. package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT.ast +0 -0
  249. package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT.res +55 -0
  250. package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT.res.mjs +133 -0
  251. package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT-OrderingPlugin.cmi +0 -0
  252. package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT-OrderingPlugin.cmj +0 -0
  253. package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT-OrderingPlugin.cmt +0 -0
  254. package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT.ast +0 -0
  255. package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT.res +33 -0
  256. package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT.res.mjs +101 -0
  257. package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT-OrderingPlugin.cmi +0 -0
  258. package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT-OrderingPlugin.cmj +0 -0
  259. package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT-OrderingPlugin.cmt +0 -0
  260. package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT.ast +0 -0
  261. package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT.res +27 -0
  262. package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT.res.mjs +107 -0
  263. package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT-OrderingPlugin.cmi +0 -0
  264. package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT-OrderingPlugin.cmj +0 -0
  265. package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT-OrderingPlugin.cmt +0 -0
  266. package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT.ast +0 -0
  267. package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT.res +39 -0
  268. package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT.res.mjs +139 -0
  269. package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT-OrderingPlugin.cmi +0 -0
  270. package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT-OrderingPlugin.cmj +0 -0
  271. package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT-OrderingPlugin.cmt +0 -0
  272. package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT.ast +0 -0
  273. package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT.res +27 -0
  274. package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT.res.mjs +91 -0
  275. package/lib/bs/tests/Order/StateViewSlice/Orders_GWT-OrderingPlugin.cmi +0 -0
  276. package/lib/bs/tests/Order/StateViewSlice/Orders_GWT-OrderingPlugin.cmj +0 -0
  277. package/lib/bs/tests/Order/StateViewSlice/Orders_GWT-OrderingPlugin.cmt +0 -0
  278. package/lib/bs/tests/Order/StateViewSlice/Orders_GWT.ast +0 -0
  279. package/lib/bs/tests/Order/StateViewSlice/Orders_GWT.res +36 -0
  280. package/lib/bs/tests/Order/StateViewSlice/Orders_GWT.res.mjs +114 -0
  281. package/lib/ocaml/.compiler.log +2 -0
  282. package/lib/ocaml/AutoShipOrder-OrderingPlugin.cmi +0 -0
  283. package/lib/ocaml/AutoShipOrder-OrderingPlugin.cmj +0 -0
  284. package/lib/ocaml/AutoShipOrder-OrderingPlugin.cmt +0 -0
  285. package/lib/ocaml/AutoShipOrder.ast +0 -0
  286. package/lib/ocaml/AutoShipOrder.res +19 -0
  287. package/lib/ocaml/AutoShipOrder_Automation-OrderingPlugin.cmi +0 -0
  288. package/lib/ocaml/AutoShipOrder_Automation-OrderingPlugin.cmj +0 -0
  289. package/lib/ocaml/AutoShipOrder_Automation-OrderingPlugin.cmt +0 -0
  290. package/lib/ocaml/AutoShipOrder_Automation.ast +0 -0
  291. package/lib/ocaml/AutoShipOrder_Automation.res +36 -0
  292. package/lib/ocaml/AutoShipOrder_GWT-OrderingPlugin.cmi +0 -0
  293. package/lib/ocaml/AutoShipOrder_GWT-OrderingPlugin.cmj +0 -0
  294. package/lib/ocaml/AutoShipOrder_GWT-OrderingPlugin.cmt +0 -0
  295. package/lib/ocaml/AutoShipOrder_GWT.ast +0 -0
  296. package/lib/ocaml/AutoShipOrder_GWT.res +55 -0
  297. package/lib/ocaml/AvailableProducts-OrderingPlugin.cmi +0 -0
  298. package/lib/ocaml/AvailableProducts-OrderingPlugin.cmj +0 -0
  299. package/lib/ocaml/AvailableProducts-OrderingPlugin.cmt +0 -0
  300. package/lib/ocaml/AvailableProducts.ast +0 -0
  301. package/lib/ocaml/AvailableProducts.res +13 -0
  302. package/lib/ocaml/AvailableProducts_GWT-OrderingPlugin.cmi +0 -0
  303. package/lib/ocaml/AvailableProducts_GWT-OrderingPlugin.cmj +0 -0
  304. package/lib/ocaml/AvailableProducts_GWT-OrderingPlugin.cmt +0 -0
  305. package/lib/ocaml/AvailableProducts_GWT.ast +0 -0
  306. package/lib/ocaml/AvailableProducts_GWT.res +15 -0
  307. package/lib/ocaml/AvailableProducts_Projection-OrderingPlugin.cmi +0 -0
  308. package/lib/ocaml/AvailableProducts_Projection-OrderingPlugin.cmj +0 -0
  309. package/lib/ocaml/AvailableProducts_Projection-OrderingPlugin.cmt +0 -0
  310. package/lib/ocaml/AvailableProducts_Projection.ast +0 -0
  311. package/lib/ocaml/AvailableProducts_Projection.res +8 -0
  312. package/lib/ocaml/CancelOrder-OrderingPlugin.cmi +0 -0
  313. package/lib/ocaml/CancelOrder-OrderingPlugin.cmj +0 -0
  314. package/lib/ocaml/CancelOrder-OrderingPlugin.cmt +0 -0
  315. package/lib/ocaml/CancelOrder.ast +0 -0
  316. package/lib/ocaml/CancelOrder.res +24 -0
  317. package/lib/ocaml/CancelOrder_Behavior-OrderingPlugin.cmi +0 -0
  318. package/lib/ocaml/CancelOrder_Behavior-OrderingPlugin.cmj +0 -0
  319. package/lib/ocaml/CancelOrder_Behavior-OrderingPlugin.cmt +0 -0
  320. package/lib/ocaml/CancelOrder_Behavior.ast +0 -0
  321. package/lib/ocaml/CancelOrder_Behavior.res +26 -0
  322. package/lib/ocaml/CancelOrder_GWT-OrderingPlugin.cmi +0 -0
  323. package/lib/ocaml/CancelOrder_GWT-OrderingPlugin.cmj +0 -0
  324. package/lib/ocaml/CancelOrder_GWT-OrderingPlugin.cmt +0 -0
  325. package/lib/ocaml/CancelOrder_GWT.ast +0 -0
  326. package/lib/ocaml/CancelOrder_GWT.res +27 -0
  327. package/lib/ocaml/ChangeAddress-OrderingPlugin.cmi +0 -0
  328. package/lib/ocaml/ChangeAddress-OrderingPlugin.cmj +0 -0
  329. package/lib/ocaml/ChangeAddress-OrderingPlugin.cmt +0 -0
  330. package/lib/ocaml/ChangeAddress.ast +0 -0
  331. package/lib/ocaml/ChangeAddress.res +20 -0
  332. package/lib/ocaml/ChangeAddress_Behavior-OrderingPlugin.cmi +0 -0
  333. package/lib/ocaml/ChangeAddress_Behavior-OrderingPlugin.cmj +0 -0
  334. package/lib/ocaml/ChangeAddress_Behavior-OrderingPlugin.cmt +0 -0
  335. package/lib/ocaml/ChangeAddress_Behavior.ast +0 -0
  336. package/lib/ocaml/ChangeAddress_Behavior.res +30 -0
  337. package/lib/ocaml/ChangeAddress_GWT-OrderingPlugin.cmi +0 -0
  338. package/lib/ocaml/ChangeAddress_GWT-OrderingPlugin.cmj +0 -0
  339. package/lib/ocaml/ChangeAddress_GWT-OrderingPlugin.cmt +0 -0
  340. package/lib/ocaml/ChangeAddress_GWT.ast +0 -0
  341. package/lib/ocaml/ChangeAddress_GWT.res +27 -0
  342. package/lib/ocaml/ChangeEmail-OrderingPlugin.cmi +0 -0
  343. package/lib/ocaml/ChangeEmail-OrderingPlugin.cmj +0 -0
  344. package/lib/ocaml/ChangeEmail-OrderingPlugin.cmt +0 -0
  345. package/lib/ocaml/ChangeEmail.ast +0 -0
  346. package/lib/ocaml/ChangeEmail.res +20 -0
  347. package/lib/ocaml/ChangeEmail_Behavior-OrderingPlugin.cmi +0 -0
  348. package/lib/ocaml/ChangeEmail_Behavior-OrderingPlugin.cmj +0 -0
  349. package/lib/ocaml/ChangeEmail_Behavior-OrderingPlugin.cmt +0 -0
  350. package/lib/ocaml/ChangeEmail_Behavior.ast +0 -0
  351. package/lib/ocaml/ChangeEmail_Behavior.res +26 -0
  352. package/lib/ocaml/ChangeEmail_GWT-OrderingPlugin.cmi +0 -0
  353. package/lib/ocaml/ChangeEmail_GWT-OrderingPlugin.cmj +0 -0
  354. package/lib/ocaml/ChangeEmail_GWT-OrderingPlugin.cmt +0 -0
  355. package/lib/ocaml/ChangeEmail_GWT.ast +0 -0
  356. package/lib/ocaml/ChangeEmail_GWT.res +27 -0
  357. package/lib/ocaml/Customers-OrderingPlugin.cmi +0 -0
  358. package/lib/ocaml/Customers-OrderingPlugin.cmj +0 -0
  359. package/lib/ocaml/Customers-OrderingPlugin.cmt +0 -0
  360. package/lib/ocaml/Customers.ast +0 -0
  361. package/lib/ocaml/Customers.res +18 -0
  362. package/lib/ocaml/Customers_GWT-OrderingPlugin.cmi +0 -0
  363. package/lib/ocaml/Customers_GWT-OrderingPlugin.cmj +0 -0
  364. package/lib/ocaml/Customers_GWT-OrderingPlugin.cmt +0 -0
  365. package/lib/ocaml/Customers_GWT.ast +0 -0
  366. package/lib/ocaml/Customers_GWT.res +45 -0
  367. package/lib/ocaml/Customers_Projection-OrderingPlugin.cmi +0 -0
  368. package/lib/ocaml/Customers_Projection-OrderingPlugin.cmj +0 -0
  369. package/lib/ocaml/Customers_Projection-OrderingPlugin.cmt +0 -0
  370. package/lib/ocaml/Customers_Projection.ast +0 -0
  371. package/lib/ocaml/Customers_Projection.res +13 -0
  372. package/lib/ocaml/DeactivateCustomer-OrderingPlugin.cmi +0 -0
  373. package/lib/ocaml/DeactivateCustomer-OrderingPlugin.cmj +0 -0
  374. package/lib/ocaml/DeactivateCustomer-OrderingPlugin.cmt +0 -0
  375. package/lib/ocaml/DeactivateCustomer.ast +0 -0
  376. package/lib/ocaml/DeactivateCustomer.res +17 -0
  377. package/lib/ocaml/DeactivateCustomer_Behavior-OrderingPlugin.cmi +0 -0
  378. package/lib/ocaml/DeactivateCustomer_Behavior-OrderingPlugin.cmj +0 -0
  379. package/lib/ocaml/DeactivateCustomer_Behavior-OrderingPlugin.cmt +0 -0
  380. package/lib/ocaml/DeactivateCustomer_Behavior.ast +0 -0
  381. package/lib/ocaml/DeactivateCustomer_Behavior.res +23 -0
  382. package/lib/ocaml/DeactivateCustomer_GWT-OrderingPlugin.cmi +0 -0
  383. package/lib/ocaml/DeactivateCustomer_GWT-OrderingPlugin.cmj +0 -0
  384. package/lib/ocaml/DeactivateCustomer_GWT-OrderingPlugin.cmt +0 -0
  385. package/lib/ocaml/DeactivateCustomer_GWT.ast +0 -0
  386. package/lib/ocaml/DeactivateCustomer_GWT.res +21 -0
  387. package/lib/ocaml/EmailService-OrderingPlugin.cmi +0 -0
  388. package/lib/ocaml/EmailService-OrderingPlugin.cmj +0 -0
  389. package/lib/ocaml/EmailService-OrderingPlugin.cmt +0 -0
  390. package/lib/ocaml/EmailService.ast +0 -0
  391. package/lib/ocaml/EmailService.res +3 -0
  392. package/lib/ocaml/OrderingPlugin.cmi +0 -0
  393. package/lib/ocaml/OrderingPlugin.cmj +0 -0
  394. package/lib/ocaml/OrderingPlugin.cmt +0 -0
  395. package/lib/ocaml/OrderingPlugin.mlmap +46 -0
  396. package/lib/ocaml/Orders-OrderingPlugin.cmi +0 -0
  397. package/lib/ocaml/Orders-OrderingPlugin.cmj +0 -0
  398. package/lib/ocaml/Orders-OrderingPlugin.cmt +0 -0
  399. package/lib/ocaml/Orders.ast +0 -0
  400. package/lib/ocaml/Orders.res +23 -0
  401. package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmi +0 -0
  402. package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmj +0 -0
  403. package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmt +0 -0
  404. package/lib/ocaml/Orders_ExtensionPointMapping.ast +0 -0
  405. package/lib/ocaml/Orders_ExtensionPointMapping.res +33 -0
  406. package/lib/ocaml/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmi +0 -0
  407. package/lib/ocaml/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmj +0 -0
  408. package/lib/ocaml/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmt +0 -0
  409. package/lib/ocaml/Orders_ExtensionPointMapping_GWT.ast +0 -0
  410. package/lib/ocaml/Orders_ExtensionPointMapping_GWT.res +23 -0
  411. package/lib/ocaml/Orders_GWT-OrderingPlugin.cmi +0 -0
  412. package/lib/ocaml/Orders_GWT-OrderingPlugin.cmj +0 -0
  413. package/lib/ocaml/Orders_GWT-OrderingPlugin.cmt +0 -0
  414. package/lib/ocaml/Orders_GWT.ast +0 -0
  415. package/lib/ocaml/Orders_GWT.res +36 -0
  416. package/lib/ocaml/Orders_Projection-OrderingPlugin.cmi +0 -0
  417. package/lib/ocaml/Orders_Projection-OrderingPlugin.cmj +0 -0
  418. package/lib/ocaml/Orders_Projection-OrderingPlugin.cmt +0 -0
  419. package/lib/ocaml/Orders_Projection.ast +0 -0
  420. package/lib/ocaml/Orders_Projection.res +10 -0
  421. package/lib/ocaml/PlaceOrder-OrderingPlugin.cmi +0 -0
  422. package/lib/ocaml/PlaceOrder-OrderingPlugin.cmj +0 -0
  423. package/lib/ocaml/PlaceOrder-OrderingPlugin.cmt +0 -0
  424. package/lib/ocaml/PlaceOrder.ast +0 -0
  425. package/lib/ocaml/PlaceOrder.res +33 -0
  426. package/lib/ocaml/PlaceOrder_Behavior-OrderingPlugin.cmi +0 -0
  427. package/lib/ocaml/PlaceOrder_Behavior-OrderingPlugin.cmj +0 -0
  428. package/lib/ocaml/PlaceOrder_Behavior-OrderingPlugin.cmt +0 -0
  429. package/lib/ocaml/PlaceOrder_Behavior.ast +0 -0
  430. package/lib/ocaml/PlaceOrder_Behavior.res +44 -0
  431. package/lib/ocaml/PlaceOrder_GWT-OrderingPlugin.cmi +0 -0
  432. package/lib/ocaml/PlaceOrder_GWT-OrderingPlugin.cmj +0 -0
  433. package/lib/ocaml/PlaceOrder_GWT-OrderingPlugin.cmt +0 -0
  434. package/lib/ocaml/PlaceOrder_GWT.ast +0 -0
  435. package/lib/ocaml/PlaceOrder_GWT.res +39 -0
  436. package/lib/ocaml/Plugin-OrderingPlugin.cmi +0 -0
  437. package/lib/ocaml/Plugin-OrderingPlugin.cmj +0 -0
  438. package/lib/ocaml/Plugin-OrderingPlugin.cmt +0 -0
  439. package/lib/ocaml/Plugin.ast +0 -0
  440. package/lib/ocaml/Plugin.res +64 -0
  441. package/lib/ocaml/Products_Extension-OrderingPlugin.cmi +0 -0
  442. package/lib/ocaml/Products_Extension-OrderingPlugin.cmj +0 -0
  443. package/lib/ocaml/Products_Extension-OrderingPlugin.cmt +0 -0
  444. package/lib/ocaml/Products_Extension.ast +0 -0
  445. package/lib/ocaml/Products_Extension.res +23 -0
  446. package/lib/ocaml/Products_Extension_GWT-OrderingPlugin.cmi +0 -0
  447. package/lib/ocaml/Products_Extension_GWT-OrderingPlugin.cmj +0 -0
  448. package/lib/ocaml/Products_Extension_GWT-OrderingPlugin.cmt +0 -0
  449. package/lib/ocaml/Products_Extension_GWT.ast +0 -0
  450. package/lib/ocaml/Products_Extension_GWT.res +23 -0
  451. package/lib/ocaml/RegisterCustomer-OrderingPlugin.cmi +0 -0
  452. package/lib/ocaml/RegisterCustomer-OrderingPlugin.cmj +0 -0
  453. package/lib/ocaml/RegisterCustomer-OrderingPlugin.cmt +0 -0
  454. package/lib/ocaml/RegisterCustomer.ast +0 -0
  455. package/lib/ocaml/RegisterCustomer.res +22 -0
  456. package/lib/ocaml/RegisterCustomer_Behavior-OrderingPlugin.cmi +0 -0
  457. package/lib/ocaml/RegisterCustomer_Behavior-OrderingPlugin.cmj +0 -0
  458. package/lib/ocaml/RegisterCustomer_Behavior-OrderingPlugin.cmt +0 -0
  459. package/lib/ocaml/RegisterCustomer_Behavior.ast +0 -0
  460. package/lib/ocaml/RegisterCustomer_Behavior.res +20 -0
  461. package/lib/ocaml/RegisterCustomer_GWT-OrderingPlugin.cmi +0 -0
  462. package/lib/ocaml/RegisterCustomer_GWT-OrderingPlugin.cmj +0 -0
  463. package/lib/ocaml/RegisterCustomer_GWT-OrderingPlugin.cmt +0 -0
  464. package/lib/ocaml/RegisterCustomer_GWT.ast +0 -0
  465. package/lib/ocaml/RegisterCustomer_GWT.res +21 -0
  466. package/lib/ocaml/SendOrderConfirmation-OrderingPlugin.cmi +0 -0
  467. package/lib/ocaml/SendOrderConfirmation-OrderingPlugin.cmj +0 -0
  468. package/lib/ocaml/SendOrderConfirmation-OrderingPlugin.cmt +0 -0
  469. package/lib/ocaml/SendOrderConfirmation.ast +0 -0
  470. package/lib/ocaml/SendOrderConfirmation.res +19 -0
  471. package/lib/ocaml/SendOrderConfirmation_GWT-OrderingPlugin.cmi +0 -0
  472. package/lib/ocaml/SendOrderConfirmation_GWT-OrderingPlugin.cmj +0 -0
  473. package/lib/ocaml/SendOrderConfirmation_GWT-OrderingPlugin.cmt +0 -0
  474. package/lib/ocaml/SendOrderConfirmation_GWT.ast +0 -0
  475. package/lib/ocaml/SendOrderConfirmation_GWT.res +33 -0
  476. package/lib/ocaml/SendOrderConfirmation_Translation-OrderingPlugin.cmi +0 -0
  477. package/lib/ocaml/SendOrderConfirmation_Translation-OrderingPlugin.cmj +0 -0
  478. package/lib/ocaml/SendOrderConfirmation_Translation-OrderingPlugin.cmt +0 -0
  479. package/lib/ocaml/SendOrderConfirmation_Translation.ast +0 -0
  480. package/lib/ocaml/SendOrderConfirmation_Translation.res +24 -0
  481. package/lib/ocaml/ShipOrder-OrderingPlugin.cmi +0 -0
  482. package/lib/ocaml/ShipOrder-OrderingPlugin.cmj +0 -0
  483. package/lib/ocaml/ShipOrder-OrderingPlugin.cmt +0 -0
  484. package/lib/ocaml/ShipOrder.ast +0 -0
  485. package/lib/ocaml/ShipOrder.res +21 -0
  486. package/lib/ocaml/ShipOrder_Behavior-OrderingPlugin.cmi +0 -0
  487. package/lib/ocaml/ShipOrder_Behavior-OrderingPlugin.cmj +0 -0
  488. package/lib/ocaml/ShipOrder_Behavior-OrderingPlugin.cmt +0 -0
  489. package/lib/ocaml/ShipOrder_Behavior.ast +0 -0
  490. package/lib/ocaml/ShipOrder_Behavior.res +26 -0
  491. package/lib/ocaml/ShipOrder_GWT-OrderingPlugin.cmi +0 -0
  492. package/lib/ocaml/ShipOrder_GWT-OrderingPlugin.cmj +0 -0
  493. package/lib/ocaml/ShipOrder_GWT-OrderingPlugin.cmt +0 -0
  494. package/lib/ocaml/ShipOrder_GWT.ast +0 -0
  495. package/lib/ocaml/ShipOrder_GWT.res +27 -0
  496. package/lib/ocaml/SyncCatalogProduct-OrderingPlugin.cmi +0 -0
  497. package/lib/ocaml/SyncCatalogProduct-OrderingPlugin.cmj +0 -0
  498. package/lib/ocaml/SyncCatalogProduct-OrderingPlugin.cmt +0 -0
  499. package/lib/ocaml/SyncCatalogProduct.ast +0 -0
  500. package/lib/ocaml/SyncCatalogProduct.res +28 -0
  501. package/lib/ocaml/SyncCatalogProduct_Behavior-OrderingPlugin.cmi +0 -0
  502. package/lib/ocaml/SyncCatalogProduct_Behavior-OrderingPlugin.cmj +0 -0
  503. package/lib/ocaml/SyncCatalogProduct_Behavior-OrderingPlugin.cmt +0 -0
  504. package/lib/ocaml/SyncCatalogProduct_Behavior.ast +0 -0
  505. package/lib/ocaml/SyncCatalogProduct_Behavior.res +27 -0
  506. package/lib/ocaml/SyncCatalogProduct_GWT-OrderingPlugin.cmi +0 -0
  507. package/lib/ocaml/SyncCatalogProduct_GWT-OrderingPlugin.cmj +0 -0
  508. package/lib/ocaml/SyncCatalogProduct_GWT-OrderingPlugin.cmt +0 -0
  509. package/lib/ocaml/SyncCatalogProduct_GWT.ast +0 -0
  510. package/lib/ocaml/SyncCatalogProduct_GWT.res +27 -0
  511. package/package.json +52 -0
  512. package/rescript.json +37 -0
  513. package/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct.res +28 -0
  514. package/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct.res.mjs +71 -0
  515. package/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior.res +27 -0
  516. package/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior.res.mjs +73 -0
  517. package/src/CatalogProduct/StateViewSlice/AvailableProducts.res +13 -0
  518. package/src/CatalogProduct/StateViewSlice/AvailableProducts.res.mjs +70 -0
  519. package/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection.res +8 -0
  520. package/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection.res.mjs +38 -0
  521. package/src/Customer/StateChangeSlice/ChangeAddress.res +20 -0
  522. package/src/Customer/StateChangeSlice/ChangeAddress.res.mjs +58 -0
  523. package/src/Customer/StateChangeSlice/ChangeAddress_Behavior.res +30 -0
  524. package/src/Customer/StateChangeSlice/ChangeAddress_Behavior.res.mjs +74 -0
  525. package/src/Customer/StateChangeSlice/ChangeEmail.res +20 -0
  526. package/src/Customer/StateChangeSlice/ChangeEmail.res.mjs +58 -0
  527. package/src/Customer/StateChangeSlice/ChangeEmail_Behavior.res +26 -0
  528. package/src/Customer/StateChangeSlice/ChangeEmail_Behavior.res.mjs +74 -0
  529. package/src/Customer/StateChangeSlice/DeactivateCustomer.res +17 -0
  530. package/src/Customer/StateChangeSlice/DeactivateCustomer.res.mjs +46 -0
  531. package/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior.res +23 -0
  532. package/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior.res.mjs +58 -0
  533. package/src/Customer/StateChangeSlice/RegisterCustomer.res +22 -0
  534. package/src/Customer/StateChangeSlice/RegisterCustomer.res.mjs +47 -0
  535. package/src/Customer/StateChangeSlice/RegisterCustomer_Behavior.res +20 -0
  536. package/src/Customer/StateChangeSlice/RegisterCustomer_Behavior.res.mjs +44 -0
  537. package/src/Customer/StateViewSlice/Customers.res +18 -0
  538. package/src/Customer/StateViewSlice/Customers.res.mjs +69 -0
  539. package/src/Customer/StateViewSlice/Customers_Projection.res +13 -0
  540. package/src/Customer/StateViewSlice/Customers_Projection.res.mjs +62 -0
  541. package/src/Extension/Products_Extension.res +23 -0
  542. package/src/Extension/Products_Extension.res.mjs +43 -0
  543. package/src/ExtensionPoint/Orders_ExtensionPointMapping.res +33 -0
  544. package/src/ExtensionPoint/Orders_ExtensionPointMapping.res.mjs +82 -0
  545. package/src/Order/AutomationSlice/AutoShipOrder.res +19 -0
  546. package/src/Order/AutomationSlice/AutoShipOrder.res.mjs +42 -0
  547. package/src/Order/AutomationSlice/AutoShipOrder_Automation.res +36 -0
  548. package/src/Order/AutomationSlice/AutoShipOrder_Automation.res.mjs +101 -0
  549. package/src/Order/OutboundTranslationSlice/SendOrderConfirmation.res +19 -0
  550. package/src/Order/OutboundTranslationSlice/SendOrderConfirmation.res.mjs +42 -0
  551. package/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation.res +24 -0
  552. package/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation.res.mjs +46 -0
  553. package/src/Order/StateChangeSlice/CancelOrder.res +24 -0
  554. package/src/Order/StateChangeSlice/CancelOrder.res.mjs +60 -0
  555. package/src/Order/StateChangeSlice/CancelOrder_Behavior.res +26 -0
  556. package/src/Order/StateChangeSlice/CancelOrder_Behavior.res.mjs +81 -0
  557. package/src/Order/StateChangeSlice/PlaceOrder.res +33 -0
  558. package/src/Order/StateChangeSlice/PlaceOrder.res.mjs +63 -0
  559. package/src/Order/StateChangeSlice/PlaceOrder_Behavior.res +44 -0
  560. package/src/Order/StateChangeSlice/PlaceOrder_Behavior.res.mjs +70 -0
  561. package/src/Order/StateChangeSlice/ShipOrder.res +21 -0
  562. package/src/Order/StateChangeSlice/ShipOrder.res.mjs +56 -0
  563. package/src/Order/StateChangeSlice/ShipOrder_Behavior.res +26 -0
  564. package/src/Order/StateChangeSlice/ShipOrder_Behavior.res.mjs +73 -0
  565. package/src/Order/StateViewSlice/Orders.res +23 -0
  566. package/src/Order/StateViewSlice/Orders.res.mjs +81 -0
  567. package/src/Order/StateViewSlice/Orders_Projection.res +10 -0
  568. package/src/Order/StateViewSlice/Orders_Projection.res.mjs +52 -0
  569. package/src/Plugin.res +64 -0
  570. package/src/Plugin.res.mjs +346 -0
  571. package/src/Service/EmailService.res +3 -0
  572. package/src/Service/EmailService.res.mjs +11 -0
  573. package/src/plugin.json +1 -0
  574. package/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT.res +27 -0
  575. package/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT.res.mjs +109 -0
  576. package/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT.res +15 -0
  577. package/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT.res.mjs +93 -0
  578. package/tests/Customer/StateChangeSlice/ChangeAddress_GWT.res +27 -0
  579. package/tests/Customer/StateChangeSlice/ChangeAddress_GWT.res.mjs +102 -0
  580. package/tests/Customer/StateChangeSlice/ChangeEmail_GWT.res +27 -0
  581. package/tests/Customer/StateChangeSlice/ChangeEmail_GWT.res.mjs +102 -0
  582. package/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT.res +21 -0
  583. package/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT.res.mjs +84 -0
  584. package/tests/Customer/StateChangeSlice/RegisterCustomer_GWT.res +21 -0
  585. package/tests/Customer/StateChangeSlice/RegisterCustomer_GWT.res.mjs +83 -0
  586. package/tests/Customer/StateViewSlice/Customers_GWT.res +45 -0
  587. package/tests/Customer/StateViewSlice/Customers_GWT.res.mjs +124 -0
  588. package/tests/Extension/Products_Extension_GWT.res +23 -0
  589. package/tests/Extension/Products_Extension_GWT.res.mjs +108 -0
  590. package/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res +23 -0
  591. package/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res.mjs +139 -0
  592. package/tests/Order/AutomationSlice/AutoShipOrder_GWT.res +55 -0
  593. package/tests/Order/AutomationSlice/AutoShipOrder_GWT.res.mjs +133 -0
  594. package/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT.res +33 -0
  595. package/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT.res.mjs +101 -0
  596. package/tests/Order/StateChangeSlice/CancelOrder_GWT.res +27 -0
  597. package/tests/Order/StateChangeSlice/CancelOrder_GWT.res.mjs +107 -0
  598. package/tests/Order/StateChangeSlice/PlaceOrder_GWT.res +39 -0
  599. package/tests/Order/StateChangeSlice/PlaceOrder_GWT.res.mjs +139 -0
  600. package/tests/Order/StateChangeSlice/ShipOrder_GWT.res +27 -0
  601. package/tests/Order/StateChangeSlice/ShipOrder_GWT.res.mjs +91 -0
  602. package/tests/Order/StateViewSlice/Orders_GWT.res +36 -0
  603. package/tests/Order/StateViewSlice/Orders_GWT.res.mjs +114 -0
@@ -0,0 +1,23 @@
1
+ @@reventless.behavior
2
+
3
+ type state = {exists: bool, deactivated: bool}
4
+
5
+ let initialState = {exists: false, deactivated: false}
6
+
7
+ let evolve = (state, event) =>
8
+ switch event {
9
+ | CustomerRegistered => {exists: true, deactivated: false}
10
+ | CustomerDeactivated => {...state, deactivated: true}
11
+ }
12
+
13
+ let decide = (state, command) =>
14
+ switch command {
15
+ | DeactivateCustomer({customerId: theId}) =>
16
+ if !state.exists {
17
+ Error(CustomerNotFound)
18
+ } else if state.deactivated {
19
+ Ok([]) // idempotent — already deactivated
20
+ } else {
21
+ Ok([CustomerDeactivated({customerId: theId})])
22
+ }
23
+ }
@@ -0,0 +1,21 @@
1
+ @@reventless.gwt
2
+
3
+ describe("DeactivateCustomer StateChangeSlice", () => {
4
+ test("non-existent customer returns CustomerNotFound", () =>
5
+ givenEvents([])
6
+ ->whenCmd(DeactivateCustomer({customerId: "c1"}))
7
+ ->thenError(CustomerNotFound)
8
+ )
9
+
10
+ test("existing customer produces CustomerDeactivated", () =>
11
+ givenEvents([CustomerRegistered])
12
+ ->whenCmd(DeactivateCustomer({customerId: "c1"}))
13
+ ->thenEvent(CustomerDeactivated({customerId: "c1"}))
14
+ )
15
+
16
+ test("already deactivated customer produces no events (idempotent)", () =>
17
+ givenEvents([CustomerRegistered, CustomerDeactivated])
18
+ ->whenCmd(DeactivateCustomer({customerId: "c1"}))
19
+ ->thenNoEvent
20
+ )
21
+ })
Binary file
@@ -0,0 +1,3 @@
1
+ let sendOrderConfirmation = async (~email as _, ~orderId as _) => {
2
+ Console.log("[EmailService] Order confirmation sent")
3
+ }
Binary file
Binary file
Binary file
@@ -0,0 +1,46 @@
1
+ randjbuildsystem
2
+ AutoShipOrder
3
+ AutoShipOrder_Automation
4
+ AutoShipOrder_GWT
5
+ AvailableProducts
6
+ AvailableProducts_GWT
7
+ AvailableProducts_Projection
8
+ CancelOrder
9
+ CancelOrder_Behavior
10
+ CancelOrder_GWT
11
+ ChangeAddress
12
+ ChangeAddress_Behavior
13
+ ChangeAddress_GWT
14
+ ChangeEmail
15
+ ChangeEmail_Behavior
16
+ ChangeEmail_GWT
17
+ Customers
18
+ Customers_GWT
19
+ Customers_Projection
20
+ DeactivateCustomer
21
+ DeactivateCustomer_Behavior
22
+ DeactivateCustomer_GWT
23
+ EmailService
24
+ Orders
25
+ Orders_ExtensionPointMapping
26
+ Orders_ExtensionPointMapping_GWT
27
+ Orders_GWT
28
+ Orders_Projection
29
+ PlaceOrder
30
+ PlaceOrder_Behavior
31
+ PlaceOrder_GWT
32
+ Plugin
33
+ Products_Extension
34
+ Products_Extension_GWT
35
+ RegisterCustomer
36
+ RegisterCustomer_Behavior
37
+ RegisterCustomer_GWT
38
+ SendOrderConfirmation
39
+ SendOrderConfirmation_GWT
40
+ SendOrderConfirmation_Translation
41
+ ShipOrder
42
+ ShipOrder_Behavior
43
+ ShipOrder_GWT
44
+ SyncCatalogProduct
45
+ SyncCatalogProduct_Behavior
46
+ SyncCatalogProduct_GWT
Binary file
@@ -0,0 +1,23 @@
1
+ // Orders StateViewSlice.
2
+ // Projects order events from the shared ordering event log into an Orders read model.
3
+ @@reventless.spec
4
+
5
+ @schema
6
+ type status =
7
+ | Placed
8
+ | Shipped
9
+ | Cancelled
10
+
11
+ @schema
12
+ type state = {
13
+ orderId: string,
14
+ customerId: string,
15
+ productIds: array<string>,
16
+ @status status: status,
17
+ }
18
+
19
+ @schema
20
+ type consumedEvent =
21
+ | OrderPlaced({orderId: string, customerId: string, productIds: array<string>})
22
+ | OrderShipped({orderId: string})
23
+ | OrderCancelled({orderId: string})
@@ -0,0 +1,33 @@
1
+ // Maps internal Ordering events to the stable Orders_ExtensionPoint public API.
2
+ // Decomposes batch OrderPlaced / OrderCancelled events into per-product EP events.
3
+ @@reventless.spec
4
+
5
+ module ExtensionPoint = OrderingSpec.Orders_ExtensionPoint
6
+
7
+ // DCB adapter: defines the event type used for outgoing event mapping.
8
+ // Only the events relevant to the extension point are included.
9
+ module Delegate = {
10
+ let name = "OrderingDcbEventLog"
11
+ @schema
12
+ type event =
13
+ | OrderPlaced({orderId: string, customerId: string, productIds: array<string>})
14
+ | OrderCancelled({orderId: string, productIds: array<string>})
15
+ }
16
+
17
+ let mapIncomingCommand = (_id, _command, _meta) => []
18
+
19
+ let mapOutgoingEvent = Some((_id, event, _meta, _queryEngine) =>
20
+ switch event {
21
+ | Delegate.OrderPlaced({orderId, customerId, productIds}) =>
22
+ productIds->Array.map(productId =>
23
+ PublishEvent(
24
+ productId,
25
+ OrderingSpec.Orders_ExtensionPoint.ItemOrdered({productId, orderId, customerId}),
26
+ )
27
+ )
28
+ | Delegate.OrderCancelled({orderId, productIds}) =>
29
+ productIds->Array.map(productId =>
30
+ PublishEvent(productId, OrderingSpec.Orders_ExtensionPoint.ItemOrderCancelled({productId, orderId}))
31
+ )
32
+ }
33
+ )
@@ -0,0 +1,23 @@
1
+ // Boundary GWT for the Orders extension point: batch order events decompose
2
+ // into one public per-product event each (one-to-many fan-out).
3
+ @@reventless.gwt
4
+
5
+ describe("Orders ExtensionPoint mapping — per-product fan-out", () => {
6
+ test("OrderPlaced fans out to one ItemOrdered per product", () =>
7
+ whenDelegateEvent(
8
+ Delegate.OrderPlaced({orderId: "o1", customerId: "c1", productIds: ["p1", "p2"]}),
9
+ )->thenPublishesEvents([
10
+ ("p1", ExtensionPoint.ItemOrdered({productId: "p1", orderId: "o1", customerId: "c1"})),
11
+ ("p2", ExtensionPoint.ItemOrdered({productId: "p2", orderId: "o1", customerId: "c1"})),
12
+ ])
13
+ )
14
+
15
+ test("OrderCancelled fans out to one ItemOrderCancelled per product", () =>
16
+ whenDelegateEvent(
17
+ Delegate.OrderCancelled({orderId: "o1", productIds: ["p1", "p2"]}),
18
+ )->thenPublishesEvents([
19
+ ("p1", ExtensionPoint.ItemOrderCancelled({productId: "p1", orderId: "o1"})),
20
+ ("p2", ExtensionPoint.ItemOrderCancelled({productId: "p2", orderId: "o1"})),
21
+ ])
22
+ )
23
+ })
Binary file
@@ -0,0 +1,36 @@
1
+ @@reventless.gwt
2
+
3
+ describe("Orders StateViewSlice", () => {
4
+ test("OrderPlaced creates a row with status Placed", () =>
5
+ givenEvents([])
6
+ ->whenEvent(
7
+ OrderPlaced({orderId: "o1", customerId: "c1", productIds: ["p1", "p2"]}),
8
+ )
9
+ ->thenStateWithId(
10
+ "o1",
11
+ {orderId: "o1", customerId: "c1", productIds: ["p1", "p2"], status: Placed},
12
+ )
13
+ )
14
+
15
+ test("OrderShipped updates status to Shipped", () =>
16
+ givenEvents([
17
+ OrderPlaced({orderId: "o1", customerId: "c1", productIds: ["p1"]}),
18
+ ])
19
+ ->whenEvent(OrderShipped({orderId: "o1"}))
20
+ ->thenStateWithId(
21
+ "o1",
22
+ {orderId: "o1", customerId: "c1", productIds: ["p1"], status: Shipped},
23
+ )
24
+ )
25
+
26
+ test("OrderCancelled updates status to Cancelled", () =>
27
+ givenEvents([
28
+ OrderPlaced({orderId: "o1", customerId: "c1", productIds: ["p1"]}),
29
+ ])
30
+ ->whenEvent(OrderCancelled({orderId: "o1"}))
31
+ ->thenStateWithId(
32
+ "o1",
33
+ {orderId: "o1", customerId: "c1", productIds: ["p1"], status: Cancelled},
34
+ )
35
+ )
36
+ })
Binary file
@@ -0,0 +1,10 @@
1
+ @@reventless.projection
2
+
3
+ let project = event =>
4
+ switch event {
5
+ | OrderPlaced({orderId, customerId, productIds}) => [
6
+ Set(orderId, {orderId, customerId, productIds, status: Placed}),
7
+ ]
8
+ | OrderShipped({orderId}) => [Update(orderId, state => {...state, status: Shipped})]
9
+ | OrderCancelled({orderId}) => [Update(orderId, state => {...state, status: Cancelled})]
10
+ }
Binary file
@@ -0,0 +1,33 @@
1
+ // PlaceOrder StateChangeSlice.
2
+ // Handles the PlaceOrder command; rejects duplicate placement and validates
3
+ // that all referenced products have been synced to the ordering event log.
4
+ //
5
+ // The tagged array `productIds: array<string>` triggers automatic multi-clause
6
+ // query construction: one OR clause per orderId and per productId element —
7
+ // fetching both Order and CatalogProduct events. The plural field name is
8
+ // auto-singularised by the PPX so each element is stored under tag key
9
+ // `productId`, sharing the key with single-value `productId: string` producers.
10
+
11
+ @@reventless.spec
12
+
13
+ // `OrderPlaced` carries `orderId` (not partial) so the decision model can
14
+ // discriminate placements across the multi-clause query. Without it,
15
+ // OrderPlaced events from sibling orders that share a `productId` tag would
16
+ // leak in and falsely set "this order exists".
17
+ @schema
18
+ type consumedEvent =
19
+ | OrderPlaced({orderId: string})
20
+ | CatalogProductSynced({productId: string})
21
+
22
+ @schema
23
+ type command =
24
+ PlaceOrder({@partitionTag orderId: string, customerId: string, @ref("AvailableProducts") productIds: array<string>})
25
+
26
+ @schema
27
+ type error =
28
+ | OrderAlreadyPlaced
29
+ | ProductsNotAvailable({missing: array<string>})
30
+
31
+ @schema
32
+ type event =
33
+ OrderPlaced({@partitionTag orderId: string, customerId: string, productIds: array<string>})
@@ -0,0 +1,44 @@
1
+ @@reventless.behavior
2
+
3
+ // `placedOrderIds` tracks every OrderPlaced the query returned (regardless of
4
+ // orderId — the multi-clause query also fetches by productId tags), so the
5
+ // `decide` step can ask "is THIS particular orderId already placed?" without
6
+ // being confused by OrderPlaced events from sibling orders sharing a product.
7
+ //
8
+ // Stored as immutable arrays (rather than `Set.t`) so each fold yields a
9
+ // fresh state — `evolve` returns a new record instead of mutating a shared
10
+ // one. This keeps successive `decide` calls (and unit tests) hermetic.
11
+ type state = {placedOrderIds: array<string>, availableProductIds: array<string>}
12
+
13
+ let initialState = {placedOrderIds: [], availableProductIds: []}
14
+
15
+ let evolve = (state, event: consumedEvent) =>
16
+ switch event {
17
+ | OrderPlaced({orderId}) => {
18
+ ...state,
19
+ placedOrderIds: state.placedOrderIds->Array.includes(orderId)
20
+ ? state.placedOrderIds
21
+ : Array.concat(state.placedOrderIds, [orderId]),
22
+ }
23
+ | CatalogProductSynced({productId}) => {
24
+ ...state,
25
+ availableProductIds: state.availableProductIds->Array.includes(productId)
26
+ ? state.availableProductIds
27
+ : Array.concat(state.availableProductIds, [productId]),
28
+ }
29
+ }
30
+
31
+ let decide = (state, command) =>
32
+ switch command {
33
+ | PlaceOrder({orderId, customerId, productIds}) =>
34
+ if state.placedOrderIds->Array.includes(orderId) {
35
+ Error(OrderAlreadyPlaced)
36
+ } else {
37
+ let missing = productIds->Array.filter(pid => !(state.availableProductIds->Array.includes(pid)))
38
+ if missing->Array.length > 0 {
39
+ Error(ProductsNotAvailable({missing: missing}))
40
+ } else {
41
+ Ok([OrderPlaced({orderId, customerId, productIds})])
42
+ }
43
+ }
44
+ }
Binary file
@@ -0,0 +1,39 @@
1
+ @@reventless.gwt
2
+
3
+ describe("PlaceOrder StateChangeSlice", () => {
4
+ test("requires referenced products to be synced first", () =>
5
+ givenEvents([])
6
+ ->whenCmd(PlaceOrder({orderId: "o1", customerId: "c1", productIds: ["p1"]}))
7
+ ->thenError(ProductsNotAvailable({missing: ["p1"]}))
8
+ )
9
+
10
+ test("placement succeeds when products are available", () =>
11
+ givenEvents([CatalogProductSynced({productId: "p1"})])
12
+ ->whenCmd(PlaceOrder({orderId: "o1", customerId: "c1", productIds: ["p1"]}))
13
+ ->thenEvent(OrderPlaced({orderId: "o1", customerId: "c1", productIds: ["p1"]}))
14
+ )
15
+
16
+ test("partial product availability returns ProductsNotAvailable with missing list", () =>
17
+ givenEvents([CatalogProductSynced({productId: "p1"})])
18
+ ->whenCmd(PlaceOrder({orderId: "o1", customerId: "c1", productIds: ["p1", "p2"]}))
19
+ ->thenError(ProductsNotAvailable({missing: ["p2"]}))
20
+ )
21
+
22
+ test("re-placing the same orderId returns OrderAlreadyPlaced", () =>
23
+ givenEvents([
24
+ CatalogProductSynced({productId: "p1"}),
25
+ OrderPlaced({orderId: "o1"}),
26
+ ])
27
+ ->whenCmd(PlaceOrder({orderId: "o1", customerId: "c1", productIds: ["p1"]}))
28
+ ->thenError(OrderAlreadyPlaced)
29
+ )
30
+
31
+ test("a sibling OrderPlaced for a different orderId does not block placement", () =>
32
+ givenEvents([
33
+ CatalogProductSynced({productId: "p1"}),
34
+ OrderPlaced({orderId: "o2"}),
35
+ ])
36
+ ->whenCmd(PlaceOrder({orderId: "o1", customerId: "c1", productIds: ["p1"]}))
37
+ ->thenEvent(OrderPlaced({orderId: "o1", customerId: "c1", productIds: ["p1"]}))
38
+ )
39
+ })
Binary file
@@ -0,0 +1,64 @@
1
+ // AUTO-GENERATED — do not edit. Run `npm run generate` to update.
2
+
3
+ @val external uiBundleUrl: option<string> = "process.env.ORDERING_UI_BUNDLE_URL"
4
+
5
+ module Make = (Platform: ReventlessInfra.Platform.T) => {
6
+ // StateChangeSlices
7
+ module CancelOrderSlice = Platform.StateChangeSlice.Make(CancelOrder, CancelOrder_Behavior)
8
+ module ChangeAddressSlice = Platform.StateChangeSlice.Make(ChangeAddress, ChangeAddress_Behavior)
9
+ module ChangeEmailSlice = Platform.StateChangeSlice.Make(ChangeEmail, ChangeEmail_Behavior)
10
+ module DeactivateCustomerSlice = Platform.StateChangeSlice.Make(DeactivateCustomer, DeactivateCustomer_Behavior)
11
+ module PlaceOrderSlice = Platform.StateChangeSlice.Make(PlaceOrder, PlaceOrder_Behavior)
12
+ module RegisterCustomerSlice = Platform.StateChangeSlice.Make(RegisterCustomer, RegisterCustomer_Behavior)
13
+ module ShipOrderSlice = Platform.StateChangeSlice.Make(ShipOrder, ShipOrder_Behavior)
14
+ module SyncCatalogProductSlice = Platform.StateChangeSlice.Make(SyncCatalogProduct, SyncCatalogProduct_Behavior)
15
+
16
+ // StateViewSlices
17
+ module AvailableProductsSlice = Platform.StateViewSlice.Make(AvailableProducts, AvailableProducts_Projection)
18
+ module CustomersSlice = Platform.StateViewSlice.Make(Customers, Customers_Projection)
19
+ module OrdersSlice = Platform.StateViewSlice.Make(Orders, Orders_Projection)
20
+
21
+ // AutomationSlices
22
+ module AutoShipOrderSlice = Platform.AutomationSlice.Make(AutoShipOrder, AutoShipOrder_Automation)
23
+
24
+ // OutboundTranslationSlices
25
+ module SendOrderConfirmationSlice = Platform.OutboundTranslationSlice.Make(SendOrderConfirmation, SendOrderConfirmation_Translation)
26
+
27
+ // ExtensionPoints
28
+ module Orders_ExtensionPoint = Platform.ExtensionPoint.Make(Orders_ExtensionPointMapping)
29
+
30
+ // Extensions
31
+ module Products_Extension = Platform.Extension.Make(Products_Extension.Mapping)
32
+
33
+ let pluginStructure = Platform.Plugin.makePluginDefinition(
34
+ ~name="Ordering",
35
+ ~stateViewSlices=[module(AvailableProductsSlice), module(CustomersSlice), module(OrdersSlice)],
36
+ ~stateChangeSlices=[module(CancelOrderSlice), module(ChangeAddressSlice), module(ChangeEmailSlice), module(DeactivateCustomerSlice), module(PlaceOrderSlice), module(RegisterCustomerSlice), module(ShipOrderSlice), module(SyncCatalogProductSlice)],
37
+ ~automationSlices=[module(AutoShipOrderSlice)],
38
+ ~outboundTranslationSlices=[module(SendOrderConfirmationSlice)],
39
+ ~extensions=[module(Products_Extension)],
40
+ ~extensionPoints=[module(Orders_ExtensionPointMapping)],
41
+ )
42
+
43
+ let make = () =>
44
+ Platform.Plugin.make(
45
+ ~name="Ordering",
46
+ ~heartbeatInterval=5,
47
+ ~extensionPoints=[module(Orders_ExtensionPoint)],
48
+ ~extensions=[module(Products_Extension)],
49
+ ~stateChangeSlices=[module(CancelOrderSlice), module(ChangeAddressSlice), module(ChangeEmailSlice), module(DeactivateCustomerSlice), module(PlaceOrderSlice), module(RegisterCustomerSlice), module(ShipOrderSlice), module(SyncCatalogProductSlice)],
50
+ ~stateViewSlices=[module(AvailableProductsSlice), module(CustomersSlice), module(OrdersSlice)],
51
+ ~automationSlices=[module(AutoShipOrderSlice)],
52
+ ~outboundTranslationSlices=[module(SendOrderConfirmationSlice)],
53
+ ~pluginStructure=pluginStructure,
54
+ ~uiFragments=?uiBundleUrl->Option.map(url =>
55
+ Platform.Plugin.makeAutoUIManifest(
56
+ ~remoteEntryUrl=url,
57
+ ~name="Ordering",
58
+ ~pluginStructure,
59
+ ~readModelPositions=["platform-summary"],
60
+ ~aggregatePositions=["resource-detail"],
61
+ )
62
+ ),
63
+ )
64
+ }
Binary file
@@ -0,0 +1,23 @@
1
+ // Ordering's extension subscribing to Catalog's Products_ExtensionPoint.
2
+ // Routes ProductBecameAvailable / ProductPriceChanged events to SyncCatalogProduct commands.
3
+
4
+ @@reventless.extension
5
+
6
+ module Mapping = {
7
+ module ExtensionPoint = CatalogSpec.Products_ExtensionPoint
8
+ module Delegate = SyncCatalogProduct
9
+
10
+ open ExtensionPoint
11
+ open SyncCatalogProduct
12
+ let mapIncomingEvent = (_id, event, _meta, _pluginDef, _queryEngine) =>
13
+ switch event {
14
+ | ProductBecameAvailable({productId, name, price}) => [
15
+ PublishStateChangeSliceCommand(SyncNewProduct({productId, name, price})),
16
+ ]
17
+ | ProductPriceChanged({productId, price}) => [
18
+ PublishStateChangeSliceCommand(ChangeSyncedPrice({productId, price})),
19
+ ]
20
+ }
21
+
22
+ let mapOutgoingEvent = None
23
+ }
@@ -0,0 +1,23 @@
1
+ // Boundary GWT for Ordering's Products extension: public Catalog events become
2
+ // SyncCatalogProduct commands on Ordering's local shadow slice.
3
+ @@reventless.gwt
4
+
5
+ // `Mapping` is brought into scope by the PPX `open Products_Extension`; opening
6
+ // it surfaces the extension point's events and the delegate's commands.
7
+ open Mapping
8
+
9
+ describe("Products Extension delegate", () => {
10
+ test("ProductBecameAvailable issues SyncNewProduct", () =>
11
+ whenIncomingEvent(
12
+ ExtensionPoint.ProductBecameAvailable({productId: "p1", name: "Book", price: 9.99}),
13
+ )->thenPublishesCommand(
14
+ Delegate.SyncNewProduct({productId: "p1", name: "Book", price: 9.99}),
15
+ )
16
+ )
17
+
18
+ test("ProductPriceChanged issues ChangeSyncedPrice", () =>
19
+ whenIncomingEvent(
20
+ ExtensionPoint.ProductPriceChanged({productId: "p1", price: 7.5}),
21
+ )->thenPublishesCommand(Delegate.ChangeSyncedPrice({productId: "p1", price: 7.5}))
22
+ )
23
+ })
Binary file