@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.
- package/CHANGELOG.md +885 -0
- package/LICENSE +202 -0
- package/__mocks__/emptyModule.js +1 -0
- package/lib/bs/.compiler.log +2 -0
- package/lib/bs/OrderingPlugin.cmi +0 -0
- package/lib/bs/OrderingPlugin.cmj +0 -0
- package/lib/bs/OrderingPlugin.cmt +0 -0
- package/lib/bs/OrderingPlugin.mlmap +46 -0
- package/lib/bs/build.ninja +0 -0
- package/lib/bs/compiler-info.json +8 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct.ast +0 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct.res +28 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct.res.mjs +71 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior.ast +0 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior.res +27 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior.res.mjs +73 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts.ast +0 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts.res +13 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts.res.mjs +70 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection.ast +0 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection.res +8 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection.res.mjs +38 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress.ast +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress.res +20 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress.res.mjs +58 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior.ast +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior.res +30 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior.res.mjs +74 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail.ast +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail.res +20 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail.res.mjs +58 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior.ast +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior.res +26 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior.res.mjs +74 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer.ast +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer.res +17 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer.res.mjs +46 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior.ast +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior.res +23 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior.res.mjs +58 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer.ast +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer.res +22 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer.res.mjs +47 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior.ast +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior.res +20 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior.res.mjs +44 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers.ast +0 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers.res +18 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers.res.mjs +69 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers_Projection-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers_Projection-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers_Projection-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers_Projection.ast +0 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers_Projection.res +13 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers_Projection.res.mjs +62 -0
- package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Extension/Products_Extension.ast +0 -0
- package/lib/bs/src/Extension/Products_Extension.res +23 -0
- package/lib/bs/src/Extension/Products_Extension.res.mjs +43 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping.ast +0 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping.res +33 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping.res.mjs +82 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder.ast +0 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder.res +19 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder.res.mjs +42 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation.ast +0 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation.res +36 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation.res.mjs +101 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation.ast +0 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation.res +19 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation.res.mjs +42 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation.ast +0 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation.res +24 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation.res.mjs +46 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder.ast +0 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder.res +24 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder.res.mjs +60 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior.ast +0 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior.res +26 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior.res.mjs +81 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder.ast +0 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder.res +33 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder.res.mjs +63 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior.ast +0 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior.res +44 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior.res.mjs +70 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder.ast +0 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder.res +21 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder.res.mjs +56 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior.ast +0 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior.res +26 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior.res.mjs +73 -0
- package/lib/bs/src/Order/StateViewSlice/Orders-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateViewSlice/Orders-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/StateViewSlice/Orders-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateViewSlice/Orders.ast +0 -0
- package/lib/bs/src/Order/StateViewSlice/Orders.res +23 -0
- package/lib/bs/src/Order/StateViewSlice/Orders.res.mjs +81 -0
- package/lib/bs/src/Order/StateViewSlice/Orders_Projection-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateViewSlice/Orders_Projection-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/StateViewSlice/Orders_Projection-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateViewSlice/Orders_Projection.ast +0 -0
- package/lib/bs/src/Order/StateViewSlice/Orders_Projection.res +10 -0
- package/lib/bs/src/Order/StateViewSlice/Orders_Projection.res.mjs +52 -0
- package/lib/bs/src/Plugin-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Plugin-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Plugin-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Plugin.ast +0 -0
- package/lib/bs/src/Plugin.res +64 -0
- package/lib/bs/src/Plugin.res.mjs +346 -0
- package/lib/bs/src/Service/EmailService-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Service/EmailService-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Service/EmailService-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Service/EmailService.ast +0 -0
- package/lib/bs/src/Service/EmailService.res +3 -0
- package/lib/bs/src/Service/EmailService.res.mjs +11 -0
- package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT.ast +0 -0
- package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT.res +27 -0
- package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT.res.mjs +109 -0
- package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT.ast +0 -0
- package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT.res +15 -0
- package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT.res.mjs +93 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT.ast +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT.res +27 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT.res.mjs +102 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT.ast +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT.res +27 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT.res.mjs +102 -0
- package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT.ast +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT.res +21 -0
- package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT.res.mjs +84 -0
- package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT.ast +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT.res +21 -0
- package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT.res.mjs +83 -0
- package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT.ast +0 -0
- package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT.res +45 -0
- package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT.res.mjs +124 -0
- package/lib/bs/tests/Extension/Products_Extension_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Extension/Products_Extension_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Extension/Products_Extension_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Extension/Products_Extension_GWT.ast +0 -0
- package/lib/bs/tests/Extension/Products_Extension_GWT.res +23 -0
- package/lib/bs/tests/Extension/Products_Extension_GWT.res.mjs +108 -0
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.ast +0 -0
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res +23 -0
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res.mjs +139 -0
- package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT.ast +0 -0
- package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT.res +55 -0
- package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT.res.mjs +133 -0
- package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT.ast +0 -0
- package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT.res +33 -0
- package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT.res.mjs +101 -0
- package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT.ast +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT.res +27 -0
- package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT.res.mjs +107 -0
- package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT.ast +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT.res +39 -0
- package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT.res.mjs +139 -0
- package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT.ast +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT.res +27 -0
- package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT.res.mjs +91 -0
- package/lib/bs/tests/Order/StateViewSlice/Orders_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/StateViewSlice/Orders_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Order/StateViewSlice/Orders_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/StateViewSlice/Orders_GWT.ast +0 -0
- package/lib/bs/tests/Order/StateViewSlice/Orders_GWT.res +36 -0
- package/lib/bs/tests/Order/StateViewSlice/Orders_GWT.res.mjs +114 -0
- package/lib/ocaml/.compiler.log +2 -0
- package/lib/ocaml/AutoShipOrder-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AutoShipOrder-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/AutoShipOrder-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AutoShipOrder.ast +0 -0
- package/lib/ocaml/AutoShipOrder.res +19 -0
- package/lib/ocaml/AutoShipOrder_Automation-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AutoShipOrder_Automation-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/AutoShipOrder_Automation-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AutoShipOrder_Automation.ast +0 -0
- package/lib/ocaml/AutoShipOrder_Automation.res +36 -0
- package/lib/ocaml/AutoShipOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AutoShipOrder_GWT-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/AutoShipOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AutoShipOrder_GWT.ast +0 -0
- package/lib/ocaml/AutoShipOrder_GWT.res +55 -0
- package/lib/ocaml/AvailableProducts-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AvailableProducts-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/AvailableProducts-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AvailableProducts.ast +0 -0
- package/lib/ocaml/AvailableProducts.res +13 -0
- package/lib/ocaml/AvailableProducts_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AvailableProducts_GWT-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/AvailableProducts_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AvailableProducts_GWT.ast +0 -0
- package/lib/ocaml/AvailableProducts_GWT.res +15 -0
- package/lib/ocaml/AvailableProducts_Projection-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AvailableProducts_Projection-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/AvailableProducts_Projection-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AvailableProducts_Projection.ast +0 -0
- package/lib/ocaml/AvailableProducts_Projection.res +8 -0
- package/lib/ocaml/CancelOrder-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/CancelOrder-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/CancelOrder-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/CancelOrder.ast +0 -0
- package/lib/ocaml/CancelOrder.res +24 -0
- package/lib/ocaml/CancelOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/CancelOrder_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/CancelOrder_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/CancelOrder_Behavior.ast +0 -0
- package/lib/ocaml/CancelOrder_Behavior.res +26 -0
- package/lib/ocaml/CancelOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/CancelOrder_GWT-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/CancelOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/CancelOrder_GWT.ast +0 -0
- package/lib/ocaml/CancelOrder_GWT.res +27 -0
- package/lib/ocaml/ChangeAddress-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeAddress-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/ChangeAddress-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ChangeAddress.ast +0 -0
- package/lib/ocaml/ChangeAddress.res +20 -0
- package/lib/ocaml/ChangeAddress_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeAddress_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/ChangeAddress_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ChangeAddress_Behavior.ast +0 -0
- package/lib/ocaml/ChangeAddress_Behavior.res +30 -0
- package/lib/ocaml/ChangeAddress_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeAddress_GWT-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/ChangeAddress_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ChangeAddress_GWT.ast +0 -0
- package/lib/ocaml/ChangeAddress_GWT.res +27 -0
- package/lib/ocaml/ChangeEmail-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeEmail-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/ChangeEmail-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ChangeEmail.ast +0 -0
- package/lib/ocaml/ChangeEmail.res +20 -0
- package/lib/ocaml/ChangeEmail_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeEmail_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/ChangeEmail_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ChangeEmail_Behavior.ast +0 -0
- package/lib/ocaml/ChangeEmail_Behavior.res +26 -0
- package/lib/ocaml/ChangeEmail_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeEmail_GWT-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/ChangeEmail_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ChangeEmail_GWT.ast +0 -0
- package/lib/ocaml/ChangeEmail_GWT.res +27 -0
- package/lib/ocaml/Customers-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Customers-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Customers-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Customers.ast +0 -0
- package/lib/ocaml/Customers.res +18 -0
- package/lib/ocaml/Customers_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Customers_GWT-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Customers_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Customers_GWT.ast +0 -0
- package/lib/ocaml/Customers_GWT.res +45 -0
- package/lib/ocaml/Customers_Projection-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Customers_Projection-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Customers_Projection-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Customers_Projection.ast +0 -0
- package/lib/ocaml/Customers_Projection.res +13 -0
- package/lib/ocaml/DeactivateCustomer-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/DeactivateCustomer-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/DeactivateCustomer-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/DeactivateCustomer.ast +0 -0
- package/lib/ocaml/DeactivateCustomer.res +17 -0
- package/lib/ocaml/DeactivateCustomer_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/DeactivateCustomer_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/DeactivateCustomer_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/DeactivateCustomer_Behavior.ast +0 -0
- package/lib/ocaml/DeactivateCustomer_Behavior.res +23 -0
- package/lib/ocaml/DeactivateCustomer_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/DeactivateCustomer_GWT-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/DeactivateCustomer_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/DeactivateCustomer_GWT.ast +0 -0
- package/lib/ocaml/DeactivateCustomer_GWT.res +21 -0
- package/lib/ocaml/EmailService-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/EmailService-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/EmailService-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/EmailService.ast +0 -0
- package/lib/ocaml/EmailService.res +3 -0
- package/lib/ocaml/OrderingPlugin.cmi +0 -0
- package/lib/ocaml/OrderingPlugin.cmj +0 -0
- package/lib/ocaml/OrderingPlugin.cmt +0 -0
- package/lib/ocaml/OrderingPlugin.mlmap +46 -0
- package/lib/ocaml/Orders-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Orders-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders.ast +0 -0
- package/lib/ocaml/Orders.res +23 -0
- package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping.ast +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping.res +33 -0
- package/lib/ocaml/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping_GWT.ast +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping_GWT.res +23 -0
- package/lib/ocaml/Orders_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders_GWT-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Orders_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders_GWT.ast +0 -0
- package/lib/ocaml/Orders_GWT.res +36 -0
- package/lib/ocaml/Orders_Projection-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders_Projection-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Orders_Projection-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders_Projection.ast +0 -0
- package/lib/ocaml/Orders_Projection.res +10 -0
- package/lib/ocaml/PlaceOrder-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/PlaceOrder-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/PlaceOrder-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/PlaceOrder.ast +0 -0
- package/lib/ocaml/PlaceOrder.res +33 -0
- package/lib/ocaml/PlaceOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/PlaceOrder_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/PlaceOrder_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/PlaceOrder_Behavior.ast +0 -0
- package/lib/ocaml/PlaceOrder_Behavior.res +44 -0
- package/lib/ocaml/PlaceOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/PlaceOrder_GWT-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/PlaceOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/PlaceOrder_GWT.ast +0 -0
- package/lib/ocaml/PlaceOrder_GWT.res +39 -0
- package/lib/ocaml/Plugin-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Plugin-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Plugin-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Plugin.ast +0 -0
- package/lib/ocaml/Plugin.res +64 -0
- package/lib/ocaml/Products_Extension-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Products_Extension-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Products_Extension-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Products_Extension.ast +0 -0
- package/lib/ocaml/Products_Extension.res +23 -0
- package/lib/ocaml/Products_Extension_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Products_Extension_GWT-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Products_Extension_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Products_Extension_GWT.ast +0 -0
- package/lib/ocaml/Products_Extension_GWT.res +23 -0
- package/lib/ocaml/RegisterCustomer-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/RegisterCustomer-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/RegisterCustomer-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/RegisterCustomer.ast +0 -0
- package/lib/ocaml/RegisterCustomer.res +22 -0
- package/lib/ocaml/RegisterCustomer_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/RegisterCustomer_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/RegisterCustomer_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/RegisterCustomer_Behavior.ast +0 -0
- package/lib/ocaml/RegisterCustomer_Behavior.res +20 -0
- package/lib/ocaml/RegisterCustomer_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/RegisterCustomer_GWT-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/RegisterCustomer_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/RegisterCustomer_GWT.ast +0 -0
- package/lib/ocaml/RegisterCustomer_GWT.res +21 -0
- package/lib/ocaml/SendOrderConfirmation-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SendOrderConfirmation-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/SendOrderConfirmation-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/SendOrderConfirmation.ast +0 -0
- package/lib/ocaml/SendOrderConfirmation.res +19 -0
- package/lib/ocaml/SendOrderConfirmation_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SendOrderConfirmation_GWT-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/SendOrderConfirmation_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/SendOrderConfirmation_GWT.ast +0 -0
- package/lib/ocaml/SendOrderConfirmation_GWT.res +33 -0
- package/lib/ocaml/SendOrderConfirmation_Translation-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SendOrderConfirmation_Translation-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/SendOrderConfirmation_Translation-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/SendOrderConfirmation_Translation.ast +0 -0
- package/lib/ocaml/SendOrderConfirmation_Translation.res +24 -0
- package/lib/ocaml/ShipOrder-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ShipOrder-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/ShipOrder-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ShipOrder.ast +0 -0
- package/lib/ocaml/ShipOrder.res +21 -0
- package/lib/ocaml/ShipOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ShipOrder_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/ShipOrder_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ShipOrder_Behavior.ast +0 -0
- package/lib/ocaml/ShipOrder_Behavior.res +26 -0
- package/lib/ocaml/ShipOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ShipOrder_GWT-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/ShipOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ShipOrder_GWT.ast +0 -0
- package/lib/ocaml/ShipOrder_GWT.res +27 -0
- package/lib/ocaml/SyncCatalogProduct-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SyncCatalogProduct-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/SyncCatalogProduct-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/SyncCatalogProduct.ast +0 -0
- package/lib/ocaml/SyncCatalogProduct.res +28 -0
- package/lib/ocaml/SyncCatalogProduct_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SyncCatalogProduct_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/SyncCatalogProduct_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/SyncCatalogProduct_Behavior.ast +0 -0
- package/lib/ocaml/SyncCatalogProduct_Behavior.res +27 -0
- package/lib/ocaml/SyncCatalogProduct_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SyncCatalogProduct_GWT-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/SyncCatalogProduct_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/SyncCatalogProduct_GWT.ast +0 -0
- package/lib/ocaml/SyncCatalogProduct_GWT.res +27 -0
- package/package.json +52 -0
- package/rescript.json +37 -0
- package/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct.res +28 -0
- package/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct.res.mjs +71 -0
- package/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior.res +27 -0
- package/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior.res.mjs +73 -0
- package/src/CatalogProduct/StateViewSlice/AvailableProducts.res +13 -0
- package/src/CatalogProduct/StateViewSlice/AvailableProducts.res.mjs +70 -0
- package/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection.res +8 -0
- package/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection.res.mjs +38 -0
- package/src/Customer/StateChangeSlice/ChangeAddress.res +20 -0
- package/src/Customer/StateChangeSlice/ChangeAddress.res.mjs +58 -0
- package/src/Customer/StateChangeSlice/ChangeAddress_Behavior.res +30 -0
- package/src/Customer/StateChangeSlice/ChangeAddress_Behavior.res.mjs +74 -0
- package/src/Customer/StateChangeSlice/ChangeEmail.res +20 -0
- package/src/Customer/StateChangeSlice/ChangeEmail.res.mjs +58 -0
- package/src/Customer/StateChangeSlice/ChangeEmail_Behavior.res +26 -0
- package/src/Customer/StateChangeSlice/ChangeEmail_Behavior.res.mjs +74 -0
- package/src/Customer/StateChangeSlice/DeactivateCustomer.res +17 -0
- package/src/Customer/StateChangeSlice/DeactivateCustomer.res.mjs +46 -0
- package/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior.res +23 -0
- package/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior.res.mjs +58 -0
- package/src/Customer/StateChangeSlice/RegisterCustomer.res +22 -0
- package/src/Customer/StateChangeSlice/RegisterCustomer.res.mjs +47 -0
- package/src/Customer/StateChangeSlice/RegisterCustomer_Behavior.res +20 -0
- package/src/Customer/StateChangeSlice/RegisterCustomer_Behavior.res.mjs +44 -0
- package/src/Customer/StateViewSlice/Customers.res +18 -0
- package/src/Customer/StateViewSlice/Customers.res.mjs +69 -0
- package/src/Customer/StateViewSlice/Customers_Projection.res +13 -0
- package/src/Customer/StateViewSlice/Customers_Projection.res.mjs +62 -0
- package/src/Extension/Products_Extension.res +23 -0
- package/src/Extension/Products_Extension.res.mjs +43 -0
- package/src/ExtensionPoint/Orders_ExtensionPointMapping.res +33 -0
- package/src/ExtensionPoint/Orders_ExtensionPointMapping.res.mjs +82 -0
- package/src/Order/AutomationSlice/AutoShipOrder.res +19 -0
- package/src/Order/AutomationSlice/AutoShipOrder.res.mjs +42 -0
- package/src/Order/AutomationSlice/AutoShipOrder_Automation.res +36 -0
- package/src/Order/AutomationSlice/AutoShipOrder_Automation.res.mjs +101 -0
- package/src/Order/OutboundTranslationSlice/SendOrderConfirmation.res +19 -0
- package/src/Order/OutboundTranslationSlice/SendOrderConfirmation.res.mjs +42 -0
- package/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation.res +24 -0
- package/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation.res.mjs +46 -0
- package/src/Order/StateChangeSlice/CancelOrder.res +24 -0
- package/src/Order/StateChangeSlice/CancelOrder.res.mjs +60 -0
- package/src/Order/StateChangeSlice/CancelOrder_Behavior.res +26 -0
- package/src/Order/StateChangeSlice/CancelOrder_Behavior.res.mjs +81 -0
- package/src/Order/StateChangeSlice/PlaceOrder.res +33 -0
- package/src/Order/StateChangeSlice/PlaceOrder.res.mjs +63 -0
- package/src/Order/StateChangeSlice/PlaceOrder_Behavior.res +44 -0
- package/src/Order/StateChangeSlice/PlaceOrder_Behavior.res.mjs +70 -0
- package/src/Order/StateChangeSlice/ShipOrder.res +21 -0
- package/src/Order/StateChangeSlice/ShipOrder.res.mjs +56 -0
- package/src/Order/StateChangeSlice/ShipOrder_Behavior.res +26 -0
- package/src/Order/StateChangeSlice/ShipOrder_Behavior.res.mjs +73 -0
- package/src/Order/StateViewSlice/Orders.res +23 -0
- package/src/Order/StateViewSlice/Orders.res.mjs +81 -0
- package/src/Order/StateViewSlice/Orders_Projection.res +10 -0
- package/src/Order/StateViewSlice/Orders_Projection.res.mjs +52 -0
- package/src/Plugin.res +64 -0
- package/src/Plugin.res.mjs +346 -0
- package/src/Service/EmailService.res +3 -0
- package/src/Service/EmailService.res.mjs +11 -0
- package/src/plugin.json +1 -0
- package/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT.res +27 -0
- package/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT.res.mjs +109 -0
- package/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT.res +15 -0
- package/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT.res.mjs +93 -0
- package/tests/Customer/StateChangeSlice/ChangeAddress_GWT.res +27 -0
- package/tests/Customer/StateChangeSlice/ChangeAddress_GWT.res.mjs +102 -0
- package/tests/Customer/StateChangeSlice/ChangeEmail_GWT.res +27 -0
- package/tests/Customer/StateChangeSlice/ChangeEmail_GWT.res.mjs +102 -0
- package/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT.res +21 -0
- package/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT.res.mjs +84 -0
- package/tests/Customer/StateChangeSlice/RegisterCustomer_GWT.res +21 -0
- package/tests/Customer/StateChangeSlice/RegisterCustomer_GWT.res.mjs +83 -0
- package/tests/Customer/StateViewSlice/Customers_GWT.res +45 -0
- package/tests/Customer/StateViewSlice/Customers_GWT.res.mjs +124 -0
- package/tests/Extension/Products_Extension_GWT.res +23 -0
- package/tests/Extension/Products_Extension_GWT.res.mjs +108 -0
- package/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res +23 -0
- package/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res.mjs +139 -0
- package/tests/Order/AutomationSlice/AutoShipOrder_GWT.res +55 -0
- package/tests/Order/AutomationSlice/AutoShipOrder_GWT.res.mjs +133 -0
- package/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT.res +33 -0
- package/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT.res.mjs +101 -0
- package/tests/Order/StateChangeSlice/CancelOrder_GWT.res +27 -0
- package/tests/Order/StateChangeSlice/CancelOrder_GWT.res.mjs +107 -0
- package/tests/Order/StateChangeSlice/PlaceOrder_GWT.res +39 -0
- package/tests/Order/StateChangeSlice/PlaceOrder_GWT.res.mjs +139 -0
- package/tests/Order/StateChangeSlice/ShipOrder_GWT.res +27 -0
- package/tests/Order/StateChangeSlice/ShipOrder_GWT.res.mjs +91 -0
- package/tests/Order/StateViewSlice/Orders_GWT.res +36 -0
- package/tests/Order/StateViewSlice/Orders_GWT.res.mjs +114 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// RegisterCustomer StateChangeSlice.
|
|
2
|
+
// Handles the RegisterCustomer command; rejects duplicate registration.
|
|
3
|
+
@@reventless.spec
|
|
4
|
+
|
|
5
|
+
@schema
|
|
6
|
+
type consumedEvent =
|
|
7
|
+
| CustomerRegistered
|
|
8
|
+
|
|
9
|
+
@schema
|
|
10
|
+
type command =
|
|
11
|
+
| RegisterCustomer({customerId: string, email: string, address: string})
|
|
12
|
+
|
|
13
|
+
@schema
|
|
14
|
+
type error = CustomerAlreadyRegistered
|
|
15
|
+
|
|
16
|
+
@schema
|
|
17
|
+
type event =
|
|
18
|
+
| CustomerRegistered({
|
|
19
|
+
customerId: string,
|
|
20
|
+
email: string,
|
|
21
|
+
address: string,
|
|
22
|
+
})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
@@reventless.behavior
|
|
2
|
+
|
|
3
|
+
type state = {exists: bool}
|
|
4
|
+
|
|
5
|
+
let initialState = {exists: false}
|
|
6
|
+
|
|
7
|
+
let evolve = (_state, event) =>
|
|
8
|
+
switch event {
|
|
9
|
+
| CustomerRegistered => {exists: true}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
let decide = (state, command) =>
|
|
13
|
+
switch command {
|
|
14
|
+
| RegisterCustomer({customerId, email, address}) =>
|
|
15
|
+
if state.exists {
|
|
16
|
+
Error(CustomerAlreadyRegistered)
|
|
17
|
+
} else {
|
|
18
|
+
Ok([CustomerRegistered({customerId, email, address})])
|
|
19
|
+
}
|
|
20
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
@@reventless.gwt
|
|
2
|
+
|
|
3
|
+
describe("RegisterCustomer StateChangeSlice", () => {
|
|
4
|
+
test("empty event log produces CustomerRegistered", () =>
|
|
5
|
+
givenEvents([])
|
|
6
|
+
->whenCmd(
|
|
7
|
+
RegisterCustomer({customerId: "c1", email: "alice@x.y", address: "123 Main"}),
|
|
8
|
+
)
|
|
9
|
+
->thenEvent(
|
|
10
|
+
CustomerRegistered({customerId: "c1", email: "alice@x.y", address: "123 Main"}),
|
|
11
|
+
)
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
test("existing customer returns CustomerAlreadyRegistered", () =>
|
|
15
|
+
givenEvents([CustomerRegistered])
|
|
16
|
+
->whenCmd(
|
|
17
|
+
RegisterCustomer({customerId: "c1", email: "bob@x.y", address: "456 Oak"}),
|
|
18
|
+
)
|
|
19
|
+
->thenError(CustomerAlreadyRegistered)
|
|
20
|
+
)
|
|
21
|
+
})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// SendOrderConfirmation OutboundTranslationSlice.
|
|
2
|
+
// When OrderPlaced is emitted, sends a confirmation email via EmailService.
|
|
3
|
+
// Fire-and-forget pattern (no inbound command).
|
|
4
|
+
|
|
5
|
+
@@reventless.spec
|
|
6
|
+
|
|
7
|
+
@schema
|
|
8
|
+
type consumedEvent =
|
|
9
|
+
| OrderPlaced({orderId: string, customerId: string})
|
|
10
|
+
|
|
11
|
+
@schema
|
|
12
|
+
type outboundItem = {orderId: string, customerId: string}
|
|
13
|
+
|
|
14
|
+
@schema
|
|
15
|
+
type inboundCommand = unit
|
|
16
|
+
|
|
17
|
+
let maxRetries = 3
|
|
18
|
+
let heartbeatInterval = 60
|
|
19
|
+
let targetName = None
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// `OutboundTranslation_GWT.Make` expects a single SliceSpec with `collect` at
|
|
2
|
+
// the top level. The split-form production layout keeps `collect` in the
|
|
3
|
+
// translation body file, so we compose it onto the spec module locally.
|
|
4
|
+
//
|
|
5
|
+
// `translate` is supplied at test time via `whenTranslateMocked`; the real
|
|
6
|
+
// `translate` (which calls `EmailService`) is exercised in component tests.
|
|
7
|
+
|
|
8
|
+
module SendOrderConfirmationSlice = {
|
|
9
|
+
include SendOrderConfirmation
|
|
10
|
+
let collect = SendOrderConfirmation_Translation.collect
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@@reventless.gwt
|
|
14
|
+
|
|
15
|
+
describe("SendOrderConfirmation OutboundTranslationSlice", () => {
|
|
16
|
+
testSync("collect: OrderPlaced queues an outbound TODO", () =>
|
|
17
|
+
givenEvent(OrderPlaced({orderId: "o1", customerId: "c1"}))
|
|
18
|
+
->whenCollect
|
|
19
|
+
->thenTodos([("o1", {orderId: "o1", customerId: "c1"})])
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
test("translate success marks the TODO Completed", () =>
|
|
23
|
+
givenTodo("o1", {orderId: "o1", customerId: "c1"})
|
|
24
|
+
->whenTranslateMocked((_id, _item) => Promise.resolve(Ok(None)))
|
|
25
|
+
->thenTodoStatus("o1", #Completed)
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
test("translate failure leaves the TODO Pending for retry", () =>
|
|
29
|
+
givenTodo("o1", {orderId: "o1", customerId: "c1"})
|
|
30
|
+
->whenTranslateMocked((_id, _item) => Promise.resolve(Error("smtp down")))
|
|
31
|
+
->thenTodoStatus("o1", #Pending)
|
|
32
|
+
)
|
|
33
|
+
})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
@@reventless.translation
|
|
2
|
+
|
|
3
|
+
let collect = event =>
|
|
4
|
+
switch event {
|
|
5
|
+
| OrderPlaced({orderId, customerId}) => [(orderId, {orderId, customerId})]
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
let translate = async (_id, item) => {
|
|
9
|
+
try {
|
|
10
|
+
await EmailService.sendOrderConfirmation(
|
|
11
|
+
~email=item.customerId,
|
|
12
|
+
~orderId=item.orderId,
|
|
13
|
+
)
|
|
14
|
+
Ok(None)
|
|
15
|
+
} catch {
|
|
16
|
+
| exn =>
|
|
17
|
+
let msg =
|
|
18
|
+
exn
|
|
19
|
+
->JsExn.fromException
|
|
20
|
+
->Option.flatMap(JsExn.message)
|
|
21
|
+
->Option.getOr("email send failed")
|
|
22
|
+
Error(msg)
|
|
23
|
+
}
|
|
24
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// ShipOrder StateChangeSlice.
|
|
2
|
+
// Requires order to exist and not be cancelled; idempotent if already shipped.
|
|
3
|
+
@@reventless.spec
|
|
4
|
+
|
|
5
|
+
@schema
|
|
6
|
+
type consumedEvent =
|
|
7
|
+
| OrderPlaced
|
|
8
|
+
| OrderShipped
|
|
9
|
+
| OrderCancelled
|
|
10
|
+
|
|
11
|
+
@schema
|
|
12
|
+
type command =
|
|
13
|
+
| @allowedStates([Orders.Placed]) ShipOrder({orderId: string})
|
|
14
|
+
|
|
15
|
+
@schema
|
|
16
|
+
type error =
|
|
17
|
+
| OrderNotFound
|
|
18
|
+
| OrderAlreadyCancelled
|
|
19
|
+
|
|
20
|
+
@schema
|
|
21
|
+
type event = OrderShipped({orderId: string})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
@@reventless.behavior
|
|
2
|
+
|
|
3
|
+
type state = {exists: bool, shipped: bool, cancelled: bool}
|
|
4
|
+
|
|
5
|
+
let initialState = {exists: false, shipped: false, cancelled: false}
|
|
6
|
+
|
|
7
|
+
let evolve = (state, event) =>
|
|
8
|
+
switch event {
|
|
9
|
+
| OrderPlaced => {exists: true, shipped: false, cancelled: false}
|
|
10
|
+
| OrderShipped => {...state, shipped: true}
|
|
11
|
+
| OrderCancelled => {...state, cancelled: true}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
let decide = (state, command) =>
|
|
15
|
+
switch command {
|
|
16
|
+
| ShipOrder({orderId: theId}) =>
|
|
17
|
+
if !state.exists {
|
|
18
|
+
Error(OrderNotFound)
|
|
19
|
+
} else if state.cancelled {
|
|
20
|
+
Error(OrderAlreadyCancelled)
|
|
21
|
+
} else if state.shipped {
|
|
22
|
+
Ok([]) // idempotent — already shipped
|
|
23
|
+
} else {
|
|
24
|
+
Ok([OrderShipped({orderId: theId})])
|
|
25
|
+
}
|
|
26
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
@@reventless.gwt
|
|
2
|
+
|
|
3
|
+
describe("ShipOrder StateChangeSlice", () => {
|
|
4
|
+
test("non-existent order returns OrderNotFound", () =>
|
|
5
|
+
givenEvents([])
|
|
6
|
+
->whenCmd(ShipOrder({orderId: "o1"}))
|
|
7
|
+
->thenError(OrderNotFound)
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
test("placed order produces OrderShipped", () =>
|
|
11
|
+
givenEvents([OrderPlaced])
|
|
12
|
+
->whenCmd(ShipOrder({orderId: "o1"}))
|
|
13
|
+
->thenEvent(OrderShipped({orderId: "o1"}))
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
test("already shipped order produces no events (idempotent)", () =>
|
|
17
|
+
givenEvents([OrderPlaced, OrderShipped])
|
|
18
|
+
->whenCmd(ShipOrder({orderId: "o1"}))
|
|
19
|
+
->thenNoEvent
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
test("cancelled order returns OrderAlreadyCancelled", () =>
|
|
23
|
+
givenEvents([OrderPlaced, OrderCancelled])
|
|
24
|
+
->whenCmd(ShipOrder({orderId: "o1"}))
|
|
25
|
+
->thenError(OrderAlreadyCancelled)
|
|
26
|
+
)
|
|
27
|
+
})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// SyncCatalogProduct StateChangeSlice.
|
|
2
|
+
// Maintains a local shadow of Catalog products inside the Ordering DCB event log.
|
|
3
|
+
@@reventless.spec
|
|
4
|
+
|
|
5
|
+
@schema
|
|
6
|
+
type consumedEvent =
|
|
7
|
+
| CatalogProductSynced({name: string, price: float})
|
|
8
|
+
| CatalogProductPriceChanged({price: float})
|
|
9
|
+
|
|
10
|
+
@schema
|
|
11
|
+
type command =
|
|
12
|
+
| SyncNewProduct({productId: string, name: string, price: float})
|
|
13
|
+
| ChangeSyncedPrice({productId: string, price: float})
|
|
14
|
+
|
|
15
|
+
@schema
|
|
16
|
+
type error = unit // always succeeds — sync is idempotent
|
|
17
|
+
|
|
18
|
+
@schema
|
|
19
|
+
type event =
|
|
20
|
+
| CatalogProductSynced({
|
|
21
|
+
productId: string,
|
|
22
|
+
name: string,
|
|
23
|
+
price: float,
|
|
24
|
+
})
|
|
25
|
+
| CatalogProductPriceChanged({
|
|
26
|
+
productId: string,
|
|
27
|
+
price: float,
|
|
28
|
+
})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
@@reventless.behavior
|
|
2
|
+
|
|
3
|
+
type state = {name: string, price: float}
|
|
4
|
+
let initialState = {name: "", price: 0.0}
|
|
5
|
+
|
|
6
|
+
let evolve = (state, event) =>
|
|
7
|
+
switch event {
|
|
8
|
+
| CatalogProductSynced({name, price}) => {name, price}
|
|
9
|
+
| CatalogProductPriceChanged({price}) => {...state, price}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
let decide = (state, command) =>
|
|
13
|
+
switch command {
|
|
14
|
+
| SyncNewProduct({productId, name, price}) =>
|
|
15
|
+
// Idempotent: re-syncing identical data emits nothing (at-least-once delivery).
|
|
16
|
+
if state.name == name && state.price == price {
|
|
17
|
+
Ok([])
|
|
18
|
+
} else {
|
|
19
|
+
Ok([CatalogProductSynced({productId, name, price})])
|
|
20
|
+
}
|
|
21
|
+
| ChangeSyncedPrice({productId, price}) =>
|
|
22
|
+
if state.price == price {
|
|
23
|
+
Ok([])
|
|
24
|
+
} else {
|
|
25
|
+
Ok([CatalogProductPriceChanged({productId, price})])
|
|
26
|
+
}
|
|
27
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
@@reventless.gwt
|
|
2
|
+
|
|
3
|
+
describe("SyncCatalogProduct StateChangeSlice", () => {
|
|
4
|
+
test("SyncNewProduct produces CatalogProductSynced", () =>
|
|
5
|
+
givenEvents([])
|
|
6
|
+
->whenCmd(SyncNewProduct({productId: "p1", name: "Laptop", price: 999.99}))
|
|
7
|
+
->thenEvent(CatalogProductSynced({productId: "p1", name: "Laptop", price: 999.99}))
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
test("ChangeSyncedPrice produces CatalogProductPriceChanged", () =>
|
|
11
|
+
givenEvents([CatalogProductSynced({name: "Laptop", price: 999.99})])
|
|
12
|
+
->whenCmd(ChangeSyncedPrice({productId: "p1", price: 899.99}))
|
|
13
|
+
->thenEvent(CatalogProductPriceChanged({productId: "p1", price: 899.99}))
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
test("re-syncing identical product data produces no events (idempotent)", () =>
|
|
17
|
+
givenEvents([CatalogProductSynced({name: "Laptop", price: 999.99})])
|
|
18
|
+
->whenCmd(SyncNewProduct({productId: "p1", name: "Laptop", price: 999.99}))
|
|
19
|
+
->thenNoEvent
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
test("re-applying the current price produces no events (idempotent)", () =>
|
|
23
|
+
givenEvents([CatalogProductSynced({name: "Laptop", price: 999.99})])
|
|
24
|
+
->whenCmd(ChangeSyncedPrice({productId: "p1", price: 999.99}))
|
|
25
|
+
->thenNoEvent
|
|
26
|
+
)
|
|
27
|
+
})
|
package/package.json
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@reventlessdev/online-shop-dcb-ordering",
|
|
3
|
+
"version": "1.0.0-alpha.103",
|
|
4
|
+
"description": "Online Shop example — Ordering bounded context (Customer & Order) using the DCB pattern",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"jest": {
|
|
7
|
+
"testMatch": [
|
|
8
|
+
"<rootDir>/tests/**/*Test.res.mjs",
|
|
9
|
+
"<rootDir>/tests/**/*_GWT.res.mjs"
|
|
10
|
+
],
|
|
11
|
+
"moduleFileExtensions": [
|
|
12
|
+
"js",
|
|
13
|
+
"mjs"
|
|
14
|
+
],
|
|
15
|
+
"moduleNameMapper": {
|
|
16
|
+
"^@npmcli/arborist$": "<rootDir>/__mocks__/emptyModule.js",
|
|
17
|
+
"^spdx-license-ids$": "<rootDir>/../../../node_modules/spdx-license-ids/index.json",
|
|
18
|
+
"^spdx-license-ids/deprecated$": "<rootDir>/../../../node_modules/spdx-license-ids/deprecated.json",
|
|
19
|
+
"^spdx-exceptions$": "<rootDir>/../../../node_modules/spdx-exceptions/index.json"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"sury": "^11.0.0-alpha.4",
|
|
24
|
+
"@reventlessdev/online-shop-dcb-ordering-spec": "1.0.0-alpha.58",
|
|
25
|
+
"@reventlessdev/online-shop-dcb-catalog-spec": "1.0.0-alpha.58",
|
|
26
|
+
"@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.14",
|
|
27
|
+
"@reventlessdev/reventless-gwt": "1.0.0-alpha.74",
|
|
28
|
+
"@reventlessdev/reventless-infra": "3.0.0-alpha.81",
|
|
29
|
+
"@reventlessdev/reventless-local": "3.0.0-alpha.113",
|
|
30
|
+
"@reventlessdev/reventless-spec": "3.0.0-alpha.61"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"rescript": "^12.3.0",
|
|
34
|
+
"sury-ppx": "11.0.0-alpha.2",
|
|
35
|
+
"@reventlessdev/reventless-ppx": "1.0.0-alpha.47"
|
|
36
|
+
},
|
|
37
|
+
"peerDependencies": {
|
|
38
|
+
"rescript": "^12.3.0"
|
|
39
|
+
},
|
|
40
|
+
"publishConfig": {
|
|
41
|
+
"registry": "https://registry.npmjs.org"
|
|
42
|
+
},
|
|
43
|
+
"scripts": {
|
|
44
|
+
"generate": "generate-plugin src/",
|
|
45
|
+
"prebuild": "pnpm run generate",
|
|
46
|
+
"build": "rescript build",
|
|
47
|
+
"start": "rescript watch",
|
|
48
|
+
"clean": "rescript clean",
|
|
49
|
+
"rebuild": "pnpm run clean && pnpm run build -- -with-deps",
|
|
50
|
+
"test": "NODE_OPTIONS='--experimental-vm-modules' npx jest"
|
|
51
|
+
}
|
|
52
|
+
}
|
package/rescript.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@reventlessdev/online-shop-dcb-ordering",
|
|
3
|
+
"package-specs": {
|
|
4
|
+
"module": "esmodule",
|
|
5
|
+
"in-source": true
|
|
6
|
+
},
|
|
7
|
+
"namespace": "OrderingPlugin",
|
|
8
|
+
"ppx-flags": [
|
|
9
|
+
"@reventlessdev/reventless-ppx/bin",
|
|
10
|
+
"sury-ppx/bin"
|
|
11
|
+
],
|
|
12
|
+
"warnings": {
|
|
13
|
+
"error": "-44+101"
|
|
14
|
+
},
|
|
15
|
+
"sources": [
|
|
16
|
+
{
|
|
17
|
+
"dir": "src",
|
|
18
|
+
"subdirs": true
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"dir": "tests",
|
|
22
|
+
"subdirs": true
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"dependencies": [
|
|
26
|
+
"sury",
|
|
27
|
+
"@reventlessdev/reventless-infra",
|
|
28
|
+
"@reventlessdev/reventless-spec",
|
|
29
|
+
"@reventlessdev/reventless-local",
|
|
30
|
+
"@reventlessdev/reventless-gwt",
|
|
31
|
+
"@reventlessdev/rescript-pulumi-pulumi",
|
|
32
|
+
"@reventlessdev/online-shop-dcb-ordering-spec",
|
|
33
|
+
"@reventlessdev/online-shop-dcb-catalog-spec"
|
|
34
|
+
],
|
|
35
|
+
"compiler-flags": [],
|
|
36
|
+
"suffix": ".res.mjs"
|
|
37
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// SyncCatalogProduct StateChangeSlice.
|
|
2
|
+
// Maintains a local shadow of Catalog products inside the Ordering DCB event log.
|
|
3
|
+
@@reventless.spec
|
|
4
|
+
|
|
5
|
+
@schema
|
|
6
|
+
type consumedEvent =
|
|
7
|
+
| CatalogProductSynced({name: string, price: float})
|
|
8
|
+
| CatalogProductPriceChanged({price: float})
|
|
9
|
+
|
|
10
|
+
@schema
|
|
11
|
+
type command =
|
|
12
|
+
| SyncNewProduct({productId: string, name: string, price: float})
|
|
13
|
+
| ChangeSyncedPrice({productId: string, price: float})
|
|
14
|
+
|
|
15
|
+
@schema
|
|
16
|
+
type error = unit // always succeeds — sync is idempotent
|
|
17
|
+
|
|
18
|
+
@schema
|
|
19
|
+
type event =
|
|
20
|
+
| CatalogProductSynced({
|
|
21
|
+
productId: string,
|
|
22
|
+
name: string,
|
|
23
|
+
price: float,
|
|
24
|
+
})
|
|
25
|
+
| CatalogProductPriceChanged({
|
|
26
|
+
productId: string,
|
|
27
|
+
price: float,
|
|
28
|
+
})
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
+
|
|
3
|
+
import * as S from "sury/src/S.res.mjs";
|
|
4
|
+
import * as DcbTag$Reventless from "@reventlessdev/reventless-spec/src/components/DcbTag.res.mjs";
|
|
5
|
+
|
|
6
|
+
let consumedEventSchema = S.union([
|
|
7
|
+
S.schema(s => ({
|
|
8
|
+
TAG: "CatalogProductSynced",
|
|
9
|
+
name: s.m(S.string),
|
|
10
|
+
price: s.m(S.float)
|
|
11
|
+
})),
|
|
12
|
+
S.schema(s => ({
|
|
13
|
+
TAG: "CatalogProductPriceChanged",
|
|
14
|
+
price: s.m(S.float)
|
|
15
|
+
}))
|
|
16
|
+
]);
|
|
17
|
+
|
|
18
|
+
let commandSchema = S.union([
|
|
19
|
+
S.schema(s => ({
|
|
20
|
+
TAG: "SyncNewProduct",
|
|
21
|
+
productId: s.m(DcbTag$Reventless.string),
|
|
22
|
+
name: s.m(S.string),
|
|
23
|
+
price: s.m(S.float)
|
|
24
|
+
})),
|
|
25
|
+
S.schema(s => ({
|
|
26
|
+
TAG: "ChangeSyncedPrice",
|
|
27
|
+
productId: s.m(DcbTag$Reventless.string),
|
|
28
|
+
price: s.m(S.float)
|
|
29
|
+
}))
|
|
30
|
+
]);
|
|
31
|
+
|
|
32
|
+
let eventSchema = S.union([
|
|
33
|
+
S.schema(s => ({
|
|
34
|
+
TAG: "CatalogProductSynced",
|
|
35
|
+
productId: s.m(DcbTag$Reventless.string),
|
|
36
|
+
name: s.m(S.string),
|
|
37
|
+
price: s.m(S.float)
|
|
38
|
+
})),
|
|
39
|
+
S.schema(s => ({
|
|
40
|
+
TAG: "CatalogProductPriceChanged",
|
|
41
|
+
productId: s.m(DcbTag$Reventless.string),
|
|
42
|
+
price: s.m(S.float)
|
|
43
|
+
}))
|
|
44
|
+
]);
|
|
45
|
+
|
|
46
|
+
function commandAuthorization(param) {
|
|
47
|
+
return "AllowAuthenticated";
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
let name = "SyncCatalogProduct";
|
|
51
|
+
|
|
52
|
+
let Id;
|
|
53
|
+
|
|
54
|
+
let errorSchema = S.unit;
|
|
55
|
+
|
|
56
|
+
let moduleUrl = "@reventlessdev/online-shop-dcb-ordering/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct.res.mjs";
|
|
57
|
+
|
|
58
|
+
let readConsistency = "EscalateOnRetry";
|
|
59
|
+
|
|
60
|
+
export {
|
|
61
|
+
name,
|
|
62
|
+
Id,
|
|
63
|
+
consumedEventSchema,
|
|
64
|
+
commandSchema,
|
|
65
|
+
errorSchema,
|
|
66
|
+
eventSchema,
|
|
67
|
+
moduleUrl,
|
|
68
|
+
commandAuthorization,
|
|
69
|
+
readConsistency,
|
|
70
|
+
}
|
|
71
|
+
/* consumedEventSchema Not a pure module */
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
@@reventless.behavior
|
|
2
|
+
|
|
3
|
+
type state = {name: string, price: float}
|
|
4
|
+
let initialState = {name: "", price: 0.0}
|
|
5
|
+
|
|
6
|
+
let evolve = (state, event) =>
|
|
7
|
+
switch event {
|
|
8
|
+
| CatalogProductSynced({name, price}) => {name, price}
|
|
9
|
+
| CatalogProductPriceChanged({price}) => {...state, price}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
let decide = (state, command) =>
|
|
13
|
+
switch command {
|
|
14
|
+
| SyncNewProduct({productId, name, price}) =>
|
|
15
|
+
// Idempotent: re-syncing identical data emits nothing (at-least-once delivery).
|
|
16
|
+
if state.name == name && state.price == price {
|
|
17
|
+
Ok([])
|
|
18
|
+
} else {
|
|
19
|
+
Ok([CatalogProductSynced({productId, name, price})])
|
|
20
|
+
}
|
|
21
|
+
| ChangeSyncedPrice({productId, price}) =>
|
|
22
|
+
if state.price == price {
|
|
23
|
+
Ok([])
|
|
24
|
+
} else {
|
|
25
|
+
Ok([CatalogProductPriceChanged({productId, price})])
|
|
26
|
+
}
|
|
27
|
+
}
|