@reventlessdev/online-shop-aggregates-catalog 3.0.0-alpha.101

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 (330) hide show
  1. package/CHANGELOG.md +854 -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/CatalogPlugin.cmi +0 -0
  6. package/lib/bs/CatalogPlugin.cmj +0 -0
  7. package/lib/bs/CatalogPlugin.cmt +0 -0
  8. package/lib/bs/CatalogPlugin.mlmap +25 -0
  9. package/lib/bs/build.ninja +0 -0
  10. package/lib/bs/compiler-info.json +8 -0
  11. package/lib/bs/src/Category/Aggregate/Category-CatalogPlugin.cmi +0 -0
  12. package/lib/bs/src/Category/Aggregate/Category-CatalogPlugin.cmj +0 -0
  13. package/lib/bs/src/Category/Aggregate/Category-CatalogPlugin.cmt +0 -0
  14. package/lib/bs/src/Category/Aggregate/Category.ast +0 -0
  15. package/lib/bs/src/Category/Aggregate/Category.res +22 -0
  16. package/lib/bs/src/Category/Aggregate/Category.res.mjs +61 -0
  17. package/lib/bs/src/Category/Aggregate/Category_Behavior-CatalogPlugin.cmi +0 -0
  18. package/lib/bs/src/Category/Aggregate/Category_Behavior-CatalogPlugin.cmj +0 -0
  19. package/lib/bs/src/Category/Aggregate/Category_Behavior-CatalogPlugin.cmt +0 -0
  20. package/lib/bs/src/Category/Aggregate/Category_Behavior.ast +0 -0
  21. package/lib/bs/src/Category/Aggregate/Category_Behavior.res +36 -0
  22. package/lib/bs/src/Category/Aggregate/Category_Behavior.res.mjs +106 -0
  23. package/lib/bs/src/Category/ReadModel/Categories-CatalogPlugin.cmi +0 -0
  24. package/lib/bs/src/Category/ReadModel/Categories-CatalogPlugin.cmj +0 -0
  25. package/lib/bs/src/Category/ReadModel/Categories-CatalogPlugin.cmt +0 -0
  26. package/lib/bs/src/Category/ReadModel/Categories.ast +0 -0
  27. package/lib/bs/src/Category/ReadModel/Categories.res +11 -0
  28. package/lib/bs/src/Category/ReadModel/Categories.res.mjs +35 -0
  29. package/lib/bs/src/Category/ReadModel/Categories_Projections-CatalogPlugin.cmi +0 -0
  30. package/lib/bs/src/Category/ReadModel/Categories_Projections-CatalogPlugin.cmj +0 -0
  31. package/lib/bs/src/Category/ReadModel/Categories_Projections-CatalogPlugin.cmt +0 -0
  32. package/lib/bs/src/Category/ReadModel/Categories_Projections.ast +0 -0
  33. package/lib/bs/src/Category/ReadModel/Categories_Projections.res +19 -0
  34. package/lib/bs/src/Category/ReadModel/Categories_Projections.res.mjs +75 -0
  35. package/lib/bs/src/Extension/Orders_Extension-CatalogPlugin.cmi +0 -0
  36. package/lib/bs/src/Extension/Orders_Extension-CatalogPlugin.cmj +0 -0
  37. package/lib/bs/src/Extension/Orders_Extension-CatalogPlugin.cmt +0 -0
  38. package/lib/bs/src/Extension/Orders_Extension.ast +0 -0
  39. package/lib/bs/src/Extension/Orders_Extension.res +23 -0
  40. package/lib/bs/src/Extension/Orders_Extension.res.mjs +42 -0
  41. package/lib/bs/src/ExtensionPoint/Products_ExtensionPointMapping-CatalogPlugin.cmi +0 -0
  42. package/lib/bs/src/ExtensionPoint/Products_ExtensionPointMapping-CatalogPlugin.cmj +0 -0
  43. package/lib/bs/src/ExtensionPoint/Products_ExtensionPointMapping-CatalogPlugin.cmt +0 -0
  44. package/lib/bs/src/ExtensionPoint/Products_ExtensionPointMapping.ast +0 -0
  45. package/lib/bs/src/ExtensionPoint/Products_ExtensionPointMapping.res +19 -0
  46. package/lib/bs/src/ExtensionPoint/Products_ExtensionPointMapping.res.mjs +56 -0
  47. package/lib/bs/src/Plugin-CatalogPlugin.cmi +0 -0
  48. package/lib/bs/src/Plugin-CatalogPlugin.cmj +0 -0
  49. package/lib/bs/src/Plugin-CatalogPlugin.cmt +0 -0
  50. package/lib/bs/src/Plugin.ast +0 -0
  51. package/lib/bs/src/Plugin.res +65 -0
  52. package/lib/bs/src/Plugin.res.mjs +222 -0
  53. package/lib/bs/src/Product/Aggregate/Product-CatalogPlugin.cmi +0 -0
  54. package/lib/bs/src/Product/Aggregate/Product-CatalogPlugin.cmj +0 -0
  55. package/lib/bs/src/Product/Aggregate/Product-CatalogPlugin.cmt +0 -0
  56. package/lib/bs/src/Product/Aggregate/Product.ast +0 -0
  57. package/lib/bs/src/Product/Aggregate/Product.res +23 -0
  58. package/lib/bs/src/Product/Aggregate/Product.res.mjs +71 -0
  59. package/lib/bs/src/Product/Aggregate/Product_Behavior-CatalogPlugin.cmi +0 -0
  60. package/lib/bs/src/Product/Aggregate/Product_Behavior-CatalogPlugin.cmj +0 -0
  61. package/lib/bs/src/Product/Aggregate/Product_Behavior-CatalogPlugin.cmt +0 -0
  62. package/lib/bs/src/Product/Aggregate/Product_Behavior.ast +0 -0
  63. package/lib/bs/src/Product/Aggregate/Product_Behavior.res +38 -0
  64. package/lib/bs/src/Product/Aggregate/Product_Behavior.res.mjs +150 -0
  65. package/lib/bs/src/Product/ReadModel/Products-CatalogPlugin.cmi +0 -0
  66. package/lib/bs/src/Product/ReadModel/Products-CatalogPlugin.cmj +0 -0
  67. package/lib/bs/src/Product/ReadModel/Products-CatalogPlugin.cmt +0 -0
  68. package/lib/bs/src/Product/ReadModel/Products.ast +0 -0
  69. package/lib/bs/src/Product/ReadModel/Products.res +12 -0
  70. package/lib/bs/src/Product/ReadModel/Products.res.mjs +36 -0
  71. package/lib/bs/src/Product/ReadModel/Products_Projections-CatalogPlugin.cmi +0 -0
  72. package/lib/bs/src/Product/ReadModel/Products_Projections-CatalogPlugin.cmj +0 -0
  73. package/lib/bs/src/Product/ReadModel/Products_Projections-CatalogPlugin.cmt +0 -0
  74. package/lib/bs/src/Product/ReadModel/Products_Projections.ast +0 -0
  75. package/lib/bs/src/Product/ReadModel/Products_Projections.res +22 -0
  76. package/lib/bs/src/Product/ReadModel/Products_Projections.res.mjs +91 -0
  77. package/lib/bs/src/ProductDemand/Aggregate/ProductDemand-CatalogPlugin.cmi +0 -0
  78. package/lib/bs/src/ProductDemand/Aggregate/ProductDemand-CatalogPlugin.cmj +0 -0
  79. package/lib/bs/src/ProductDemand/Aggregate/ProductDemand-CatalogPlugin.cmt +0 -0
  80. package/lib/bs/src/ProductDemand/Aggregate/ProductDemand.ast +0 -0
  81. package/lib/bs/src/ProductDemand/Aggregate/ProductDemand.res +20 -0
  82. package/lib/bs/src/ProductDemand/Aggregate/ProductDemand.res.mjs +51 -0
  83. package/lib/bs/src/ProductDemand/Aggregate/ProductDemand_Behavior-CatalogPlugin.cmi +0 -0
  84. package/lib/bs/src/ProductDemand/Aggregate/ProductDemand_Behavior-CatalogPlugin.cmj +0 -0
  85. package/lib/bs/src/ProductDemand/Aggregate/ProductDemand_Behavior-CatalogPlugin.cmt +0 -0
  86. package/lib/bs/src/ProductDemand/Aggregate/ProductDemand_Behavior.ast +0 -0
  87. package/lib/bs/src/ProductDemand/Aggregate/ProductDemand_Behavior.res +39 -0
  88. package/lib/bs/src/ProductDemand/Aggregate/ProductDemand_Behavior.res.mjs +102 -0
  89. package/lib/bs/src/ProductDemand/ReadModel/ProductDemands-CatalogPlugin.cmi +0 -0
  90. package/lib/bs/src/ProductDemand/ReadModel/ProductDemands-CatalogPlugin.cmj +0 -0
  91. package/lib/bs/src/ProductDemand/ReadModel/ProductDemands-CatalogPlugin.cmt +0 -0
  92. package/lib/bs/src/ProductDemand/ReadModel/ProductDemands.ast +0 -0
  93. package/lib/bs/src/ProductDemand/ReadModel/ProductDemands.res +8 -0
  94. package/lib/bs/src/ProductDemand/ReadModel/ProductDemands.res.mjs +35 -0
  95. package/lib/bs/src/ProductDemand/ReadModel/ProductDemands_Projections-CatalogPlugin.cmi +0 -0
  96. package/lib/bs/src/ProductDemand/ReadModel/ProductDemands_Projections-CatalogPlugin.cmj +0 -0
  97. package/lib/bs/src/ProductDemand/ReadModel/ProductDemands_Projections-CatalogPlugin.cmt +0 -0
  98. package/lib/bs/src/ProductDemand/ReadModel/ProductDemands_Projections.ast +0 -0
  99. package/lib/bs/src/ProductDemand/ReadModel/ProductDemands_Projections.res +36 -0
  100. package/lib/bs/src/ProductDemand/ReadModel/ProductDemands_Projections.res.mjs +99 -0
  101. package/lib/bs/src/Task/ImportProducts-CatalogPlugin.cmi +0 -0
  102. package/lib/bs/src/Task/ImportProducts-CatalogPlugin.cmj +0 -0
  103. package/lib/bs/src/Task/ImportProducts-CatalogPlugin.cmt +0 -0
  104. package/lib/bs/src/Task/ImportProducts.ast +0 -0
  105. package/lib/bs/src/Task/ImportProducts.res +48 -0
  106. package/lib/bs/src/Task/ImportProducts.res.mjs +58 -0
  107. package/lib/bs/tests/Category/Aggregate/Category_GWT-CatalogPlugin.cmi +0 -0
  108. package/lib/bs/tests/Category/Aggregate/Category_GWT-CatalogPlugin.cmj +0 -0
  109. package/lib/bs/tests/Category/Aggregate/Category_GWT-CatalogPlugin.cmt +0 -0
  110. package/lib/bs/tests/Category/Aggregate/Category_GWT.ast +0 -0
  111. package/lib/bs/tests/Category/Aggregate/Category_GWT.res +51 -0
  112. package/lib/bs/tests/Category/Aggregate/Category_GWT.res.mjs +125 -0
  113. package/lib/bs/tests/Category/ReadModel/Categories_GWT-CatalogPlugin.cmi +0 -0
  114. package/lib/bs/tests/Category/ReadModel/Categories_GWT-CatalogPlugin.cmj +0 -0
  115. package/lib/bs/tests/Category/ReadModel/Categories_GWT-CatalogPlugin.cmt +0 -0
  116. package/lib/bs/tests/Category/ReadModel/Categories_GWT.ast +0 -0
  117. package/lib/bs/tests/Category/ReadModel/Categories_GWT.res +21 -0
  118. package/lib/bs/tests/Category/ReadModel/Categories_GWT.res.mjs +88 -0
  119. package/lib/bs/tests/Extension/Orders_Extension_GWT-CatalogPlugin.cmi +0 -0
  120. package/lib/bs/tests/Extension/Orders_Extension_GWT-CatalogPlugin.cmj +0 -0
  121. package/lib/bs/tests/Extension/Orders_Extension_GWT-CatalogPlugin.cmt +0 -0
  122. package/lib/bs/tests/Extension/Orders_Extension_GWT.ast +0 -0
  123. package/lib/bs/tests/Extension/Orders_Extension_GWT.res +21 -0
  124. package/lib/bs/tests/Extension/Orders_Extension_GWT.res.mjs +105 -0
  125. package/lib/bs/tests/ExtensionPoint/Products_ExtensionPointMapping_GWT-CatalogPlugin.cmi +0 -0
  126. package/lib/bs/tests/ExtensionPoint/Products_ExtensionPointMapping_GWT-CatalogPlugin.cmj +0 -0
  127. package/lib/bs/tests/ExtensionPoint/Products_ExtensionPointMapping_GWT-CatalogPlugin.cmt +0 -0
  128. package/lib/bs/tests/ExtensionPoint/Products_ExtensionPointMapping_GWT.ast +0 -0
  129. package/lib/bs/tests/ExtensionPoint/Products_ExtensionPointMapping_GWT.res +31 -0
  130. package/lib/bs/tests/ExtensionPoint/Products_ExtensionPointMapping_GWT.res.mjs +114 -0
  131. package/lib/bs/tests/Product/Aggregate/Product_GWT-CatalogPlugin.cmi +0 -0
  132. package/lib/bs/tests/Product/Aggregate/Product_GWT-CatalogPlugin.cmj +0 -0
  133. package/lib/bs/tests/Product/Aggregate/Product_GWT-CatalogPlugin.cmt +0 -0
  134. package/lib/bs/tests/Product/Aggregate/Product_GWT.ast +0 -0
  135. package/lib/bs/tests/Product/Aggregate/Product_GWT.res +69 -0
  136. package/lib/bs/tests/Product/Aggregate/Product_GWT.res.mjs +166 -0
  137. package/lib/bs/tests/Product/ReadModel/Products_GWT-CatalogPlugin.cmi +0 -0
  138. package/lib/bs/tests/Product/ReadModel/Products_GWT-CatalogPlugin.cmj +0 -0
  139. package/lib/bs/tests/Product/ReadModel/Products_GWT-CatalogPlugin.cmt +0 -0
  140. package/lib/bs/tests/Product/ReadModel/Products_GWT.ast +0 -0
  141. package/lib/bs/tests/Product/ReadModel/Products_GWT.res +27 -0
  142. package/lib/bs/tests/Product/ReadModel/Products_GWT.res.mjs +113 -0
  143. package/lib/bs/tests/ProductDemand/Aggregate/ProductDemand_GWT-CatalogPlugin.cmi +0 -0
  144. package/lib/bs/tests/ProductDemand/Aggregate/ProductDemand_GWT-CatalogPlugin.cmj +0 -0
  145. package/lib/bs/tests/ProductDemand/Aggregate/ProductDemand_GWT-CatalogPlugin.cmt +0 -0
  146. package/lib/bs/tests/ProductDemand/Aggregate/ProductDemand_GWT.ast +0 -0
  147. package/lib/bs/tests/ProductDemand/Aggregate/ProductDemand_GWT.res +39 -0
  148. package/lib/bs/tests/ProductDemand/Aggregate/ProductDemand_GWT.res.mjs +114 -0
  149. package/lib/bs/tests/ProductDemand/ReadModel/ProductDemands_GWT-CatalogPlugin.cmi +0 -0
  150. package/lib/bs/tests/ProductDemand/ReadModel/ProductDemands_GWT-CatalogPlugin.cmj +0 -0
  151. package/lib/bs/tests/ProductDemand/ReadModel/ProductDemands_GWT-CatalogPlugin.cmt +0 -0
  152. package/lib/bs/tests/ProductDemand/ReadModel/ProductDemands_GWT.ast +0 -0
  153. package/lib/bs/tests/ProductDemand/ReadModel/ProductDemands_GWT.res +56 -0
  154. package/lib/bs/tests/ProductDemand/ReadModel/ProductDemands_GWT.res.mjs +73 -0
  155. package/lib/ocaml/.compiler.log +2 -0
  156. package/lib/ocaml/CatalogPlugin.cmi +0 -0
  157. package/lib/ocaml/CatalogPlugin.cmj +0 -0
  158. package/lib/ocaml/CatalogPlugin.cmt +0 -0
  159. package/lib/ocaml/CatalogPlugin.mlmap +25 -0
  160. package/lib/ocaml/Categories-CatalogPlugin.cmi +0 -0
  161. package/lib/ocaml/Categories-CatalogPlugin.cmj +0 -0
  162. package/lib/ocaml/Categories-CatalogPlugin.cmt +0 -0
  163. package/lib/ocaml/Categories.ast +0 -0
  164. package/lib/ocaml/Categories.res +11 -0
  165. package/lib/ocaml/Categories_GWT-CatalogPlugin.cmi +0 -0
  166. package/lib/ocaml/Categories_GWT-CatalogPlugin.cmj +0 -0
  167. package/lib/ocaml/Categories_GWT-CatalogPlugin.cmt +0 -0
  168. package/lib/ocaml/Categories_GWT.ast +0 -0
  169. package/lib/ocaml/Categories_GWT.res +21 -0
  170. package/lib/ocaml/Categories_Projections-CatalogPlugin.cmi +0 -0
  171. package/lib/ocaml/Categories_Projections-CatalogPlugin.cmj +0 -0
  172. package/lib/ocaml/Categories_Projections-CatalogPlugin.cmt +0 -0
  173. package/lib/ocaml/Categories_Projections.ast +0 -0
  174. package/lib/ocaml/Categories_Projections.res +19 -0
  175. package/lib/ocaml/Category-CatalogPlugin.cmi +0 -0
  176. package/lib/ocaml/Category-CatalogPlugin.cmj +0 -0
  177. package/lib/ocaml/Category-CatalogPlugin.cmt +0 -0
  178. package/lib/ocaml/Category.ast +0 -0
  179. package/lib/ocaml/Category.res +22 -0
  180. package/lib/ocaml/Category_Behavior-CatalogPlugin.cmi +0 -0
  181. package/lib/ocaml/Category_Behavior-CatalogPlugin.cmj +0 -0
  182. package/lib/ocaml/Category_Behavior-CatalogPlugin.cmt +0 -0
  183. package/lib/ocaml/Category_Behavior.ast +0 -0
  184. package/lib/ocaml/Category_Behavior.res +36 -0
  185. package/lib/ocaml/Category_GWT-CatalogPlugin.cmi +0 -0
  186. package/lib/ocaml/Category_GWT-CatalogPlugin.cmj +0 -0
  187. package/lib/ocaml/Category_GWT-CatalogPlugin.cmt +0 -0
  188. package/lib/ocaml/Category_GWT.ast +0 -0
  189. package/lib/ocaml/Category_GWT.res +51 -0
  190. package/lib/ocaml/ImportProducts-CatalogPlugin.cmi +0 -0
  191. package/lib/ocaml/ImportProducts-CatalogPlugin.cmj +0 -0
  192. package/lib/ocaml/ImportProducts-CatalogPlugin.cmt +0 -0
  193. package/lib/ocaml/ImportProducts.ast +0 -0
  194. package/lib/ocaml/ImportProducts.res +48 -0
  195. package/lib/ocaml/Orders_Extension-CatalogPlugin.cmi +0 -0
  196. package/lib/ocaml/Orders_Extension-CatalogPlugin.cmj +0 -0
  197. package/lib/ocaml/Orders_Extension-CatalogPlugin.cmt +0 -0
  198. package/lib/ocaml/Orders_Extension.ast +0 -0
  199. package/lib/ocaml/Orders_Extension.res +23 -0
  200. package/lib/ocaml/Orders_Extension_GWT-CatalogPlugin.cmi +0 -0
  201. package/lib/ocaml/Orders_Extension_GWT-CatalogPlugin.cmj +0 -0
  202. package/lib/ocaml/Orders_Extension_GWT-CatalogPlugin.cmt +0 -0
  203. package/lib/ocaml/Orders_Extension_GWT.ast +0 -0
  204. package/lib/ocaml/Orders_Extension_GWT.res +21 -0
  205. package/lib/ocaml/Plugin-CatalogPlugin.cmi +0 -0
  206. package/lib/ocaml/Plugin-CatalogPlugin.cmj +0 -0
  207. package/lib/ocaml/Plugin-CatalogPlugin.cmt +0 -0
  208. package/lib/ocaml/Plugin.ast +0 -0
  209. package/lib/ocaml/Plugin.res +65 -0
  210. package/lib/ocaml/Product-CatalogPlugin.cmi +0 -0
  211. package/lib/ocaml/Product-CatalogPlugin.cmj +0 -0
  212. package/lib/ocaml/Product-CatalogPlugin.cmt +0 -0
  213. package/lib/ocaml/Product.ast +0 -0
  214. package/lib/ocaml/Product.res +23 -0
  215. package/lib/ocaml/ProductDemand-CatalogPlugin.cmi +0 -0
  216. package/lib/ocaml/ProductDemand-CatalogPlugin.cmj +0 -0
  217. package/lib/ocaml/ProductDemand-CatalogPlugin.cmt +0 -0
  218. package/lib/ocaml/ProductDemand.ast +0 -0
  219. package/lib/ocaml/ProductDemand.res +20 -0
  220. package/lib/ocaml/ProductDemand_Behavior-CatalogPlugin.cmi +0 -0
  221. package/lib/ocaml/ProductDemand_Behavior-CatalogPlugin.cmj +0 -0
  222. package/lib/ocaml/ProductDemand_Behavior-CatalogPlugin.cmt +0 -0
  223. package/lib/ocaml/ProductDemand_Behavior.ast +0 -0
  224. package/lib/ocaml/ProductDemand_Behavior.res +39 -0
  225. package/lib/ocaml/ProductDemand_GWT-CatalogPlugin.cmi +0 -0
  226. package/lib/ocaml/ProductDemand_GWT-CatalogPlugin.cmj +0 -0
  227. package/lib/ocaml/ProductDemand_GWT-CatalogPlugin.cmt +0 -0
  228. package/lib/ocaml/ProductDemand_GWT.ast +0 -0
  229. package/lib/ocaml/ProductDemand_GWT.res +39 -0
  230. package/lib/ocaml/ProductDemands-CatalogPlugin.cmi +0 -0
  231. package/lib/ocaml/ProductDemands-CatalogPlugin.cmj +0 -0
  232. package/lib/ocaml/ProductDemands-CatalogPlugin.cmt +0 -0
  233. package/lib/ocaml/ProductDemands.ast +0 -0
  234. package/lib/ocaml/ProductDemands.res +8 -0
  235. package/lib/ocaml/ProductDemands_GWT-CatalogPlugin.cmi +0 -0
  236. package/lib/ocaml/ProductDemands_GWT-CatalogPlugin.cmj +0 -0
  237. package/lib/ocaml/ProductDemands_GWT-CatalogPlugin.cmt +0 -0
  238. package/lib/ocaml/ProductDemands_GWT.ast +0 -0
  239. package/lib/ocaml/ProductDemands_GWT.res +56 -0
  240. package/lib/ocaml/ProductDemands_Projections-CatalogPlugin.cmi +0 -0
  241. package/lib/ocaml/ProductDemands_Projections-CatalogPlugin.cmj +0 -0
  242. package/lib/ocaml/ProductDemands_Projections-CatalogPlugin.cmt +0 -0
  243. package/lib/ocaml/ProductDemands_Projections.ast +0 -0
  244. package/lib/ocaml/ProductDemands_Projections.res +36 -0
  245. package/lib/ocaml/Product_Behavior-CatalogPlugin.cmi +0 -0
  246. package/lib/ocaml/Product_Behavior-CatalogPlugin.cmj +0 -0
  247. package/lib/ocaml/Product_Behavior-CatalogPlugin.cmt +0 -0
  248. package/lib/ocaml/Product_Behavior.ast +0 -0
  249. package/lib/ocaml/Product_Behavior.res +38 -0
  250. package/lib/ocaml/Product_GWT-CatalogPlugin.cmi +0 -0
  251. package/lib/ocaml/Product_GWT-CatalogPlugin.cmj +0 -0
  252. package/lib/ocaml/Product_GWT-CatalogPlugin.cmt +0 -0
  253. package/lib/ocaml/Product_GWT.ast +0 -0
  254. package/lib/ocaml/Product_GWT.res +69 -0
  255. package/lib/ocaml/Products-CatalogPlugin.cmi +0 -0
  256. package/lib/ocaml/Products-CatalogPlugin.cmj +0 -0
  257. package/lib/ocaml/Products-CatalogPlugin.cmt +0 -0
  258. package/lib/ocaml/Products.ast +0 -0
  259. package/lib/ocaml/Products.res +12 -0
  260. package/lib/ocaml/Products_ExtensionPointMapping-CatalogPlugin.cmi +0 -0
  261. package/lib/ocaml/Products_ExtensionPointMapping-CatalogPlugin.cmj +0 -0
  262. package/lib/ocaml/Products_ExtensionPointMapping-CatalogPlugin.cmt +0 -0
  263. package/lib/ocaml/Products_ExtensionPointMapping.ast +0 -0
  264. package/lib/ocaml/Products_ExtensionPointMapping.res +19 -0
  265. package/lib/ocaml/Products_ExtensionPointMapping_GWT-CatalogPlugin.cmi +0 -0
  266. package/lib/ocaml/Products_ExtensionPointMapping_GWT-CatalogPlugin.cmj +0 -0
  267. package/lib/ocaml/Products_ExtensionPointMapping_GWT-CatalogPlugin.cmt +0 -0
  268. package/lib/ocaml/Products_ExtensionPointMapping_GWT.ast +0 -0
  269. package/lib/ocaml/Products_ExtensionPointMapping_GWT.res +31 -0
  270. package/lib/ocaml/Products_GWT-CatalogPlugin.cmi +0 -0
  271. package/lib/ocaml/Products_GWT-CatalogPlugin.cmj +0 -0
  272. package/lib/ocaml/Products_GWT-CatalogPlugin.cmt +0 -0
  273. package/lib/ocaml/Products_GWT.ast +0 -0
  274. package/lib/ocaml/Products_GWT.res +27 -0
  275. package/lib/ocaml/Products_Projections-CatalogPlugin.cmi +0 -0
  276. package/lib/ocaml/Products_Projections-CatalogPlugin.cmj +0 -0
  277. package/lib/ocaml/Products_Projections-CatalogPlugin.cmt +0 -0
  278. package/lib/ocaml/Products_Projections.ast +0 -0
  279. package/lib/ocaml/Products_Projections.res +22 -0
  280. package/package.json +52 -0
  281. package/rescript.json +39 -0
  282. package/src/Category/Aggregate/Category.res +22 -0
  283. package/src/Category/Aggregate/Category.res.mjs +61 -0
  284. package/src/Category/Aggregate/Category_Behavior.res +36 -0
  285. package/src/Category/Aggregate/Category_Behavior.res.mjs +106 -0
  286. package/src/Category/ReadModel/Categories.res +11 -0
  287. package/src/Category/ReadModel/Categories.res.mjs +35 -0
  288. package/src/Category/ReadModel/Categories_Projections.res +19 -0
  289. package/src/Category/ReadModel/Categories_Projections.res.mjs +75 -0
  290. package/src/Extension/Orders_Extension.res +23 -0
  291. package/src/Extension/Orders_Extension.res.mjs +42 -0
  292. package/src/ExtensionPoint/Products_ExtensionPointMapping.res +19 -0
  293. package/src/ExtensionPoint/Products_ExtensionPointMapping.res.mjs +56 -0
  294. package/src/Plugin.res +65 -0
  295. package/src/Plugin.res.mjs +222 -0
  296. package/src/Product/Aggregate/Product.res +23 -0
  297. package/src/Product/Aggregate/Product.res.mjs +71 -0
  298. package/src/Product/Aggregate/Product_Behavior.res +38 -0
  299. package/src/Product/Aggregate/Product_Behavior.res.mjs +150 -0
  300. package/src/Product/ReadModel/Products.res +12 -0
  301. package/src/Product/ReadModel/Products.res.mjs +36 -0
  302. package/src/Product/ReadModel/Products_Projections.res +22 -0
  303. package/src/Product/ReadModel/Products_Projections.res.mjs +91 -0
  304. package/src/ProductDemand/Aggregate/ProductDemand.res +20 -0
  305. package/src/ProductDemand/Aggregate/ProductDemand.res.mjs +51 -0
  306. package/src/ProductDemand/Aggregate/ProductDemand_Behavior.res +39 -0
  307. package/src/ProductDemand/Aggregate/ProductDemand_Behavior.res.mjs +102 -0
  308. package/src/ProductDemand/ReadModel/ProductDemands.res +8 -0
  309. package/src/ProductDemand/ReadModel/ProductDemands.res.mjs +35 -0
  310. package/src/ProductDemand/ReadModel/ProductDemands_Projections.res +36 -0
  311. package/src/ProductDemand/ReadModel/ProductDemands_Projections.res.mjs +99 -0
  312. package/src/Task/ImportProducts.res +48 -0
  313. package/src/Task/ImportProducts.res.mjs +58 -0
  314. package/src/plugin.json +1 -0
  315. package/tests/Category/Aggregate/Category_GWT.res +51 -0
  316. package/tests/Category/Aggregate/Category_GWT.res.mjs +125 -0
  317. package/tests/Category/ReadModel/Categories_GWT.res +21 -0
  318. package/tests/Category/ReadModel/Categories_GWT.res.mjs +88 -0
  319. package/tests/Extension/Orders_Extension_GWT.res +21 -0
  320. package/tests/Extension/Orders_Extension_GWT.res.mjs +105 -0
  321. package/tests/ExtensionPoint/Products_ExtensionPointMapping_GWT.res +31 -0
  322. package/tests/ExtensionPoint/Products_ExtensionPointMapping_GWT.res.mjs +114 -0
  323. package/tests/Product/Aggregate/Product_GWT.res +69 -0
  324. package/tests/Product/Aggregate/Product_GWT.res.mjs +166 -0
  325. package/tests/Product/ReadModel/Products_GWT.res +27 -0
  326. package/tests/Product/ReadModel/Products_GWT.res.mjs +113 -0
  327. package/tests/ProductDemand/Aggregate/ProductDemand_GWT.res +39 -0
  328. package/tests/ProductDemand/Aggregate/ProductDemand_GWT.res.mjs +114 -0
  329. package/tests/ProductDemand/ReadModel/ProductDemands_GWT.res +56 -0
  330. package/tests/ProductDemand/ReadModel/ProductDemands_GWT.res.mjs +73 -0
@@ -0,0 +1,113 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Products_Projections$CatalogPlugin from "../../../src/Product/ReadModel/Products_Projections.res.mjs";
4
+ import * as MultiSourceProjection_GWT$ReventlessGwt from "@reventlessdev/reventless-gwt/src/MultiSourceProjection_GWT.res.mjs";
5
+
6
+ let include = MultiSourceProjection_GWT$ReventlessGwt.Make(Products_Projections$CatalogPlugin.ProductMapping);
7
+
8
+ let describe = include.describe;
9
+
10
+ let test = include.test;
11
+
12
+ let givenEvents = include.givenEvents;
13
+
14
+ let whenEvent = include.whenEvent;
15
+
16
+ let thenState = include.thenState;
17
+
18
+ describe("Products ReadModel ← Product", () => {
19
+ test("Added sets initial read model state", undefined, () => thenState(whenEvent(givenEvents([]), {
20
+ TAG: "Added",
21
+ name: "Laptop",
22
+ description: "A laptop",
23
+ price: 999.99
24
+ }), {
25
+ name: "Laptop",
26
+ description: "A laptop",
27
+ price: 999.99
28
+ }));
29
+ test("NameUpdated updates the name", undefined, () => thenState(whenEvent(givenEvents([{
30
+ TAG: "Added",
31
+ name: "Laptop",
32
+ description: "A laptop",
33
+ price: 999.99
34
+ }]), {
35
+ TAG: "NameUpdated",
36
+ name: "Gaming Laptop"
37
+ }), {
38
+ name: "Gaming Laptop",
39
+ description: "A laptop",
40
+ price: 999.99
41
+ }));
42
+ test("DescriptionUpdated updates the description", undefined, () => thenState(whenEvent(givenEvents([{
43
+ TAG: "Added",
44
+ name: "Laptop",
45
+ description: "A laptop",
46
+ price: 999.99
47
+ }]), {
48
+ TAG: "DescriptionUpdated",
49
+ description: "A high-end laptop"
50
+ }), {
51
+ name: "Laptop",
52
+ description: "A high-end laptop",
53
+ price: 999.99
54
+ }));
55
+ test("PriceUpdated updates the price", undefined, () => thenState(whenEvent(givenEvents([{
56
+ TAG: "Added",
57
+ name: "Laptop",
58
+ description: "A laptop",
59
+ price: 999.99
60
+ }]), {
61
+ TAG: "PriceUpdated",
62
+ price: 899.99
63
+ }), {
64
+ name: "Laptop",
65
+ description: "A laptop",
66
+ price: 899.99
67
+ }));
68
+ });
69
+
70
+ let describeWithId = include.describeWithId;
71
+
72
+ let givenEventsWithTime = include.givenEventsWithTime;
73
+
74
+ let whenEvents = include.whenEvents;
75
+
76
+ let whenEventWithTime = include.whenEventWithTime;
77
+
78
+ let whenEventsWithTime = include.whenEventsWithTime;
79
+
80
+ let thenStates = include.thenStates;
81
+
82
+ let thenStatesWithId = include.thenStatesWithId;
83
+
84
+ let thenAllStates = include.thenAllStates;
85
+
86
+ let thenStateWithId = include.thenStateWithId;
87
+
88
+ let thenNoState = include.thenNoState;
89
+
90
+ let thenThrow = include.thenThrow;
91
+
92
+ let thenFail = include.thenFail;
93
+
94
+ export {
95
+ describe,
96
+ describeWithId,
97
+ test,
98
+ givenEvents,
99
+ givenEventsWithTime,
100
+ whenEvent,
101
+ whenEvents,
102
+ whenEventWithTime,
103
+ whenEventsWithTime,
104
+ thenStates,
105
+ thenStatesWithId,
106
+ thenAllStates,
107
+ thenState,
108
+ thenStateWithId,
109
+ thenNoState,
110
+ thenThrow,
111
+ thenFail,
112
+ }
113
+ /* include Not a pure module */
@@ -0,0 +1,39 @@
1
+ @@reventless.gwt
2
+
3
+ describe("ProductDemand Behavior", () => {
4
+ test("Record on new aggregate produces Recorded", () =>
5
+ givenEvents([])
6
+ ->whenCmd(Record({orderId: "order-1"}))
7
+ ->thenEvent(Recorded({orderId: "order-1"}))
8
+ )
9
+
10
+ test("Record with new orderId on existing aggregate produces Recorded", () =>
11
+ givenEvents([Recorded({orderId: "order-1"})])
12
+ ->whenCmd(Record({orderId: "order-2"}))
13
+ ->thenEvent(Recorded({orderId: "order-2"}))
14
+ )
15
+
16
+ test("Record with already-recorded orderId produces no events (idempotent)", () =>
17
+ givenEvents([Recorded({orderId: "order-1"})])
18
+ ->whenCmd(Record({orderId: "order-1"}))
19
+ ->thenNoEvent
20
+ )
21
+
22
+ test("Revoke on never-recorded aggregate produces no events (idempotent)", () =>
23
+ givenEvents([])
24
+ ->whenCmd(Revoke({orderId: "order-1"}))
25
+ ->thenNoEvent
26
+ )
27
+
28
+ test("Revoke of unrecorded orderId on existing aggregate produces no events (idempotent)", () =>
29
+ givenEvents([Recorded({orderId: "order-1"})])
30
+ ->whenCmd(Revoke({orderId: "order-2"}))
31
+ ->thenNoEvent
32
+ )
33
+
34
+ test("Revoke of recorded orderId produces Revoked", () =>
35
+ givenEvents([Recorded({orderId: "order-1"})])
36
+ ->whenCmd(Revoke({orderId: "order-1"}))
37
+ ->thenEvent(Revoked({orderId: "order-1"}))
38
+ )
39
+ })
@@ -0,0 +1,114 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Behavior_GWT$ReventlessGwt from "@reventlessdev/reventless-gwt/src/Behavior_GWT.res.mjs";
4
+ import * as ProductDemand$CatalogPlugin from "../../../src/ProductDemand/Aggregate/ProductDemand.res.mjs";
5
+ import * as ProductDemand_Behavior$CatalogPlugin from "../../../src/ProductDemand/Aggregate/ProductDemand_Behavior.res.mjs";
6
+
7
+ let include = Behavior_GWT$ReventlessGwt.MakeFromAggregate({
8
+ name: ProductDemand$CatalogPlugin.name,
9
+ commandSchema: ProductDemand$CatalogPlugin.commandSchema,
10
+ eventSchema: ProductDemand$CatalogPlugin.eventSchema,
11
+ errorSchema: ProductDemand$CatalogPlugin.errorSchema
12
+ })({
13
+ Spec: {
14
+ name: ProductDemand$CatalogPlugin.name,
15
+ commandSchema: ProductDemand$CatalogPlugin.commandSchema,
16
+ eventSchema: ProductDemand$CatalogPlugin.eventSchema,
17
+ errorSchema: ProductDemand$CatalogPlugin.errorSchema
18
+ },
19
+ initialState: ProductDemand_Behavior$CatalogPlugin.initialState,
20
+ evolve: ProductDemand_Behavior$CatalogPlugin.evolve,
21
+ decide: ProductDemand_Behavior$CatalogPlugin.decide,
22
+ moduleUrl: ProductDemand_Behavior$CatalogPlugin.moduleUrl
23
+ });
24
+
25
+ let describe = include.describe;
26
+
27
+ let test = include.test;
28
+
29
+ let givenEvents = include.givenEvents;
30
+
31
+ let whenCmd = include.whenCmd;
32
+
33
+ let thenEvent = include.thenEvent;
34
+
35
+ let thenNoEvent = include.thenNoEvent;
36
+
37
+ describe("ProductDemand Behavior", () => {
38
+ test("Record on new aggregate produces Recorded", () => thenEvent(whenCmd(givenEvents([]), {
39
+ TAG: "Record",
40
+ orderId: "order-1"
41
+ }), {
42
+ TAG: "Recorded",
43
+ orderId: "order-1"
44
+ }));
45
+ test("Record with new orderId on existing aggregate produces Recorded", () => thenEvent(whenCmd(givenEvents([{
46
+ TAG: "Recorded",
47
+ orderId: "order-1"
48
+ }]), {
49
+ TAG: "Record",
50
+ orderId: "order-2"
51
+ }), {
52
+ TAG: "Recorded",
53
+ orderId: "order-2"
54
+ }));
55
+ test("Record with already-recorded orderId produces no events (idempotent)", () => thenNoEvent(whenCmd(givenEvents([{
56
+ TAG: "Recorded",
57
+ orderId: "order-1"
58
+ }]), {
59
+ TAG: "Record",
60
+ orderId: "order-1"
61
+ })));
62
+ test("Revoke on never-recorded aggregate produces no events (idempotent)", () => thenNoEvent(whenCmd(givenEvents([]), {
63
+ TAG: "Revoke",
64
+ orderId: "order-1"
65
+ })));
66
+ test("Revoke of unrecorded orderId on existing aggregate produces no events (idempotent)", () => thenNoEvent(whenCmd(givenEvents([{
67
+ TAG: "Recorded",
68
+ orderId: "order-1"
69
+ }]), {
70
+ TAG: "Revoke",
71
+ orderId: "order-2"
72
+ })));
73
+ test("Revoke of recorded orderId produces Revoked", () => thenEvent(whenCmd(givenEvents([{
74
+ TAG: "Recorded",
75
+ orderId: "order-1"
76
+ }]), {
77
+ TAG: "Revoke",
78
+ orderId: "order-1"
79
+ }), {
80
+ TAG: "Revoked",
81
+ orderId: "order-1"
82
+ }));
83
+ });
84
+
85
+ let Spec = include.Spec;
86
+
87
+ let thenCompareEvent = include.thenCompareEvent;
88
+
89
+ let thenEventWithError = include.thenEventWithError;
90
+
91
+ let thenEvents = include.thenEvents;
92
+
93
+ let thenCompareEvents = include.thenCompareEvents;
94
+
95
+ let thenEventsWithError = include.thenEventsWithError;
96
+
97
+ let thenError = include.thenError;
98
+
99
+ export {
100
+ Spec,
101
+ describe,
102
+ test,
103
+ givenEvents,
104
+ whenCmd,
105
+ thenEvent,
106
+ thenCompareEvent,
107
+ thenNoEvent,
108
+ thenEventWithError,
109
+ thenEvents,
110
+ thenCompareEvents,
111
+ thenEventsWithError,
112
+ thenError,
113
+ }
114
+ /* include Not a pure module */
@@ -0,0 +1,56 @@
1
+ // Multi-source ReadModel: separate `_GWT` instances per source mapping.
2
+ // `MultiSourceProjection_GWT.Make` is single-source; spec-stem uniqueness keeps
3
+ // the file name singular while we instantiate one functor per mapping.
4
+
5
+ module ProductGwt = ReventlessGwt.MultiSourceProjection_GWT.Make(
6
+ ProductDemands_Projections.ProductMapping,
7
+ )
8
+ module ProductDemandGwt = ReventlessGwt.MultiSourceProjection_GWT.Make(
9
+ ProductDemands_Projections.ProductDemandMapping,
10
+ )
11
+
12
+ ProductGwt.describe("ProductDemands ReadModel ← Product", () => {
13
+ ProductGwt.test("Added initialises the entry with orderCount = 0", () =>
14
+ ProductGwt.givenEvents([])
15
+ ->ProductGwt.whenEvent(Product.Added({name: "Laptop", description: "x", price: 1.0}))
16
+ ->ProductGwt.thenState({ProductDemands.name: "Laptop", orderCount: 0})
17
+ )
18
+
19
+ ProductGwt.test("NameUpdated is ignored (handled by Products read model)", () =>
20
+ ProductGwt.givenEvents([Product.Added({name: "Laptop", description: "x", price: 1.0})])
21
+ ->ProductGwt.whenEvent(Product.NameUpdated({name: "Gaming Laptop"}))
22
+ ->ProductGwt.thenState({ProductDemands.name: "Laptop", orderCount: 0})
23
+ )
24
+
25
+ ProductGwt.test("DescriptionUpdated is ignored", () =>
26
+ ProductGwt.givenEvents([Product.Added({name: "Laptop", description: "x", price: 1.0})])
27
+ ->ProductGwt.whenEvent(Product.DescriptionUpdated({description: "y"}))
28
+ ->ProductGwt.thenState({ProductDemands.name: "Laptop", orderCount: 0})
29
+ )
30
+
31
+ ProductGwt.test("PriceUpdated is ignored", () =>
32
+ ProductGwt.givenEvents([Product.Added({name: "Laptop", description: "x", price: 1.0})])
33
+ ->ProductGwt.whenEvent(Product.PriceUpdated({price: 2.0}))
34
+ ->ProductGwt.thenState({ProductDemands.name: "Laptop", orderCount: 0})
35
+ )
36
+ })
37
+
38
+ // `MultiSourceProjection_GWT` is single-source: the ProductDemand mapping
39
+ // emits `Update(...)` that needs initial state seeded by the Product
40
+ // mapping's `Set(...)`. Tested in isolation, both Update branches surface
41
+ // a `StaleState` error. We assert the throw to lock in that the mapping
42
+ // never tries to initialise its own row — the integration relies on
43
+ // Product.Added arriving first.
44
+ ProductDemandGwt.describe("ProductDemands ReadModel ← ProductDemand", () => {
45
+ ProductDemandGwt.test("Recorded without prior Product.Added throws StaleState", () =>
46
+ ProductDemandGwt.givenEvents([])
47
+ ->ProductDemandGwt.whenEvent(ProductDemand.Recorded({orderId: "order-1"}))
48
+ ->ProductDemandGwt.thenThrow
49
+ )
50
+
51
+ ProductDemandGwt.test("Revoked without prior Product.Added throws StaleState", () =>
52
+ ProductDemandGwt.givenEvents([])
53
+ ->ProductDemandGwt.whenEvent(ProductDemand.Revoked({orderId: "order-1"}))
54
+ ->ProductDemandGwt.thenThrow
55
+ )
56
+ })
@@ -0,0 +1,73 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as MultiSourceProjection_GWT$ReventlessGwt from "@reventlessdev/reventless-gwt/src/MultiSourceProjection_GWT.res.mjs";
4
+ import * as ProductDemands_Projections$CatalogPlugin from "../../../src/ProductDemand/ReadModel/ProductDemands_Projections.res.mjs";
5
+
6
+ let ProductGwt = MultiSourceProjection_GWT$ReventlessGwt.Make(ProductDemands_Projections$CatalogPlugin.ProductMapping);
7
+
8
+ let ProductDemandGwt = MultiSourceProjection_GWT$ReventlessGwt.Make(ProductDemands_Projections$CatalogPlugin.ProductDemandMapping);
9
+
10
+ ProductGwt.describe("ProductDemands ReadModel ← Product", () => {
11
+ ProductGwt.test("Added initialises the entry with orderCount = 0", undefined, () => ProductGwt.thenState(ProductGwt.whenEvent(ProductGwt.givenEvents([]), {
12
+ TAG: "Added",
13
+ name: "Laptop",
14
+ description: "x",
15
+ price: 1.0
16
+ }), {
17
+ name: "Laptop",
18
+ orderCount: 0
19
+ }));
20
+ ProductGwt.test("NameUpdated is ignored (handled by Products read model)", undefined, () => ProductGwt.thenState(ProductGwt.whenEvent(ProductGwt.givenEvents([{
21
+ TAG: "Added",
22
+ name: "Laptop",
23
+ description: "x",
24
+ price: 1.0
25
+ }]), {
26
+ TAG: "NameUpdated",
27
+ name: "Gaming Laptop"
28
+ }), {
29
+ name: "Laptop",
30
+ orderCount: 0
31
+ }));
32
+ ProductGwt.test("DescriptionUpdated is ignored", undefined, () => ProductGwt.thenState(ProductGwt.whenEvent(ProductGwt.givenEvents([{
33
+ TAG: "Added",
34
+ name: "Laptop",
35
+ description: "x",
36
+ price: 1.0
37
+ }]), {
38
+ TAG: "DescriptionUpdated",
39
+ description: "y"
40
+ }), {
41
+ name: "Laptop",
42
+ orderCount: 0
43
+ }));
44
+ ProductGwt.test("PriceUpdated is ignored", undefined, () => ProductGwt.thenState(ProductGwt.whenEvent(ProductGwt.givenEvents([{
45
+ TAG: "Added",
46
+ name: "Laptop",
47
+ description: "x",
48
+ price: 1.0
49
+ }]), {
50
+ TAG: "PriceUpdated",
51
+ price: 2.0
52
+ }), {
53
+ name: "Laptop",
54
+ orderCount: 0
55
+ }));
56
+ });
57
+
58
+ ProductDemandGwt.describe("ProductDemands ReadModel ← ProductDemand", () => {
59
+ ProductDemandGwt.test("Recorded without prior Product.Added throws StaleState", undefined, () => ProductDemandGwt.thenThrow(ProductDemandGwt.whenEvent(ProductDemandGwt.givenEvents([]), {
60
+ TAG: "Recorded",
61
+ orderId: "order-1"
62
+ })));
63
+ ProductDemandGwt.test("Revoked without prior Product.Added throws StaleState", undefined, () => ProductDemandGwt.thenThrow(ProductDemandGwt.whenEvent(ProductDemandGwt.givenEvents([]), {
64
+ TAG: "Revoked",
65
+ orderId: "order-1"
66
+ })));
67
+ });
68
+
69
+ export {
70
+ ProductGwt,
71
+ ProductDemandGwt,
72
+ }
73
+ /* ProductGwt Not a pure module */