Simplify code
This commit is contained in:
parent
3600f18533
commit
07d25c7e44
@ -44,9 +44,9 @@ parse s
|
|||||||
}
|
}
|
||||||
|
|
||||||
createFields :: String -> [Maybe Field]
|
createFields :: String -> [Maybe Field]
|
||||||
createFields text = zipWith (curry f) parsers (words text)
|
createFields text = zipWith f constraints (words text)
|
||||||
where
|
where
|
||||||
f (parser, s) = parser s
|
f constraint word = parseField word constraint
|
||||||
|
|
||||||
checkParts :: [Maybe Field] -> Bool
|
checkParts :: [Maybe Field] -> Bool
|
||||||
checkParts xs
|
checkParts xs
|
||||||
@ -55,28 +55,35 @@ checkParts xs
|
|||||||
| otherwise = True
|
| otherwise = True
|
||||||
|
|
||||||
parseFieldAdapter :: Constraint -> String -> Maybe Field
|
parseFieldAdapter :: Constraint -> String -> Maybe Field
|
||||||
parseFieldAdapter c t = parseField t c
|
parseFieldAdapter constraint text = parseField text constraint
|
||||||
|
|
||||||
parseMinute :: String -> Maybe Field
|
constrainMinute :: Constraint
|
||||||
parseMinute = parseFieldAdapter (Constraint 0 59)
|
constrainMinute = Constraint 0 59
|
||||||
|
|
||||||
parseHour :: String -> Maybe Field
|
constrainHour :: Constraint
|
||||||
parseHour = parseFieldAdapter (Constraint 0 23)
|
constrainHour = Constraint 0 23
|
||||||
|
|
||||||
parseDay :: String -> Maybe Field
|
constrainDay :: Constraint
|
||||||
parseDay = parseFieldAdapter (Constraint 1 31)
|
constrainDay = Constraint 1 31
|
||||||
|
|
||||||
parseMonth :: String -> Maybe Field
|
constrainMonth :: Constraint
|
||||||
parseMonth = parseFieldAdapter (Constraint 1 12)
|
constrainMonth = Constraint 1 12
|
||||||
|
|
||||||
parseWeek :: String -> Maybe Field
|
constrainWeek :: Constraint
|
||||||
parseWeek = parseFieldAdapter (Constraint 1 7)
|
constrainWeek = Constraint 1 7
|
||||||
|
|
||||||
parseYear :: String -> Maybe Field
|
constrainYear :: Constraint
|
||||||
parseYear = parseFieldAdapter (Constraint 0 9999)
|
constrainYear = Constraint 0 9999
|
||||||
|
|
||||||
parsers :: [String -> Maybe Field]
|
constraints :: [Constraint]
|
||||||
parsers = [parseMinute, parseHour, parseDay, parseMonth, parseWeek, parseYear]
|
constraints =
|
||||||
|
[ constrainMinute
|
||||||
|
, constrainHour
|
||||||
|
, constrainDay
|
||||||
|
, constrainMonth
|
||||||
|
, constrainWeek
|
||||||
|
, constrainYear
|
||||||
|
]
|
||||||
|
|
||||||
check :: Pattern -> DateTime -> Bool
|
check :: Pattern -> DateTime -> Bool
|
||||||
check ptn date = all isRight pairs
|
check ptn date = all isRight pairs
|
||||||
|
Loading…
Reference in New Issue
Block a user