@reventlessdev/online-shop-aggregates-ordering 3.0.0-alpha.244 → 3.0.0-alpha.246

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 (277) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/lib/bs/.compiler.log +2 -2
  3. package/lib/bs/OrderingPlugin.cmi +0 -0
  4. package/lib/bs/OrderingPlugin.cmt +0 -0
  5. package/lib/bs/OrderingPlugin.mlmap +2 -0
  6. package/lib/bs/compiler-info.json +1 -1
  7. package/lib/bs/src/CatalogProduct/Aggregate/CatalogProduct-OrderingPlugin.cmi +0 -0
  8. package/lib/bs/src/CatalogProduct/Aggregate/CatalogProduct-OrderingPlugin.cmt +0 -0
  9. package/lib/bs/src/CatalogProduct/Aggregate/CatalogProduct.ast +0 -0
  10. package/lib/bs/src/CatalogProduct/Aggregate/CatalogProduct.res +2 -0
  11. package/lib/bs/src/CatalogProduct/Aggregate/CatalogProduct_Behavior-OrderingPlugin.cmi +0 -0
  12. package/lib/bs/src/CatalogProduct/Aggregate/CatalogProduct_Behavior-OrderingPlugin.cmt +0 -0
  13. package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts-OrderingPlugin.cmi +0 -0
  14. package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts-OrderingPlugin.cmt +0 -0
  15. package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts.ast +0 -0
  16. package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts.res +2 -0
  17. package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts_Projections-OrderingPlugin.cmi +0 -0
  18. package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts_Projections-OrderingPlugin.cmt +0 -0
  19. package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts_Projections.res.mjs +4 -4
  20. package/lib/bs/src/Customer/Aggregate/Customer-OrderingPlugin.cmi +0 -0
  21. package/lib/bs/src/Customer/Aggregate/Customer-OrderingPlugin.cmt +0 -0
  22. package/lib/bs/src/Customer/Aggregate/Customer.ast +0 -0
  23. package/lib/bs/src/Customer/Aggregate/Customer.res +2 -0
  24. package/lib/bs/src/Customer/Aggregate/Customer_Behavior-OrderingPlugin.cmi +0 -0
  25. package/lib/bs/src/Customer/Aggregate/Customer_Behavior-OrderingPlugin.cmt +0 -0
  26. package/lib/bs/src/Customer/CustomerId-OrderingPlugin.cmi +0 -0
  27. package/lib/bs/src/Customer/CustomerId-OrderingPlugin.cmj +0 -0
  28. package/lib/bs/src/Customer/CustomerId-OrderingPlugin.cmt +0 -0
  29. package/lib/bs/src/Customer/CustomerId.ast +0 -0
  30. package/lib/bs/src/Customer/CustomerId.res +4 -0
  31. package/lib/bs/src/Customer/CustomerId.res.mjs +29 -0
  32. package/lib/bs/src/Customer/ReadModel/Customers-OrderingPlugin.cmi +0 -0
  33. package/lib/bs/src/Customer/ReadModel/Customers-OrderingPlugin.cmt +0 -0
  34. package/lib/bs/src/Customer/ReadModel/Customers.ast +0 -0
  35. package/lib/bs/src/Customer/ReadModel/Customers.res +2 -0
  36. package/lib/bs/src/Customer/ReadModel/Customers_Projections-OrderingPlugin.cmi +0 -0
  37. package/lib/bs/src/Customer/ReadModel/Customers_Projections-OrderingPlugin.cmt +0 -0
  38. package/lib/bs/src/Customer/ReadModel/Customers_Projections.res.mjs +4 -4
  39. package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmi +0 -0
  40. package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmt +0 -0
  41. package/lib/bs/src/Extension/Products_Extension.ast +0 -0
  42. package/lib/bs/src/Extension/Products_Extension.res +6 -2
  43. package/lib/bs/src/Extension/Products_Extension.res.mjs +4 -3
  44. package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmi +0 -0
  45. package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmj +0 -0
  46. package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmt +0 -0
  47. package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping.ast +0 -0
  48. package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping.res +23 -8
  49. package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping.res.mjs +28 -20
  50. package/lib/bs/src/LifecycleModel-OrderingPlugin.cmi +0 -0
  51. package/lib/bs/src/LifecycleModel-OrderingPlugin.cmt +0 -0
  52. package/lib/bs/src/Order/Aggregate/Order-OrderingPlugin.cmi +0 -0
  53. package/lib/bs/src/Order/Aggregate/Order-OrderingPlugin.cmt +0 -0
  54. package/lib/bs/src/Order/Aggregate/Order.ast +0 -0
  55. package/lib/bs/src/Order/Aggregate/Order.res +7 -3
  56. package/lib/bs/src/Order/Aggregate/Order.res.mjs +7 -6
  57. package/lib/bs/src/Order/Aggregate/Order_Behavior-OrderingPlugin.cmi +0 -0
  58. package/lib/bs/src/Order/Aggregate/Order_Behavior-OrderingPlugin.cmt +0 -0
  59. package/lib/bs/src/Order/Aggregate/Order_Behavior.ast +0 -0
  60. package/lib/bs/src/Order/Aggregate/Order_Behavior.res +1 -1
  61. package/lib/bs/src/Order/Aggregate/Order_Behavior.res.mjs +4 -2
  62. package/lib/bs/src/Order/Aggregate/Order_Mappings-OrderingPlugin.cmi +0 -0
  63. package/lib/bs/src/Order/Aggregate/Order_Mappings-OrderingPlugin.cmt +0 -0
  64. package/lib/bs/src/Order/Aggregate/Order_Mappings.res.mjs +3 -3
  65. package/lib/bs/src/Order/OrderId-OrderingPlugin.cmi +0 -0
  66. package/lib/bs/src/Order/OrderId-OrderingPlugin.cmj +0 -0
  67. package/lib/bs/src/Order/OrderId-OrderingPlugin.cmt +0 -0
  68. package/lib/bs/src/Order/OrderId.ast +0 -0
  69. package/lib/bs/src/Order/OrderId.res +4 -0
  70. package/lib/bs/src/Order/OrderId.res.mjs +29 -0
  71. package/lib/bs/src/Order/ReadModel/Orders-OrderingPlugin.cmi +0 -0
  72. package/lib/bs/src/Order/ReadModel/Orders-OrderingPlugin.cmt +0 -0
  73. package/lib/bs/src/Order/ReadModel/Orders.ast +0 -0
  74. package/lib/bs/src/Order/ReadModel/Orders.res +4 -2
  75. package/lib/bs/src/Order/ReadModel/Orders.res.mjs +4 -2
  76. package/lib/bs/src/Order/ReadModel/Orders_Projections-OrderingPlugin.cmi +0 -0
  77. package/lib/bs/src/Order/ReadModel/Orders_Projections-OrderingPlugin.cmt +0 -0
  78. package/lib/bs/src/Order/ReadModel/Orders_Projections.res.mjs +4 -4
  79. package/lib/bs/src/Order/SideEffect/Order_EmailNotification-OrderingPlugin.cmi +0 -0
  80. package/lib/bs/src/Order/SideEffect/Order_EmailNotification-OrderingPlugin.cmt +0 -0
  81. package/lib/bs/src/Order/SideEffect/Order_EmailNotification.ast +0 -0
  82. package/lib/bs/src/Order/SideEffect/Order_EmailNotification.res +4 -1
  83. package/lib/bs/src/Order/SideEffect/Order_EmailNotification.res.mjs +4 -3
  84. package/lib/bs/src/Plugin-OrderingPlugin.cmi +0 -0
  85. package/lib/bs/src/Plugin-OrderingPlugin.cmt +0 -0
  86. package/lib/bs/src/Plugin.res.mjs +15 -13
  87. package/lib/bs/src/Task/OrderNotifications-OrderingPlugin.cmi +0 -0
  88. package/lib/bs/src/Task/OrderNotifications-OrderingPlugin.cmt +0 -0
  89. package/lib/bs/src/Task/OrderNotifications.res.mjs +3 -3
  90. package/lib/bs/tests/CatalogProduct/Aggregate/CatalogProduct_GWT-OrderingPlugin.cmi +0 -0
  91. package/lib/bs/tests/CatalogProduct/Aggregate/CatalogProduct_GWT-OrderingPlugin.cmt +0 -0
  92. package/lib/bs/tests/CatalogProduct/ReadModel/AvailableProducts_GWT-OrderingPlugin.cmi +0 -0
  93. package/lib/bs/tests/CatalogProduct/ReadModel/AvailableProducts_GWT-OrderingPlugin.cmt +0 -0
  94. package/lib/bs/tests/Customer/Aggregate/Customer_GWT-OrderingPlugin.cmi +0 -0
  95. package/lib/bs/tests/Customer/Aggregate/Customer_GWT-OrderingPlugin.cmt +0 -0
  96. package/lib/bs/tests/Customer/ReadModel/Customers_GWT-OrderingPlugin.cmi +0 -0
  97. package/lib/bs/tests/Customer/ReadModel/Customers_GWT-OrderingPlugin.cmt +0 -0
  98. package/lib/bs/tests/Extension/Products_Extension_GWT-OrderingPlugin.cmi +0 -0
  99. package/lib/bs/tests/Extension/Products_Extension_GWT-OrderingPlugin.cmt +0 -0
  100. package/lib/bs/tests/Extension/Products_Extension_GWT.ast +0 -0
  101. package/lib/bs/tests/Extension/Products_Extension_GWT.res +4 -2
  102. package/lib/bs/tests/Extension/Products_Extension_GWT.res.mjs +7 -4
  103. package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmi +0 -0
  104. package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmt +0 -0
  105. package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.ast +0 -0
  106. package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res +6 -2
  107. package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res.mjs +18 -7
  108. package/lib/bs/tests/Order/Aggregate/OrderMappings_GWT-OrderingPlugin.cmi +0 -0
  109. package/lib/bs/tests/Order/Aggregate/OrderMappings_GWT-OrderingPlugin.cmj +0 -0
  110. package/lib/bs/tests/Order/Aggregate/OrderMappings_GWT-OrderingPlugin.cmt +0 -0
  111. package/lib/bs/tests/Order/Aggregate/OrderMappings_GWT.ast +0 -0
  112. package/lib/bs/tests/Order/Aggregate/OrderMappings_GWT.res +6 -4
  113. package/lib/bs/tests/Order/Aggregate/OrderMappings_GWT.res.mjs +19 -11
  114. package/lib/bs/tests/Order/Aggregate/Order_GWT-OrderingPlugin.cmi +0 -0
  115. package/lib/bs/tests/Order/Aggregate/Order_GWT-OrderingPlugin.cmt +0 -0
  116. package/lib/bs/tests/Order/Aggregate/Order_GWT.ast +0 -0
  117. package/lib/bs/tests/Order/Aggregate/Order_GWT.res +29 -24
  118. package/lib/bs/tests/Order/Aggregate/Order_GWT.res.mjs +55 -44
  119. package/lib/bs/tests/Order/ReadModel/Orders_GWT-OrderingPlugin.cmi +0 -0
  120. package/lib/bs/tests/Order/ReadModel/Orders_GWT-OrderingPlugin.cmt +0 -0
  121. package/lib/bs/tests/Order/ReadModel/Orders_GWT.ast +0 -0
  122. package/lib/bs/tests/Order/ReadModel/Orders_GWT.res +19 -14
  123. package/lib/bs/tests/Order/ReadModel/Orders_GWT.res.mjs +31 -20
  124. package/lib/bs/tests/Order/SideEffect/EmailService_Mock-OrderingPlugin.cmi +0 -0
  125. package/lib/bs/tests/Order/SideEffect/EmailService_Mock-OrderingPlugin.cmt +0 -0
  126. package/lib/bs/tests/Order/SideEffect/Order_EmailNotification_GWT-OrderingPlugin.cmi +0 -0
  127. package/lib/bs/tests/Order/SideEffect/Order_EmailNotification_GWT-OrderingPlugin.cmt +0 -0
  128. package/lib/bs/tests/Order/SideEffect/Order_EmailNotification_GWT.ast +0 -0
  129. package/lib/bs/tests/Order/SideEffect/Order_EmailNotification_GWT.res +5 -2
  130. package/lib/bs/tests/Order/SideEffect/Order_EmailNotification_GWT.res.mjs +8 -6
  131. package/lib/ocaml/.compiler.log +2 -2
  132. package/lib/ocaml/AvailableProducts-OrderingPlugin.cmi +0 -0
  133. package/lib/ocaml/AvailableProducts-OrderingPlugin.cmt +0 -0
  134. package/lib/ocaml/AvailableProducts.ast +0 -0
  135. package/lib/ocaml/AvailableProducts.res +2 -0
  136. package/lib/ocaml/AvailableProducts_GWT-OrderingPlugin.cmi +0 -0
  137. package/lib/ocaml/AvailableProducts_GWT-OrderingPlugin.cmt +0 -0
  138. package/lib/ocaml/AvailableProducts_Projections-OrderingPlugin.cmi +0 -0
  139. package/lib/ocaml/AvailableProducts_Projections-OrderingPlugin.cmt +0 -0
  140. package/lib/ocaml/CatalogProduct-OrderingPlugin.cmi +0 -0
  141. package/lib/ocaml/CatalogProduct-OrderingPlugin.cmt +0 -0
  142. package/lib/ocaml/CatalogProduct.ast +0 -0
  143. package/lib/ocaml/CatalogProduct.res +2 -0
  144. package/lib/ocaml/CatalogProduct_Behavior-OrderingPlugin.cmi +0 -0
  145. package/lib/ocaml/CatalogProduct_Behavior-OrderingPlugin.cmt +0 -0
  146. package/lib/ocaml/CatalogProduct_GWT-OrderingPlugin.cmi +0 -0
  147. package/lib/ocaml/CatalogProduct_GWT-OrderingPlugin.cmt +0 -0
  148. package/lib/ocaml/Customer-OrderingPlugin.cmi +0 -0
  149. package/lib/ocaml/Customer-OrderingPlugin.cmt +0 -0
  150. package/lib/ocaml/Customer.ast +0 -0
  151. package/lib/ocaml/Customer.res +2 -0
  152. package/lib/ocaml/CustomerId-OrderingPlugin.cmi +0 -0
  153. package/lib/ocaml/CustomerId-OrderingPlugin.cmj +0 -0
  154. package/lib/ocaml/CustomerId-OrderingPlugin.cmt +0 -0
  155. package/lib/ocaml/CustomerId.ast +0 -0
  156. package/lib/ocaml/CustomerId.res +4 -0
  157. package/lib/ocaml/Customer_Behavior-OrderingPlugin.cmi +0 -0
  158. package/lib/ocaml/Customer_Behavior-OrderingPlugin.cmt +0 -0
  159. package/lib/ocaml/Customer_GWT-OrderingPlugin.cmi +0 -0
  160. package/lib/ocaml/Customer_GWT-OrderingPlugin.cmt +0 -0
  161. package/lib/ocaml/Customers-OrderingPlugin.cmi +0 -0
  162. package/lib/ocaml/Customers-OrderingPlugin.cmt +0 -0
  163. package/lib/ocaml/Customers.ast +0 -0
  164. package/lib/ocaml/Customers.res +2 -0
  165. package/lib/ocaml/Customers_GWT-OrderingPlugin.cmi +0 -0
  166. package/lib/ocaml/Customers_GWT-OrderingPlugin.cmt +0 -0
  167. package/lib/ocaml/Customers_Projections-OrderingPlugin.cmi +0 -0
  168. package/lib/ocaml/Customers_Projections-OrderingPlugin.cmt +0 -0
  169. package/lib/ocaml/EmailService_Mock-OrderingPlugin.cmi +0 -0
  170. package/lib/ocaml/EmailService_Mock-OrderingPlugin.cmt +0 -0
  171. package/lib/ocaml/LifecycleModel-OrderingPlugin.cmi +0 -0
  172. package/lib/ocaml/LifecycleModel-OrderingPlugin.cmt +0 -0
  173. package/lib/ocaml/Order-OrderingPlugin.cmi +0 -0
  174. package/lib/ocaml/Order-OrderingPlugin.cmt +0 -0
  175. package/lib/ocaml/Order.ast +0 -0
  176. package/lib/ocaml/Order.res +7 -3
  177. package/lib/ocaml/OrderId-OrderingPlugin.cmi +0 -0
  178. package/lib/ocaml/OrderId-OrderingPlugin.cmj +0 -0
  179. package/lib/ocaml/OrderId-OrderingPlugin.cmt +0 -0
  180. package/lib/ocaml/OrderId.ast +0 -0
  181. package/lib/ocaml/OrderId.res +4 -0
  182. package/lib/ocaml/OrderMappings_GWT-OrderingPlugin.cmi +0 -0
  183. package/lib/ocaml/OrderMappings_GWT-OrderingPlugin.cmj +0 -0
  184. package/lib/ocaml/OrderMappings_GWT-OrderingPlugin.cmt +0 -0
  185. package/lib/ocaml/OrderMappings_GWT.ast +0 -0
  186. package/lib/ocaml/OrderMappings_GWT.res +6 -4
  187. package/lib/ocaml/OrderNotifications-OrderingPlugin.cmi +0 -0
  188. package/lib/ocaml/OrderNotifications-OrderingPlugin.cmt +0 -0
  189. package/lib/ocaml/Order_Behavior-OrderingPlugin.cmi +0 -0
  190. package/lib/ocaml/Order_Behavior-OrderingPlugin.cmt +0 -0
  191. package/lib/ocaml/Order_Behavior.ast +0 -0
  192. package/lib/ocaml/Order_Behavior.res +1 -1
  193. package/lib/ocaml/Order_EmailNotification-OrderingPlugin.cmi +0 -0
  194. package/lib/ocaml/Order_EmailNotification-OrderingPlugin.cmt +0 -0
  195. package/lib/ocaml/Order_EmailNotification.ast +0 -0
  196. package/lib/ocaml/Order_EmailNotification.res +4 -1
  197. package/lib/ocaml/Order_EmailNotification_GWT-OrderingPlugin.cmi +0 -0
  198. package/lib/ocaml/Order_EmailNotification_GWT-OrderingPlugin.cmt +0 -0
  199. package/lib/ocaml/Order_EmailNotification_GWT.ast +0 -0
  200. package/lib/ocaml/Order_EmailNotification_GWT.res +5 -2
  201. package/lib/ocaml/Order_GWT-OrderingPlugin.cmi +0 -0
  202. package/lib/ocaml/Order_GWT-OrderingPlugin.cmt +0 -0
  203. package/lib/ocaml/Order_GWT.ast +0 -0
  204. package/lib/ocaml/Order_GWT.res +29 -24
  205. package/lib/ocaml/Order_Mappings-OrderingPlugin.cmi +0 -0
  206. package/lib/ocaml/Order_Mappings-OrderingPlugin.cmt +0 -0
  207. package/lib/ocaml/OrderingPlugin.cmi +0 -0
  208. package/lib/ocaml/OrderingPlugin.cmt +0 -0
  209. package/lib/ocaml/OrderingPlugin.mlmap +2 -0
  210. package/lib/ocaml/Orders-OrderingPlugin.cmi +0 -0
  211. package/lib/ocaml/Orders-OrderingPlugin.cmt +0 -0
  212. package/lib/ocaml/Orders.ast +0 -0
  213. package/lib/ocaml/Orders.res +4 -2
  214. package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmi +0 -0
  215. package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmj +0 -0
  216. package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmt +0 -0
  217. package/lib/ocaml/Orders_ExtensionPointMapping.ast +0 -0
  218. package/lib/ocaml/Orders_ExtensionPointMapping.res +23 -8
  219. package/lib/ocaml/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmi +0 -0
  220. package/lib/ocaml/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmt +0 -0
  221. package/lib/ocaml/Orders_ExtensionPointMapping_GWT.ast +0 -0
  222. package/lib/ocaml/Orders_ExtensionPointMapping_GWT.res +6 -2
  223. package/lib/ocaml/Orders_GWT-OrderingPlugin.cmi +0 -0
  224. package/lib/ocaml/Orders_GWT-OrderingPlugin.cmt +0 -0
  225. package/lib/ocaml/Orders_GWT.ast +0 -0
  226. package/lib/ocaml/Orders_GWT.res +19 -14
  227. package/lib/ocaml/Orders_Projections-OrderingPlugin.cmi +0 -0
  228. package/lib/ocaml/Orders_Projections-OrderingPlugin.cmt +0 -0
  229. package/lib/ocaml/Plugin-OrderingPlugin.cmi +0 -0
  230. package/lib/ocaml/Plugin-OrderingPlugin.cmt +0 -0
  231. package/lib/ocaml/Products_Extension-OrderingPlugin.cmi +0 -0
  232. package/lib/ocaml/Products_Extension-OrderingPlugin.cmt +0 -0
  233. package/lib/ocaml/Products_Extension.ast +0 -0
  234. package/lib/ocaml/Products_Extension.res +6 -2
  235. package/lib/ocaml/Products_Extension_GWT-OrderingPlugin.cmi +0 -0
  236. package/lib/ocaml/Products_Extension_GWT-OrderingPlugin.cmt +0 -0
  237. package/lib/ocaml/Products_Extension_GWT.ast +0 -0
  238. package/lib/ocaml/Products_Extension_GWT.res +4 -2
  239. package/package.json +8 -8
  240. package/src/CatalogProduct/Aggregate/CatalogProduct.res +2 -0
  241. package/src/CatalogProduct/ReadModel/AvailableProducts.res +2 -0
  242. package/src/CatalogProduct/ReadModel/AvailableProducts_Projections.res.mjs +4 -4
  243. package/src/Customer/Aggregate/Customer.res +2 -0
  244. package/src/Customer/CustomerId.res +4 -0
  245. package/src/Customer/CustomerId.res.mjs +29 -0
  246. package/src/Customer/ReadModel/Customers.res +2 -0
  247. package/src/Customer/ReadModel/Customers_Projections.res.mjs +4 -4
  248. package/src/Extension/Products_Extension.res +6 -2
  249. package/src/Extension/Products_Extension.res.mjs +4 -3
  250. package/src/ExtensionPoint/Orders_ExtensionPointMapping.res +23 -8
  251. package/src/ExtensionPoint/Orders_ExtensionPointMapping.res.mjs +28 -20
  252. package/src/Order/Aggregate/Order.res +7 -3
  253. package/src/Order/Aggregate/Order.res.mjs +7 -6
  254. package/src/Order/Aggregate/Order_Behavior.res +1 -1
  255. package/src/Order/Aggregate/Order_Behavior.res.mjs +4 -2
  256. package/src/Order/Aggregate/Order_Mappings.res.mjs +3 -3
  257. package/src/Order/OrderId.res +4 -0
  258. package/src/Order/OrderId.res.mjs +29 -0
  259. package/src/Order/ReadModel/Orders.res +4 -2
  260. package/src/Order/ReadModel/Orders.res.mjs +4 -2
  261. package/src/Order/ReadModel/Orders_Projections.res.mjs +4 -4
  262. package/src/Order/SideEffect/Order_EmailNotification.res +4 -1
  263. package/src/Order/SideEffect/Order_EmailNotification.res.mjs +4 -3
  264. package/src/Plugin.res.mjs +15 -13
  265. package/src/Task/OrderNotifications.res.mjs +3 -3
  266. package/tests/Extension/Products_Extension_GWT.res +4 -2
  267. package/tests/Extension/Products_Extension_GWT.res.mjs +7 -4
  268. package/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res +6 -2
  269. package/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res.mjs +18 -7
  270. package/tests/Order/Aggregate/OrderMappings_GWT.res +6 -4
  271. package/tests/Order/Aggregate/OrderMappings_GWT.res.mjs +19 -11
  272. package/tests/Order/Aggregate/Order_GWT.res +29 -24
  273. package/tests/Order/Aggregate/Order_GWT.res.mjs +55 -44
  274. package/tests/Order/ReadModel/Orders_GWT.res +19 -14
  275. package/tests/Order/ReadModel/Orders_GWT.res.mjs +31 -20
  276. package/tests/Order/SideEffect/Order_EmailNotification_GWT.res +5 -2
  277. package/tests/Order/SideEffect/Order_EmailNotification_GWT.res.mjs +8 -6
@@ -3,6 +3,8 @@
3
3
 
4
4
  @@reventless.spec
5
5
 
6
+ module Id = OrderId
7
+
6
8
  @schema
7
9
  type lifecycle =
8
10
  | Placed
@@ -12,8 +14,8 @@ type lifecycle =
12
14
 
13
15
  @schema
14
16
  type state = {
15
- customerId: string,
16
- productIds: array<string>,
17
+ customerId: CustomerId.t,
18
+ productIds: array<CatalogSpec.ProductId.t>,
17
19
  // No annotation: the field name is the declaration. `@lifecycle` exists for
18
20
  // records whose lifecycle field is honestly called something else.
19
21
  lifecycle: lifecycle,
@@ -2,6 +2,8 @@
2
2
 
3
3
  import * as Sury from "sury";
4
4
  import * as ReadModel$Reventless from "@reventlessdev/reventless-spec/src/components/ReadModel.res.mjs";
5
+ import * as ProductId$CatalogSpec from "@reventlessdev/online-shop-aggregates-catalog-spec/src/ProductId.res.mjs";
6
+ import * as CustomerId$OrderingPlugin from "../../Customer/CustomerId.res.mjs";
5
7
 
6
8
  let lifecycleSchema = Sury.union([
7
9
  Sury.literal("Placed"),
@@ -11,8 +13,8 @@ let lifecycleSchema = Sury.union([
11
13
  ]);
12
14
 
13
15
  let stateSchema = Sury.$schema(s => ({
14
- customerId: s.m(Sury.string),
15
- productIds: s.m(Sury.array(Sury.string)),
16
+ customerId: s.m(CustomerId$OrderingPlugin.schema),
17
+ productIds: s.m(Sury.array(ProductId$CatalogSpec.schema)),
16
18
  lifecycle: s.m(lifecycleSchema)
17
19
  }));
18
20
 
@@ -1,12 +1,12 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as Id$Reventless from "@reventlessdev/reventless-spec/src/types/Id.res.mjs";
4
3
  import * as Order$OrderingPlugin from "../Aggregate/Order.res.mjs";
5
4
  import * as Orders$OrderingPlugin from "./Orders.res.mjs";
6
5
  import * as Projection$Reventless from "@reventlessdev/reventless-spec/src/types/Projection.res.mjs";
6
+ import * as OrderId$OrderingPlugin from "../OrderId.res.mjs";
7
7
 
8
8
  let M = Projection$Reventless.Mappings.Make({
9
- Id: Id$Reventless.$$String,
9
+ Id: OrderId$OrderingPlugin,
10
10
  name: Orders$OrderingPlugin.name,
11
11
  stateSchema: Orders$OrderingPlugin.stateSchema,
12
12
  subIdConfig: undefined
@@ -61,11 +61,11 @@ function project(param) {
61
61
  }
62
62
 
63
63
  let OrderMapping = Projection$Reventless.Mapping.Make({
64
- Id: Id$Reventless.$$String,
64
+ Id: OrderId$OrderingPlugin,
65
65
  name: Order$OrderingPlugin.name,
66
66
  eventSchema: Order$OrderingPlugin.eventSchema
67
67
  })({
68
- Id: Id$Reventless.$$String,
68
+ Id: OrderId$OrderingPlugin,
69
69
  name: Orders$OrderingPlugin.name,
70
70
  stateSchema: Orders$OrderingPlugin.stateSchema,
71
71
  subIdConfig: undefined
@@ -10,6 +10,9 @@ module Source = {
10
10
  let execute = async (orderId, _meta, event, _queryEngine) =>
11
11
  switch event {
12
12
  | Order.Placed({customerId}) =>
13
- await EmailService.sendOrderConfirmation(~email=customerId, ~orderId=orderId->Order.Id.toString)
13
+ await EmailService.sendOrderConfirmation(
14
+ ~email=customerId->CustomerId.toString,
15
+ ~orderId=orderId->Order.Id.toString,
16
+ )
14
17
  | _ => ()
15
18
  }
@@ -1,7 +1,8 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as Id$Reventless from "@reventlessdev/reventless-spec/src/types/Id.res.mjs";
4
3
  import * as Order$OrderingPlugin from "../Aggregate/Order.res.mjs";
4
+ import * as OrderId$OrderingPlugin from "../OrderId.res.mjs";
5
+ import * as CustomerId$OrderingPlugin from "../../Customer/CustomerId.res.mjs";
5
6
  import * as EmailService$OrderingPlugin from "../../Service/EmailService.res.mjs";
6
7
 
7
8
  let Source = {
@@ -14,7 +15,7 @@ async function execute(orderId, _meta, event, _queryEngine) {
14
15
  if (typeof event !== "object" || event.TAG !== "Placed") {
15
16
  return;
16
17
  } else {
17
- return await EmailService$OrderingPlugin.sendOrderConfirmation(event.customerId, Id$Reventless.$$String.toString(orderId));
18
+ return await EmailService$OrderingPlugin.sendOrderConfirmation(CustomerId$OrderingPlugin.toString(event.customerId), OrderId$OrderingPlugin.toString(orderId));
18
19
  }
19
20
  }
20
21
 
@@ -31,4 +32,4 @@ export {
31
32
  execute,
32
33
  moduleUrl,
33
34
  }
34
- /* Id-Reventless Not a pure module */
35
+ /* Order-OrderingPlugin Not a pure module */
@@ -1,11 +1,13 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as Id$Reventless from "@reventlessdev/reventless-spec/src/types/Id.res.mjs";
4
3
  import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
5
4
  import * as Order$OrderingPlugin from "./Order/Aggregate/Order.res.mjs";
6
5
  import * as Orders$OrderingPlugin from "./Order/ReadModel/Orders.res.mjs";
6
+ import * as ProductId$CatalogSpec from "@reventlessdev/online-shop-aggregates-catalog-spec/src/ProductId.res.mjs";
7
+ import * as OrderId$OrderingPlugin from "./Order/OrderId.res.mjs";
7
8
  import * as Customer$OrderingPlugin from "./Customer/Aggregate/Customer.res.mjs";
8
9
  import * as Customers$OrderingPlugin from "./Customer/ReadModel/Customers.res.mjs";
10
+ import * as CustomerId$OrderingPlugin from "./Customer/CustomerId.res.mjs";
9
11
  import * as CatalogProduct$OrderingPlugin from "./CatalogProduct/Aggregate/CatalogProduct.res.mjs";
10
12
  import * as LifecycleModel$OrderingPlugin from "./LifecycleModel.res.mjs";
11
13
  import * as Order_Behavior$OrderingPlugin from "./Order/Aggregate/Order_Behavior.res.mjs";
@@ -25,7 +27,7 @@ import * as AvailableProducts_Projections$OrderingPlugin from "./CatalogProduct/
25
27
 
26
28
  function Make(Platform) {
27
29
  let CatalogProductAggregate = Platform.Aggregate.Make({
28
- Id: Id$Reventless.$$String,
30
+ Id: ProductId$CatalogSpec,
29
31
  name: CatalogProduct$OrderingPlugin.name,
30
32
  eventSchema: CatalogProduct$OrderingPlugin.eventSchema,
31
33
  errorSchema: CatalogProduct$OrderingPlugin.errorSchema,
@@ -42,11 +44,11 @@ function Make(Platform) {
42
44
  moduleUrl: CatalogProduct_Behavior$OrderingPlugin.moduleUrl
43
45
  })(NoEventMappings$ReventlessInfra.Make({
44
46
  name: CatalogProduct$OrderingPlugin.name,
45
- Id: Id$Reventless.$$String,
47
+ Id: ProductId$CatalogSpec,
46
48
  commandSchema: CatalogProduct$OrderingPlugin.commandSchema
47
49
  }));
48
50
  let CustomerAggregate = Platform.Aggregate.Make({
49
- Id: Id$Reventless.$$String,
51
+ Id: CustomerId$OrderingPlugin,
50
52
  name: Customer$OrderingPlugin.name,
51
53
  eventSchema: Customer$OrderingPlugin.eventSchema,
52
54
  errorSchema: Customer$OrderingPlugin.errorSchema,
@@ -63,11 +65,11 @@ function Make(Platform) {
63
65
  moduleUrl: Customer_Behavior$OrderingPlugin.moduleUrl
64
66
  })(NoEventMappings$ReventlessInfra.Make({
65
67
  name: Customer$OrderingPlugin.name,
66
- Id: Id$Reventless.$$String,
68
+ Id: CustomerId$OrderingPlugin,
67
69
  commandSchema: Customer$OrderingPlugin.commandSchema
68
70
  }));
69
71
  let OrderAggregate = Platform.Aggregate.Make({
70
- Id: Id$Reventless.$$String,
72
+ Id: OrderId$OrderingPlugin,
71
73
  name: Order$OrderingPlugin.name,
72
74
  eventSchema: Order$OrderingPlugin.eventSchema,
73
75
  errorSchema: Order$OrderingPlugin.errorSchema,
@@ -88,7 +90,7 @@ function Make(Platform) {
88
90
  counter: undefined
89
91
  });
90
92
  let AvailableProductsReadModel = Platform.ReadModel.Make({
91
- Id: Id$Reventless.$$String,
93
+ Id: ProductId$CatalogSpec,
92
94
  name: AvailableProducts$OrderingPlugin.name,
93
95
  moduleUrl: AvailableProducts$OrderingPlugin.moduleUrl,
94
96
  stateSchema: AvailableProducts$OrderingPlugin.stateSchema,
@@ -101,7 +103,7 @@ function Make(Platform) {
101
103
  mappings: AvailableProducts_Projections$OrderingPlugin.mappings
102
104
  });
103
105
  let CustomersReadModel = Platform.ReadModel.Make({
104
- Id: Id$Reventless.$$String,
106
+ Id: CustomerId$OrderingPlugin,
105
107
  name: Customers$OrderingPlugin.name,
106
108
  moduleUrl: Customers$OrderingPlugin.moduleUrl,
107
109
  stateSchema: Customers$OrderingPlugin.stateSchema,
@@ -114,7 +116,7 @@ function Make(Platform) {
114
116
  mappings: Customers_Projections$OrderingPlugin.mappings
115
117
  });
116
118
  let OrdersReadModel = Platform.ReadModel.Make({
117
- Id: Id$Reventless.$$String,
119
+ Id: OrderId$OrderingPlugin,
118
120
  name: Orders$OrderingPlugin.name,
119
121
  moduleUrl: Orders$OrderingPlugin.moduleUrl,
120
122
  stateSchema: Orders$OrderingPlugin.stateSchema,
@@ -140,7 +142,7 @@ function Make(Platform) {
140
142
  directiveSchema: Orders_ExtensionPoint$OrderingSpec.directiveSchema
141
143
  },
142
144
  Delegate: {
143
- Id: Id$Reventless.$$String,
145
+ Id: OrderId$OrderingPlugin,
144
146
  name: Order$OrderingPlugin.name,
145
147
  eventSchema: Order$OrderingPlugin.eventSchema,
146
148
  errorSchema: Order$OrderingPlugin.errorSchema,
@@ -165,7 +167,7 @@ function Make(Platform) {
165
167
  directiveSchema: Products_ExtensionPoint$CatalogSpec.directiveSchema
166
168
  },
167
169
  Delegate: {
168
- Id: Id$Reventless.$$String,
170
+ Id: ProductId$CatalogSpec,
169
171
  name: CatalogProduct$OrderingPlugin.name,
170
172
  eventSchema: CatalogProduct$OrderingPlugin.eventSchema,
171
173
  errorSchema: CatalogProduct$OrderingPlugin.errorSchema,
@@ -199,7 +201,7 @@ function Make(Platform) {
199
201
  directiveSchema: Orders_ExtensionPoint$OrderingSpec.directiveSchema
200
202
  },
201
203
  Delegate: {
202
- Id: Id$Reventless.$$String,
204
+ Id: OrderId$OrderingPlugin,
203
205
  name: Order$OrderingPlugin.name,
204
206
  eventSchema: Order$OrderingPlugin.eventSchema,
205
207
  errorSchema: Order$OrderingPlugin.errorSchema,
@@ -267,4 +269,4 @@ function Make(Platform) {
267
269
  export {
268
270
  Make,
269
271
  }
270
- /* Id-Reventless Not a pure module */
272
+ /* Order-OrderingPlugin Not a pure module */
@@ -1,6 +1,6 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as Id$Reventless from "@reventlessdev/reventless-spec/src/types/Id.res.mjs";
3
+ import * as OrderId$OrderingPlugin from "../Order/OrderId.res.mjs";
4
4
  import * as Order_EmailNotification$OrderingPlugin from "../Order/SideEffect/Order_EmailNotification.res.mjs";
5
5
 
6
6
  function setup(_queryEngine, _queryBucketName, _opts) {
@@ -8,7 +8,7 @@ function setup(_queryEngine, _queryBucketName, _opts) {
8
8
  sideEffects: [{
9
9
  Source: {
10
10
  name: Order_EmailNotification$OrderingPlugin.Source.name,
11
- Id: Id$Reventless.$$String,
11
+ Id: OrderId$OrderingPlugin,
12
12
  eventSchema: Order_EmailNotification$OrderingPlugin.Source.eventSchema
13
13
  },
14
14
  moduleUrl: Order_EmailNotification$OrderingPlugin.moduleUrl,
@@ -26,4 +26,4 @@ export {
26
26
  setup,
27
27
  moduleUrl,
28
28
  }
29
- /* Id-Reventless Not a pure module */
29
+ /* OrderId-OrderingPlugin Not a pure module */
@@ -6,16 +6,18 @@
6
6
  // it surfaces the extension point's events and the delegate's commands.
7
7
  open Mapping
8
8
 
9
+ let p1 = CatalogSpec.ProductId.make("p1")
10
+
9
11
  describe("Products Extension delegate", () => {
10
12
  test("ProductBecameAvailable issues Sync", () =>
11
13
  whenIncomingEvent(
12
- ExtensionPoint.ProductBecameAvailable({productId: "p1", name: "Book", price: 9.99}),
14
+ ExtensionPoint.ProductBecameAvailable({productId: p1, name: "Book", price: 9.99}),
13
15
  )->thenPublishesAggregateCommand("p1", Delegate.Sync({name: "Book", price: 9.99}))
14
16
  )
15
17
 
16
18
  test("ProductPriceChanged issues UpdatePrice", () =>
17
19
  whenIncomingEvent(
18
- ExtensionPoint.ProductPriceChanged({productId: "p1", price: 7.5}),
20
+ ExtensionPoint.ProductPriceChanged({productId: p1, price: 7.5}),
19
21
  )->thenPublishesAggregateCommand("p1", Delegate.UpdatePrice({price: 7.5}))
20
22
  )
21
23
  })
@@ -1,6 +1,6 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as Id$Reventless from "@reventlessdev/reventless-spec/src/types/Id.res.mjs";
3
+ import * as ProductId$CatalogSpec from "@reventlessdev/online-shop-aggregates-catalog-spec/src/ProductId.res.mjs";
4
4
  import * as Delegate_GWT$ReventlessGwt from "@reventlessdev/reventless-gwt/src/Delegate_GWT.res.mjs";
5
5
  import * as CatalogProduct$OrderingPlugin from "../../src/CatalogProduct/Aggregate/CatalogProduct.res.mjs";
6
6
  import * as Products_Extension$OrderingPlugin from "../../src/Extension/Products_Extension.res.mjs";
@@ -15,7 +15,7 @@ let include = Delegate_GWT$ReventlessGwt.FromExtension({
15
15
  directiveSchema: Products_ExtensionPoint$CatalogSpec.directiveSchema
16
16
  },
17
17
  Delegate: {
18
- Id: Id$Reventless.$$String,
18
+ Id: ProductId$CatalogSpec,
19
19
  name: CatalogProduct$OrderingPlugin.name,
20
20
  eventSchema: CatalogProduct$OrderingPlugin.eventSchema,
21
21
  errorSchema: CatalogProduct$OrderingPlugin.errorSchema,
@@ -41,10 +41,12 @@ let whenIncomingEvent = include.whenIncomingEvent;
41
41
 
42
42
  let thenPublishesAggregateCommand = include.thenPublishesAggregateCommand;
43
43
 
44
+ let p1 = ProductId$CatalogSpec.make("p1");
45
+
44
46
  describe("Products Extension delegate", () => {
45
47
  test("ProductBecameAvailable issues Sync", undefined, () => thenPublishesAggregateCommand(whenIncomingEvent({
46
48
  TAG: "ProductBecameAvailable",
47
- productId: "p1",
49
+ productId: p1,
48
50
  name: "Book",
49
51
  price: 9.99
50
52
  }), "p1", {
@@ -54,7 +56,7 @@ describe("Products Extension delegate", () => {
54
56
  }));
55
57
  test("ProductPriceChanged issues UpdatePrice", undefined, () => thenPublishesAggregateCommand(whenIncomingEvent({
56
58
  TAG: "ProductPriceChanged",
57
- productId: "p1",
59
+ productId: p1,
58
60
  price: 7.5
59
61
  }), "p1", {
60
62
  TAG: "UpdatePrice",
@@ -106,5 +108,6 @@ export {
106
108
  thenHandlesDirective,
107
109
  thenHandlesDirectives,
108
110
  thenHandlesNoDirective,
111
+ p1,
109
112
  }
110
113
  /* include Not a pure module */
@@ -2,10 +2,14 @@
2
2
  // into one public per-product event each (one-to-many fan-out).
3
3
  @@reventless.gwt
4
4
 
5
+ let c1 = CustomerId.make("c1")
6
+ let p1 = CatalogSpec.ProductId.make("p1")
7
+ let p2 = CatalogSpec.ProductId.make("p2")
8
+
5
9
  describe("Orders ExtensionPoint mapping — per-product fan-out", () => {
6
10
  test("Placed fans out to one ItemOrdered per product", () =>
7
11
  whenDelegateEvent(
8
- Delegate.Placed({customerId: "c1", productIds: ["p1", "p2"]}),
12
+ Delegate.Placed({customerId: c1, productIds: [p1, p2]}),
9
13
  )->thenPublishesEvents([
10
14
  ("p1", ExtensionPoint.ItemOrdered({productId: "p1", orderId: "gwt-id", customerId: "c1"})),
11
15
  ("p2", ExtensionPoint.ItemOrdered({productId: "p2", orderId: "gwt-id", customerId: "c1"})),
@@ -13,7 +17,7 @@ describe("Orders ExtensionPoint mapping — per-product fan-out", () => {
13
17
  )
14
18
 
15
19
  test("Cancelled fans out to one ItemOrderCancelled per product", () =>
16
- whenDelegateEvent(Delegate.Cancelled({productIds: ["p1", "p2"]}))->thenPublishesEvents([
20
+ whenDelegateEvent(Delegate.Cancelled({productIds: [p1, p2]}))->thenPublishesEvents([
17
21
  ("p1", ExtensionPoint.ItemOrderCancelled({productId: "p1", orderId: "gwt-id"})),
18
22
  ("p2", ExtensionPoint.ItemOrderCancelled({productId: "p2", orderId: "gwt-id"})),
19
23
  ])
@@ -1,7 +1,9 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as Id$Reventless from "@reventlessdev/reventless-spec/src/types/Id.res.mjs";
4
3
  import * as Order$OrderingPlugin from "../../src/Order/Aggregate/Order.res.mjs";
4
+ import * as ProductId$CatalogSpec from "@reventlessdev/online-shop-aggregates-catalog-spec/src/ProductId.res.mjs";
5
+ import * as OrderId$OrderingPlugin from "../../src/Order/OrderId.res.mjs";
6
+ import * as CustomerId$OrderingPlugin from "../../src/Customer/CustomerId.res.mjs";
5
7
  import * as Delegate_GWT$ReventlessGwt from "@reventlessdev/reventless-gwt/src/Delegate_GWT.res.mjs";
6
8
  import * as Orders_ExtensionPoint$OrderingSpec from "@reventlessdev/online-shop-aggregates-ordering-spec/src/Orders_ExtensionPoint.res.mjs";
7
9
  import * as Orders_ExtensionPointMapping$OrderingPlugin from "../../src/ExtensionPoint/Orders_ExtensionPointMapping.res.mjs";
@@ -15,7 +17,7 @@ let include = Delegate_GWT$ReventlessGwt.FromExtensionPoint({
15
17
  directiveSchema: Orders_ExtensionPoint$OrderingSpec.directiveSchema
16
18
  },
17
19
  Delegate: {
18
- Id: Id$Reventless.$$String,
20
+ Id: OrderId$OrderingPlugin,
19
21
  name: Order$OrderingPlugin.name,
20
22
  eventSchema: Order$OrderingPlugin.eventSchema,
21
23
  errorSchema: Order$OrderingPlugin.errorSchema,
@@ -42,13 +44,19 @@ let whenDelegateEvent = include.whenDelegateEvent;
42
44
 
43
45
  let thenPublishesEvents = include.thenPublishesEvents;
44
46
 
47
+ let c1 = CustomerId$OrderingPlugin.make("c1");
48
+
49
+ let p1 = ProductId$CatalogSpec.make("p1");
50
+
51
+ let p2 = ProductId$CatalogSpec.make("p2");
52
+
45
53
  describe("Orders ExtensionPoint mapping — per-product fan-out", () => {
46
54
  test("Placed fans out to one ItemOrdered per product", undefined, () => thenPublishesEvents(whenDelegateEvent({
47
55
  TAG: "Placed",
48
- customerId: "c1",
56
+ customerId: c1,
49
57
  productIds: [
50
- "p1",
51
- "p2"
58
+ p1,
59
+ p2
52
60
  ]
53
61
  }), [
54
62
  [
@@ -73,8 +81,8 @@ describe("Orders ExtensionPoint mapping — per-product fan-out", () => {
73
81
  test("Cancelled fans out to one ItemOrderCancelled per product", undefined, () => thenPublishesEvents(whenDelegateEvent({
74
82
  TAG: "Cancelled",
75
83
  productIds: [
76
- "p1",
77
- "p2"
84
+ p1,
85
+ p2
78
86
  ]
79
87
  }), [
80
88
  [
@@ -143,5 +151,8 @@ export {
143
151
  thenHandlesDirective,
144
152
  thenHandlesDirectives,
145
153
  thenHandlesNoDirective,
154
+ c1,
155
+ p1,
156
+ p2,
146
157
  }
147
158
  /* include Not a pure module */
@@ -17,13 +17,15 @@ module AutoShipGwtMapping = {
17
17
 
18
18
  include ReventlessGwt.Mapping_GWT.Make(AutoShipGwtMapping)
19
19
 
20
- let placedEvent = Order.Placed({customerId: "cust-1", productIds: ["prod-1"]})
20
+ let cust1 = CustomerId.make("cust-1")
21
+ let prod1 = CatalogSpec.ProductId.make("prod-1")
22
+ let placedEvent = Order.Placed({customerId: cust1, productIds: [prod1]})
21
23
 
22
24
  describe("Order auto-ship mapping (Placed → Ship)", () => {
23
25
  test("Place → AutoShipMapping issues Ship → target emits Shipped", () =>
24
26
  givenSourceEvents([])
25
27
  ->andTargetEvents([("order-1", [placedEvent])])
26
- ->whenSourceCmd("order-1", Place({customerId: "cust-1", productIds: ["prod-1"]}))
28
+ ->whenSourceCmd("order-1", Place({customerId: cust1, productIds: [prod1]}))
27
29
  ->thenTargetEvent("order-1", Order.Shipped)
28
30
  )
29
31
 
@@ -42,8 +44,8 @@ describe("Order auto-ship mapping (Placed → Ship)", () => {
42
44
  )
43
45
 
44
46
  test("Refund command does not fire the mapping (only Placed events do)", () =>
45
- givenSourceEvents([placedEvent, Order.Cancelled({productIds: ["prod-1"]})])
46
- ->andTargetEvents([("order-1", [placedEvent, Order.Cancelled({productIds: ["prod-1"]})])])
47
+ givenSourceEvents([placedEvent, Order.Cancelled({productIds: [prod1]})])
48
+ ->andTargetEvents([("order-1", [placedEvent, Order.Cancelled({productIds: [prod1]})])])
47
49
  ->whenSourceCmd("order-1", Refund({reason: "customer-changed-mind"}))
48
50
  ->thenNoTargetEvent
49
51
  )
@@ -1,13 +1,15 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as Id$Reventless from "@reventlessdev/reventless-spec/src/types/Id.res.mjs";
4
3
  import * as Order$OrderingPlugin from "../../../src/Order/Aggregate/Order.res.mjs";
4
+ import * as ProductId$CatalogSpec from "@reventlessdev/online-shop-aggregates-catalog-spec/src/ProductId.res.mjs";
5
+ import * as OrderId$OrderingPlugin from "../../../src/Order/OrderId.res.mjs";
6
+ import * as CustomerId$OrderingPlugin from "../../../src/Customer/CustomerId.res.mjs";
5
7
  import * as Mapping_GWT$ReventlessGwt from "@reventlessdev/reventless-gwt/src/Mapping_GWT.res.mjs";
6
8
  import * as Order_Behavior$OrderingPlugin from "../../../src/Order/Aggregate/Order_Behavior.res.mjs";
7
9
  import * as Order_Mappings$OrderingPlugin from "../../../src/Order/Aggregate/Order_Mappings.res.mjs";
8
10
 
9
11
  let OrderSource = Mapping_GWT$ReventlessGwt.FromBehavior({
10
- Id: Id$Reventless.$$String,
12
+ Id: OrderId$OrderingPlugin,
11
13
  name: Order$OrderingPlugin.name,
12
14
  eventSchema: Order$OrderingPlugin.eventSchema,
13
15
  errorSchema: Order$OrderingPlugin.errorSchema,
@@ -18,7 +20,7 @@ let OrderSource = Mapping_GWT$ReventlessGwt.FromBehavior({
18
20
  traits: Order$OrderingPlugin.traits
19
21
  })({
20
22
  Spec: {
21
- Id: Id$Reventless.$$String,
23
+ Id: OrderId$OrderingPlugin,
22
24
  name: Order$OrderingPlugin.name,
23
25
  eventSchema: Order$OrderingPlugin.eventSchema,
24
26
  errorSchema: Order$OrderingPlugin.errorSchema,
@@ -36,7 +38,7 @@ let OrderSource = Mapping_GWT$ReventlessGwt.FromBehavior({
36
38
  });
37
39
 
38
40
  let OrderTarget = Mapping_GWT$ReventlessGwt.FromBehavior({
39
- Id: Id$Reventless.$$String,
41
+ Id: OrderId$OrderingPlugin,
40
42
  name: Order$OrderingPlugin.name,
41
43
  eventSchema: Order$OrderingPlugin.eventSchema,
42
44
  errorSchema: Order$OrderingPlugin.errorSchema,
@@ -47,7 +49,7 @@ let OrderTarget = Mapping_GWT$ReventlessGwt.FromBehavior({
47
49
  traits: Order$OrderingPlugin.traits
48
50
  })({
49
51
  Spec: {
50
- Id: Id$Reventless.$$String,
52
+ Id: OrderId$OrderingPlugin,
51
53
  name: Order$OrderingPlugin.name,
52
54
  eventSchema: Order$OrderingPlugin.eventSchema,
53
55
  errorSchema: Order$OrderingPlugin.errorSchema,
@@ -92,11 +94,15 @@ let thenTargetEvent = include.thenTargetEvent;
92
94
 
93
95
  let thenNoTargetEvent = include.thenNoTargetEvent;
94
96
 
95
- let placedEvent_1 = ["prod-1"];
97
+ let cust1 = CustomerId$OrderingPlugin.make("cust-1");
98
+
99
+ let prod1 = ProductId$CatalogSpec.make("prod-1");
100
+
101
+ let placedEvent_1 = [prod1];
96
102
 
97
103
  let placedEvent = {
98
104
  TAG: "Placed",
99
- customerId: "cust-1",
105
+ customerId: cust1,
100
106
  productIds: placedEvent_1
101
107
  };
102
108
 
@@ -106,8 +112,8 @@ describe("Order auto-ship mapping (Placed → Ship)", () => {
106
112
  [placedEvent]
107
113
  ]]), "order-1", {
108
114
  TAG: "Place",
109
- customerId: "cust-1",
110
- productIds: ["prod-1"]
115
+ customerId: cust1,
116
+ productIds: [prod1]
111
117
  }), "order-1", "Shipped"));
112
118
  test("Ship command does not fire the mapping (only Placed events do)", undefined, () => thenNoTargetEvent(whenSourceCmd(andTargetEvents(givenSourceEvents([placedEvent]), [[
113
119
  "order-1",
@@ -121,7 +127,7 @@ describe("Order auto-ship mapping (Placed → Ship)", () => {
121
127
  placedEvent,
122
128
  {
123
129
  TAG: "Cancelled",
124
- productIds: ["prod-1"]
130
+ productIds: [prod1]
125
131
  }
126
132
  ]), [[
127
133
  "order-1",
@@ -129,7 +135,7 @@ describe("Order auto-ship mapping (Placed → Ship)", () => {
129
135
  placedEvent,
130
136
  {
131
137
  TAG: "Cancelled",
132
- productIds: ["prod-1"]
138
+ productIds: [prod1]
133
139
  }
134
140
  ]
135
141
  ]]), "order-1", {
@@ -167,6 +173,8 @@ export {
167
173
  thenSourceError,
168
174
  thenTargetError,
169
175
  thenTargetEventsWithError,
176
+ cust1,
177
+ prod1,
170
178
  placedEvent,
171
179
  }
172
180
  /* OrderSource Not a pure module */