packages feed

byteunits 0.2.0.0 → 0.2.0.1

raw patch · 4 files changed

+34/−34 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- ByteUnits: Bytes :: ByteUnit
- ByteUnits: ExaBytes :: ByteUnit
- ByteUnits: GigaBytes :: ByteUnit
- ByteUnits: KiloBytes :: ByteUnit
- ByteUnits: MegaBytes :: ByteUnit
- ByteUnits: PetaBytes :: ByteUnit
- ByteUnits: TeraBytes :: ByteUnit
- ByteUnits: data ByteUnit
- ByteUnits: getAppropriateUnits :: Float -> (ByteUnit, Float)
- ByteUnits: getUnits :: ByteUnit -> Float -> Float
- ByteUnits: instance GHC.Classes.Eq ByteUnits.ByteUnit
- ByteUnits: instance GHC.Show.Show ByteUnits.ByteUnit
+ Data.ByteUnits: Bytes :: ByteUnit
+ Data.ByteUnits: ExaBytes :: ByteUnit
+ Data.ByteUnits: GigaBytes :: ByteUnit
+ Data.ByteUnits: KiloBytes :: ByteUnit
+ Data.ByteUnits: MegaBytes :: ByteUnit
+ Data.ByteUnits: PetaBytes :: ByteUnit
+ Data.ByteUnits: TeraBytes :: ByteUnit
+ Data.ByteUnits: data ByteUnit
+ Data.ByteUnits: getAppropriateUnits :: Float -> (ByteUnit, Float)
+ Data.ByteUnits: getUnits :: ByteUnit -> Float -> Float
+ Data.ByteUnits: instance GHC.Classes.Eq Data.ByteUnits.ByteUnit
+ Data.ByteUnits: instance GHC.Show.Show Data.ByteUnits.ByteUnit

Files

− ByteUnits.hs
@@ -1,30 +0,0 @@-module ByteUnits where--import Safe--data ByteUnit = Bytes | KiloBytes | MegaBytes | GigaBytes | TeraBytes | PetaBytes | ExaBytes deriving (Show, Eq)--getUnits :: ByteUnit -> Float -> Float-getUnits bytesUnit bytes = case bytesUnit of-  Bytes -> bytes-  KiloBytes -> bytes / (1024 ** 1)-  MegaBytes -> bytes / (1024 ** 2)-  GigaBytes -> bytes / (1024 ** 3)-  TeraBytes -> bytes / (1024 ** 4)-  PetaBytes -> bytes / (1024 ** 4)-  ExaBytes  -> bytes / (1024 ** 5)---- | Rounds up to the highest unit provided it's > 1------ >>> getAppropriateUnits 1024--- (KiloBytes,1.0)------ >>> getAppropriateUnits (3.5 * 1024* 1024)--- (MegaBytes,3.5)-getAppropriateUnits :: Float -> (ByteUnit, Float)-getAppropriateUnits bytes = do-  let units = fmap (\bu -> (bu, getUnits bu bytes)) [Bytes, KiloBytes, MegaBytes, GigaBytes, TeraBytes, PetaBytes, ExaBytes]-  let appropriateUnits = filter (((<=) 1.0) . snd)  units-  case (lastMay appropriateUnits) of-    Just (x) -> x-    Nothing -> (Bytes, bytes)
byteunits.cabal view
@@ -1,5 +1,5 @@ name:                byteunits-version:             0.2.0.0+version:             0.2.0.1 description:         Human friendly conversion between byte units (KB, MB, GB...) synopsis:            Human friendly conversion between byte units (KB, MB, GB...) license:             BSD3@@ -15,9 +15,9 @@   location: https://github.com/chrissound/byteunits  library-  hs-source-dirs: .+  hs-source-dirs: src   default-language: Haskell2010-  exposed-modules: ByteUnits+  exposed-modules: Data.ByteUnits   build-depends:       base >=4.9 && <4.10                        , safe == 0.3.15   default-language:    Haskell2010
+ src/Data/ByteUnits.hs view
@@ -0,0 +1,30 @@+module Data.ByteUnits where++import Safe++data ByteUnit = Bytes | KiloBytes | MegaBytes | GigaBytes | TeraBytes | PetaBytes | ExaBytes deriving (Show, Eq)++getUnits :: ByteUnit -> Float -> Float+getUnits bytesUnit bytes = case bytesUnit of+  Bytes -> bytes+  KiloBytes -> bytes / (1024 ** 1)+  MegaBytes -> bytes / (1024 ** 2)+  GigaBytes -> bytes / (1024 ** 3)+  TeraBytes -> bytes / (1024 ** 4)+  PetaBytes -> bytes / (1024 ** 4)+  ExaBytes  -> bytes / (1024 ** 5)++-- | Rounds up to the highest unit provided it's > 1+--+-- >>> getAppropriateUnits 1024+-- (KiloBytes,1.0)+--+-- >>> getAppropriateUnits (3.5 * 1024* 1024)+-- (MegaBytes,3.5)+getAppropriateUnits :: Float -> (ByteUnit, Float)+getAppropriateUnits bytes = do+  let units = fmap (\bu -> (bu, getUnits bu bytes)) [Bytes, KiloBytes, MegaBytes, GigaBytes, TeraBytes, PetaBytes, ExaBytes]+  let appropriateUnits = filter (((<=) 1.0) . snd)  units+  case (lastMay appropriateUnits) of+    Just (x) -> x+    Nothing -> (Bytes, bytes)
tests/Tests.hs view
@@ -1,7 +1,7 @@ module Main where  import Test.QuickCheck (quickCheck)-import ByteUnits+import Data.ByteUnits  main = do   quickCheck (getUnits KiloBytes 1024 == 1.0)