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 +1/−1
- src/HaskellWorks/Data/Network/Ip/Ipv4.hs +3/−0
- src/HaskellWorks/Data/Network/Ip/Ipv6.hs +3/−0
- src/HaskellWorks/Data/Network/Ip/Range.hs +8/−0
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