packages feed

keiro-dsl-0.7.0.0: test/conformance-behavior-complete/Generated/BehaviorComplete/Journey/Expressions.hs

{-# LANGUAGE DataKinds #-}
{-# LANGUAGE OverloadedLabels #-}
{-# LANGUAGE OverloadedRecordDot #-}
{-# LANGUAGE TypeApplications #-}
-- @generated by keiro-dsl; do not edit. Regenerated from the .keiro spec.
module Generated.BehaviorComplete.Journey.Expressions
  ( transition1EmptyStartWriteLastAmount
  , transition2ActiveDecideGuard
  , transition2ActiveDecideWriteLastAmount
  , transition3ActiveDecideGuard
  , transition3ActiveDecideWriteLastAmount
  , transition5ActiveRetireGuard
  , transition5ActiveRetireWriteLastAmount
  , transition6ActiveRetireGuard
  , transition6ActiveRetireWriteLastAmount
  ) where

import Generated.BehaviorComplete.Journey.Domain
import Keiki.Builder qualified as B
import Keiki.Core qualified as K
import Keiki.Generics (RegFieldsOf)
import Numeric.Natural (Natural)
import Generated.BehaviorComplete.StructuralProjections qualified as StructuralProjections
import BehaviorComplete.Domain qualified

transition1EmptyStartWriteLastAmount :: B.PayloadProj JourneyRegs JourneyCommand (RegFieldsOf StartData) -> K.Term JourneyRegs JourneyCommand (RegFieldsOf StartData) Natural
transition1EmptyStartWriteLastAmount d = d.amount

transition2ActiveDecideGuard :: B.PayloadProj JourneyRegs JourneyCommand (RegFieldsOf DecideData) -> K.HsPred JourneyRegs JourneyCommand
transition2ActiveDecideGuard d = K.PCmp K.CmpLe (d.amount) (K.lit (5 :: Natural))

transition2ActiveDecideWriteLastAmount :: B.PayloadProj JourneyRegs JourneyCommand (RegFieldsOf DecideData) -> K.Term JourneyRegs JourneyCommand (RegFieldsOf DecideData) Natural
transition2ActiveDecideWriteLastAmount d = d.amount

transition3ActiveDecideGuard :: B.PayloadProj JourneyRegs JourneyCommand (RegFieldsOf DecideData) -> K.HsPred JourneyRegs JourneyCommand
transition3ActiveDecideGuard d = K.PCmp K.CmpGt (d.amount) (K.lit (5 :: Natural))

transition3ActiveDecideWriteLastAmount :: B.PayloadProj JourneyRegs JourneyCommand (RegFieldsOf DecideData) -> K.Term JourneyRegs JourneyCommand (RegFieldsOf DecideData) Natural
transition3ActiveDecideWriteLastAmount d = d.amount

transition5ActiveRetireGuard :: B.PayloadProj JourneyRegs JourneyCommand (RegFieldsOf RetireData) -> K.HsPred JourneyRegs JourneyCommand
transition5ActiveRetireGuard d = K.PCmp K.CmpGt (d.amount) (K.lit (0 :: Natural))

transition5ActiveRetireWriteLastAmount :: B.PayloadProj JourneyRegs JourneyCommand (RegFieldsOf RetireData) -> K.Term JourneyRegs JourneyCommand (RegFieldsOf RetireData) Natural
transition5ActiveRetireWriteLastAmount d = d.amount

transition6ActiveRetireGuard :: B.PayloadProj JourneyRegs JourneyCommand (RegFieldsOf RetireData) -> K.HsPred JourneyRegs JourneyCommand
transition6ActiveRetireGuard d = K.PCmp K.CmpLe (d.amount) (K.lit (0 :: Natural))

transition6ActiveRetireWriteLastAmount :: B.PayloadProj JourneyRegs JourneyCommand (RegFieldsOf RetireData) -> K.Term JourneyRegs JourneyCommand (RegFieldsOf RetireData) Natural
transition6ActiveRetireWriteLastAmount d = d.amount