packages feed

liblawless 0.21.0 → 0.21.1

raw patch · 2 files changed

+38/−15 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Environment: Arg :: Text -> Arg
- Environment: EnvName :: Text -> EnvName
- Environment: EnvValue :: Text -> EnvValue
- Environment: ProgName :: Text -> ProgName
- Environment: [unArg] :: Arg -> Text
- Environment: [unEnvName] :: EnvName -> Text
- Environment: [unEnvValue] :: EnvValue -> Text
- Environment: [unProgName] :: ProgName -> Text
- Environment: lookupEnv :: MonadIO m => EnvName -> m (Maybe EnvValue)
- Environment: newtype Arg
- Environment: newtype EnvName
- Environment: newtype EnvValue
- Environment: newtype ProgName
- Environment: setEnv :: MonadIO m => EnvName -> EnvValue -> m ()
+ Environment: _EnvName :: Iso' EnvName Text
+ Environment: _EnvValue :: Iso' EnvValue Text
+ Environment: _ProgName :: Iso' ProgName Text
+ Environment: data EnvName
+ Environment: data EnvValue
+ Environment: data ProgName

Files

Source/Environment.hs view
@@ -1,3 +1,5 @@+{-# Language TemplateHaskell #-}+ {-| Module:             Environment Description:        Execution environment, but as Text and lifted to MonadIO.@@ -8,8 +10,21 @@ Portability:        POSIX -} -module Environment where+module Environment (+    EnvName,+    _EnvName, +    EnvValue,+    _EnvValue,++    environment,+    args,++    ProgName,+    _ProgName,+    progName+    )where+ import Lawless import IO import Text@@ -18,16 +33,20 @@ import qualified System.Environment as SE  -- | A key in the 'Environment'.-newtype EnvName = EnvName {unEnvName ∷ Text} deriving (Eq, Ord, Show, Printable)+newtype EnvName = EnvName Text deriving (Eq, Ord, Show, Printable)+makePrisms ''EnvName+ instance IsText EnvName where-    packed = iso (EnvName ∘ view packed) (view unpacked ∘ unEnvName)-    builder = iso (view builder ∘ unEnvName) (EnvName ∘ review builder)+    packed = iso (EnvName ∘ view packed) (view unpacked ∘ view _EnvName)+    builder = iso (view builder ∘ view _EnvName) (EnvName ∘ review builder)  -- | A value in the 'Environment'-newtype EnvValue = EnvValue {unEnvValue ∷ Text} deriving (Eq, Ord, Show, Printable)+newtype EnvValue = EnvValue Text deriving (Eq, Ord, Show, Printable)+makePrisms ''EnvValue+ instance IsText EnvValue where-    packed = iso (EnvValue ∘ view packed) (view unpacked ∘ unEnvValue)-    builder = iso (view builder ∘ unEnvValue) (EnvValue ∘ review builder)+    packed = iso (EnvValue ∘ view packed) (view unpacked ∘ view _EnvValue)+    builder = iso (view builder ∘ view _EnvValue) (EnvValue ∘ review builder)  lookupEnv ∷ MonadIO m ⇒ EnvName → m (Maybe EnvValue) lookupEnv k =@@ -58,18 +77,22 @@ environment ∷ MonadIO m ⇒ Lens EnvName (m ()) (m (Maybe EnvValue)) EnvValue environment = lens lookupEnv setEnv -newtype Arg = Arg {unArg ∷ Text} deriving (Eq, Show, Ord, Printable)+newtype Arg = Arg Text deriving (Eq, Show, Ord, Printable)+makePrisms ''Arg+ instance IsText Arg where-    packed = iso (Arg ∘ view packed) (view unpacked ∘ unArg)-    builder = iso (view builder ∘ unArg) (Arg ∘ review builder)+    packed = iso (Arg ∘ view packed) (view unpacked ∘ view _Arg)+    builder = iso (view builder ∘ view _Arg) (Arg ∘ review builder)  args ∷ (MonadIO m) ⇒ m [Arg] args = liftIO $ over traversed (view packed) <$> SE.getArgs -newtype ProgName = ProgName {unProgName ∷ Text} deriving (Eq, Show, Ord, Printable)+newtype ProgName = ProgName Text deriving (Eq, Show, Ord, Printable)+makePrisms ''ProgName+ instance IsText ProgName where-    packed = iso (ProgName ∘ view packed) (view unpacked ∘ unProgName)-    builder = iso (view builder ∘ unProgName) (ProgName ∘ review builder)+    packed = iso (ProgName ∘ view packed) (view unpacked ∘ view _ProgName)+    builder = iso (view builder ∘ view _ProgName) (ProgName ∘ review builder)  progName ∷ (MonadIO m) ⇒ m ProgName progName = liftIO $ view packed <$> SE.getProgName
liblawless.cabal view
@@ -1,5 +1,5 @@ name:                liblawless-version:             0.21.0+version:             0.21.1 synopsis:            Prelude based on protolude for GHC 8 and beyond. license:             GPL-3 license-file:        LICENSE@@ -28,7 +28,7 @@ source-repository this   type:     git   location:   git@gitlab.com:misandrist/liblawless.git-  tag: v0.21.0+  tag: v0.21.1  library   ghc-options: -Wall -Wno-redundant-constraints -Wno-type-defaults -O2