neuron-0.6.0.0: src/app/Neuron/Version.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE NoImplicitPrelude #-}
module Neuron.Version where
import Data.Version (parseVersion, showVersion)
import Paths_neuron (version)
import Relude
import Text.ParserCombinators.ReadP (readP_to_S)
-- | Neuron cabal library version
neuronVersion :: Text
neuronVersion = toText $ showVersion version
-- | Check if `neuronVersion` is older than the given version
olderThan :: Text -> Bool
olderThan s =
case reverse (readP_to_S parseVersion (toString s)) of
(v2, _) : _ -> version < v2
x -> error $ "Version parse error: " <> show x