packages feed

hw-ip 0.4.1 → 0.4.2

raw patch · 3 files changed

+14/−2 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ HaskellWorks.Data.Network.Ip: ipv4AddressToWords :: Ipv4Address -> (Word8, Word8, Word8, Word8)

Files

hw-ip.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack  name:           hw-ip-version:        0.4.1+version:        0.4.2 synopsis:       Library for manipulating IP addresses and CIDR blocks description:    Please see README.md category:       Network
src/HaskellWorks/Data/Network/Ip.hs view
@@ -12,6 +12,7 @@   , textToMaybeIpv4Address   , ipv4AddressToString   , ipv4AddressToText+  , ipv4AddressToWords   , firstIpv4Address   , lastIpv4Address   ) where@@ -55,10 +56,18 @@ lastIpv4Address b@(Z.Ipv4Block (Z.Ipv4Address base) _) = Z.Ipv4Address (base + fromIntegral (blockSize b) - 1)  textToMaybeIpv4Address :: T.Text -> Maybe Z.Ipv4Address-textToMaybeIpv4Address t = join $ AP.maybeResult <$> AP.parseWith (return mempty) APT.ipv4Address t+textToMaybeIpv4Address t = AP.maybeResult =<< AP.parseWith (return mempty) APT.ipv4Address t  ipv4AddressToString :: Z.Ipv4Address -> String ipv4AddressToString = show  ipv4AddressToText :: Z.Ipv4Address -> T.Text ipv4AddressToText = T.pack . ipv4AddressToString++ipv4AddressToWords :: Z.Ipv4Address -> (Word8, Word8, Word8, Word8)+ipv4AddressToWords (Z.Ipv4Address w) =+  ( fromIntegral (w .>. 24) .&. 0xff+  , fromIntegral (w .>. 16) .&. 0xff+  , fromIntegral (w .>.  8) .&. 0xff+  , fromIntegral (w         .&. 0xff)+  )
test/HaskellWorks/Data/Network/IpSpec.hs view
@@ -36,6 +36,9 @@       read "1.2.3.12"     === Ipv4Address 0x0102030c       read "1.2.3.160"    === Ipv4Address 0x010203a0 +    it "should be possible to extract the octets" $ require $ property $ do+      ipv4AddressToWords (Ipv4Address 0x01020304) === (1, 2, 3, 4)+   describe "Ipv4Block" $ do     it "should implement show" $ require $ property $ do       show (Ipv4Block (Ipv4Address 0x000000ff) (Ipv4NetMask 32)) === "0.0.0.255/32"