blob: b6c1d30024eed94beba601eccccbc12a4ab45395 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
module Common.Validation.Payment
( name
, cost
, date
) where
import Data.Text (Text)
import Data.Time.Calendar (Day)
import Data.Validation (Validation)
import qualified Data.Validation as Validation
import qualified Common.Validation.Atomic as Atomic
name :: Text -> Validation Text Text
name = Atomic.nonEmpty
cost :: Text -> Validation Text Int
cost input = Validation.bindValidation (Atomic.number input) Atomic.nonNullNumber
date :: Text -> Validation Text Day
date = Atomic.day
|