packages feed

hw-ip 2.2.0.0 → 2.3.0.0

raw patch · 4 files changed

+15/−1 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ HaskellWorks.Data.Network.Ip.Ipv4: instance HaskellWorks.Data.Network.Ip.Range.Contains (HaskellWorks.Data.Network.Ip.Ipv4.IpBlock a)
+ HaskellWorks.Data.Network.Ip.Ipv6: instance HaskellWorks.Data.Network.Ip.Range.Contains (HaskellWorks.Data.Network.Ip.Ipv6.IpBlock HaskellWorks.Data.Network.Ip.Validity.Canonical)
+ HaskellWorks.Data.Network.Ip.Range: class Contains a
+ HaskellWorks.Data.Network.Ip.Range: contains :: Contains a => a -> a -> Bool
+ HaskellWorks.Data.Network.Ip.Range: instance GHC.Classes.Ord a => HaskellWorks.Data.Network.Ip.Range.Contains (HaskellWorks.Data.Network.Ip.Range.Range a)

Files

hw-ip.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.12 name: hw-ip-version: 2.2.0.0+version: 2.3.0.0 license: BSD3 license-file: LICENSE copyright: 2018 John Ky, David Turnbull, Jian Wan
src/HaskellWorks/Data/Network/Ip/Ipv4.hs view
@@ -207,3 +207,6 @@  blockToRange :: IpBlock Canonical -> Range IpAddress blockToRange b = uncurry Range $ bimap firstIpAddress lastIpAddress (b, b)++instance Contains (IpBlock a) where+  contains l r = firstIpAddress l <= firstIpAddress r && lastIpAddress l >= lastIpAddress r
src/HaskellWorks/Data/Network/Ip/Ipv6.hs view
@@ -200,3 +200,6 @@  blockToRange :: IpBlock Canonical -> Range IpAddress blockToRange b = uncurry Range $ bimap firstIpAddress lastIpAddress (b, b)++instance Contains (IpBlock Canonical) where+  contains l r = firstIpAddress l <= firstIpAddress r && lastIpAddress l >= lastIpAddress r
src/HaskellWorks/Data/Network/Ip/Range.hs view
@@ -6,6 +6,7 @@  import GHC.Generics import HaskellWorks.Data.Network.Ip.SafeEnum+import Prelude                               hiding (last)  import qualified Text.Appar.String as AP @@ -25,3 +26,10 @@   where nr = Range f1 (max l1 l2) mergeRanges [r] = [r] mergeRanges [] = []++class Contains a where+  -- | 'left' contains 'right', with the possibility of one or both of the boundaries being the same.+  contains :: a -> a -> Bool++instance Ord a => Contains (Range a) where+  contains l r = first l <= first r && last l >= last r