packages feed

crem-0.1.1.0: examples/Crem/Example/Cart/Projection.hs

module Crem.Example.Cart.Projection where

import Crem.Example.Cart.Domain
import Crem.StateMachine

data CartView
  = Initiated
  | Completed

paymentStatus :: StateMachine CartEvent [CartView]
paymentStatus = stateless $ \case
  CartPaymentInitiated -> [Initiated]
  CartPaymentCompleted -> [Completed]