salve 0.0.7 → 0.0.8
raw patch · 3 files changed
+57/−1 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Salve: fromBaseVersion :: Version -> Version
+ Salve: toBaseVersion :: Version -> Version
+ Salve.Internal: fromBaseVersion :: Version -> Version
+ Salve.Internal: toBaseVersion :: Version -> Version
Files
- library/Salve.hs +4/−0
- library/Salve/Internal.hs +52/−0
- salve.cabal +1/−1
library/Salve.hs view
@@ -181,6 +181,10 @@ isUnstable, isStable, +-- * Conversions+fromBaseVersion,+toBaseVersion,+ -- * Helpers bumpMajor, bumpMinor,
library/Salve/Internal.hs view
@@ -9,6 +9,7 @@ import qualified Data.Maybe as Maybe import qualified Data.Monoid as Monoid import qualified Data.Ord as Ord+import qualified Data.Version as Version import qualified Data.Word as Word import qualified Text.ParserCombinators.ReadP as ReadP @@ -398,6 +399,57 @@ -- Just False isStable :: Version -> Bool isStable v = not (isUnstable v)++-- | Converts from a 'Version.Version' from the @base@ package.+--+-- >>> renderVersion . fromBaseVersion $ Version.makeVersion [1, 2, 3]+-- "1.2.3"+--+-- Missing version components are set to zero.+--+-- >>> renderVersion . fromBaseVersion $ Version.makeVersion []+-- "0.0.0"+-- >>> renderVersion . fromBaseVersion $ Version.makeVersion [1]+-- "1.0.0"+-- >>> renderVersion . fromBaseVersion $ Version.makeVersion [1, 2]+-- "1.2.0"+--+-- Extra version components are ignored.+--+-- >>> renderVersion . fromBaseVersion $ Version.makeVersion [1, 2, 3, 4]+-- "1.2.3"+--+-- Tags are ignored.+--+-- >>> renderVersion . fromBaseVersion $ Version.Version [] ["ignored"]+-- "0.0.0"+fromBaseVersion :: Version.Version -> Version+fromBaseVersion v = case Version.versionBranch v of+ (m : n : p : _) -> mkV (fromIntegral m) (fromIntegral n) (fromIntegral p)+ (m : n : _) -> mkV (fromIntegral m) (fromIntegral n) 0+ (m : _) -> mkV (fromIntegral m) 0 0+ _ -> mkV 0 0 0++-- | Converts to a 'Version.Version' from the @base@ package.+--+-- >>> toBaseVersion <$> parseVersion "1.2.3"+-- Just (Version {versionBranch = [1,2,3], versionTags = []})+--+-- Pre-releases and builds are converted to tags.+--+-- >>> toBaseVersion <$> parseVersion "1.2.3-pre+build"+-- Just (Version {versionBranch = [1,2,3], versionTags = ["pre","build"]})+toBaseVersion :: Version -> Version.Version+toBaseVersion v = Version.Version+ (map fromIntegral+ [ versionMajor v+ , versionMinor v+ , versionPatch v+ ])+ (concat+ [ map renderPreRelease (versionPreReleases v)+ , map renderBuild (versionBuilds v)+ ]) -- | Increments the major version number. --
salve.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack name: salve-version: 0.0.7+version: 0.0.8 synopsis: Semantic version numbers and constraints. description: Salve provides semantic version (SemVer) numbers and constraints (ranges). category: Distribution