packages feed

validity-time 0.1.0.0 → 0.2.0.0

raw patch · 5 files changed

+73/−100 lines, 5 filesdep ~validity

Dependency ranges changed: validity

Files

src/Data/Validity/Time/Calendar.hs view
@@ -8,5 +8,4 @@  -- | Valid according to the 'Integer' it contains. instance Validity Day where-    isValid (ModifiedJulianDay i) = isValid i-    validate = validateByCheckingName "Day"+    validate = delve "toModifiedJulianDay" . toModifiedJulianDay
src/Data/Validity/Time/Clock.hs view
@@ -10,32 +10,24 @@  -- | Valid according to the 'Rational' it contains. instance Validity UniversalTime where-    isValid (ModJulianDate i) = isValid i-    validate = validateByCheckingName "UniversalTime"+    validate = delve "toModifiedJulianDay" . getModJulianDate  -- | Trivially valid instance Validity DiffTime where-    isValid = triviallyValid-    validate = validateByCheckingName "DiffTime"+    validate = trivialValidation  instance Validity UTCTime where-    isValid UTCTime {..} =-        and-            [ isValid utctDay-            , isValid utctDayTime-            , utctDayTime >= 0-            , utctDayTime < 86401-            ]     validate UTCTime {..} =         mconcat-            [ utctDay <?!> "utctDay"-            , utctDayTime <?!> "utctDayTime"-            , utctDayTime >= 0 <?@> "The day time is positive."-            , utctDayTime < 86401 <?@> "The day time is strictly less than 86401."+            [ annotate utctDay "utctDay"+            , annotate utctDayTime "utctDayTime"+            , check (utctDayTime >= 0) "The day time is positive."+            , check+                  (utctDayTime < 86401)+                  "The day time is strictly less than 86401."             ]  instance Validity NominalDiffTime     -- NominalDiffTime contains a 'Pico' but that constructorr is not exported so we can't do any better than this.                                                                                                                     where-    isValid = isValid . (round :: NominalDiffTime -> Integer)-    validate = validateByCheckingName "NominalDiffTime"+    validate ndt = annotate ((round :: NominalDiffTime -> Integer) ndt) "round"
src/Data/Validity/Time/Format.hs view
@@ -13,26 +13,15 @@ #if MIN_VERSION_time(1,5,0) -- | Valid according to the contained values instance Validity TimeLocale where-    isValid TimeLocale {..} =-        and-            [ isValid wDays-            , isValid months-            , isValid amPm-            , isValid dateTimeFmt-            , isValid dateFmt-            , isValid timeFmt-            , isValid time12Fmt-            , isValid knownTimeZones-            ]     validate TimeLocale {..} =         mconcat-            [ wDays <?!> "wDays"-            , months <?!> "months"-            , amPm <?!> "amPm"-            , dateTimeFmt <?!> "dateTimeFmt"-            , dateFmt <?!> "dateFmt"-            , timeFmt <?!> "timeFmt"-            , time12Fmt <?!> "time12Fmt"-            , knownTimeZones <?!> "knownTimeZones"+            [ annotate wDays $ "wDays"+            , annotate months $ "months"+            , annotate amPm $ "amPm"+            , annotate dateTimeFmt $ "dateTimeFmt"+            , annotate dateFmt $ "dateFmt"+            , annotate timeFmt $ "timeFmt"+            , annotate time12Fmt $ "time12Fmt"+            , annotate knownTimeZones $ "knownTimeZones"             ] #endif
src/Data/Validity/Time/LocalTime.hs view
@@ -11,14 +11,11 @@  -- | Valid according to the contained values. instance Validity TimeZone where-    isValid TimeZone {..} =-        isValid timeZoneMinutes &&-        isValid timeZoneSummerOnly && isValid timeZoneName     validate TimeZone {..} =         mconcat-            [ timeZoneMinutes <?!> "timeZoneMinutes"-            , timeZoneSummerOnly <?!> "timeZoneSummerOnly"-            , timeZoneName <?!> "timeZoneName"+            [ annotate timeZoneMinutes "timeZoneMinutes"+            , annotate timeZoneSummerOnly "timeZoneSummerOnly"+            , annotate timeZoneName "timeZoneName"             ]  -- | Valid according to the validity of contained values and these constraints:@@ -27,43 +24,31 @@ --  * todMin : range 0 - 59 --  * todSec : 0 <= todSec < 61, instance Validity TimeOfDay where-    isValid TimeOfDay {..} =-        and-            [ isValid todHour-            , todHour >= 0-            , todHour <= 23-            , isValid todMin-            , todMin >= 0-            , todMin <= 59-            , isValid todSec-            , todSec >= 0-            , todSec < 61-            ]     validate TimeOfDay {..} =         mconcat-            [ todHour <?!> "todHour"-            , todHour >= 0 <?@> "The 'hour' is positive."-            , todHour <= 23 <?@> "The 'hour' is 23 or less."-            , todMin <?!> "todMin"-            , todMin >= 0 <?@> "The 'minute' is positive."-            , todMin <= 59 <?@> "The 'minute' is 59 or less."-            , todSec <?!> "todSec"-            , todSec >= 0 <?@> "The 'second' is positive."-            , todSec < 61 <?@> "The 'second' is 60 or less."+            [ annotate todHour "todHour"+            , check (todHour >= 0) "The 'hour' is positive."+            , check (todHour <= 23) "The 'hour' is 23 or less."+            , annotate todMin "todMin"+            , check (todMin >= 0) "The 'minute' is positive."+            , check (todMin <= 59) "The 'minute' is 59 or less."+            , annotate todSec "todSec"+            , check (todSec >= 0) "The 'second' is positive."+            , check (todSec < 61) "The 'second' is 60 or less."             ]  -- | Valid according to the validity of contained values instance Validity LocalTime where-    isValid LocalTime {..} = isValid localDay && isValid localTimeOfDay     validate LocalTime {..} =-        mconcat [localDay <?!> "localDay", localTimeOfDay <?!> "localTimeOfDay"]+        mconcat+            [ annotate localDay "localDay"+            , annotate localTimeOfDay "localTimeOfDay"+            ]  -- | Valid according to the validity of contained values instance Validity ZonedTime where-    isValid ZonedTime {..} =-        isValid zonedTimeToLocalTime && isValid zonedTimeZone     validate ZonedTime {..} =         mconcat-            [ zonedTimeToLocalTime <?!> "zonedTimeToLocalTime"-            , zonedTimeZone <?!> "zonedTimeZone"+            [ annotate zonedTimeToLocalTime "zonedTimeToLocalTime"+            , annotate zonedTimeZone "zonedTimeZone"             ]
validity-time.cabal view
@@ -1,33 +1,41 @@-name: validity-time-version: 0.1.0.0-cabal-version: >=1.10-build-type: Simple-license: MIT-license-file: LICENSE-copyright: Copyright: (c) 2017 Tom Sydney Kerckhove-maintainer: syd.kerckhove@gmail.com-homepage: https://github.com/NorfairKing/validity#readme-synopsis: Validity instances for time-description:-    Please see README.md-category: Validity-author: Tom Sydney Kerckhove+-- This file has been generated from package.yaml by hpack version 0.20.0.+--+-- see: https://github.com/sol/hpack+--+-- hash: 30cee3611d040b2784cf1196ad3d9a0e5181ae26feac32371baee9c241975e8e +name:           validity-time+version:        0.2.0.0+synopsis:       Validity instances for time+description:    Please see README.md+category:       Validity+homepage:       https://github.com/NorfairKing/validity#readme+bug-reports:    https://github.com/NorfairKing/validity/issues+author:         Tom Sydney Kerckhove+maintainer:     syd.kerckhove@gmail.com+copyright:      Copyright: (c) 2017-2018 Tom Sydney Kerckhove+license:        MIT+license-file:   LICENSE+build-type:     Simple+cabal-version:  >= 1.10+ source-repository head-    type: git-    location: https://github.com/NorfairKing/validity+  type: git+  location: https://github.com/NorfairKing/validity  library-    exposed-modules:-        Data.Validity.Time-        Data.Validity.Time.Calendar-        Data.Validity.Time.Clock-        Data.Validity.Time.Format-        Data.Validity.Time.LocalTime-    build-depends:-        base >=4.7 && <5,-        validity >=0.4 && <0.5,-        time -any-    default-language: Haskell2010-    hs-source-dirs: src-+  hs-source-dirs:+      src+  build-depends:+      base >=4.7 && <5+    , time+    , validity >=0.5 && <0.6+  exposed-modules:+      Data.Validity.Time+      Data.Validity.Time.Calendar+      Data.Validity.Time.Clock+      Data.Validity.Time.Format+      Data.Validity.Time.LocalTime+  other-modules:+      Paths_validity_time+  default-language: Haskell2010