packages feed

amazonka-mtl-0.1.1.2: amazonka-mtl.cabal

cabal-version:      1.18
name:               amazonka-mtl
version:            0.1.1.2
license:            MIT
license-file:       LICENSE
maintainer:         Freckle Education
homepage:           https://github.com/freckle/amazonka-mtl#readme
bug-reports:        https://github.com/freckle/amazonka-mtl/issues
synopsis:           MTL-style type-class and deriving-via newtypes for Amazonka
description:
    This package allows incorporation of AWS actions into any MTL-style function,
    .
    > import Amazonka.Data.Text (ToText(..))
    > import Amazonka.S3.ListObjects
    > import Amazonka.S3.Types.Object
    > import Blammo.Logging
    > import Conduit
    > import Control.Lens hiding ((.=))
    > import Control.Monad.AWS as AWS
    >
    > someAction
    >   :: ( MonadIO m
    >      , MonadLogger m
    >      , MonadAWS m
    >      , MonadReader env m
    >      , HasSettings env
    >      )
    >   => m ()
    > someAction = do
    >   Settings {..} <- view settingsL
    >
    >   keys <-
    >     runConduit
    >       $ paginate (newListObjects settingsBucketName)
    >       .| concatMapC (^. listObjectsResponse_contents)
    >       .| concatC
    >       .| mapC (^. object_key . to toText)
    >       .| iterMC (\k -> logDebug $ k :# [])
    >       .| sinkList
    >
    >   logInfo $ "Bucket contents" :# ["keys" .= keys]
    .
    This package also provides a number of options for execution:
    .
    * Through a concrete transformer: "Control.Monad.AWS.EnvT"
    * Through your own reader env and deriving-via: "Control.Monad.AWS.ViaReader"
    .
    This package also provides mechanisms for mocking AWS in tests:
    .
    * Through a concrete transformer: "Control.Monad.AWS.MockT"
    * Through your own reader env and deriving-via: "Control.Monad.AWS.ViaMock"
    .
    Please see individual module documentation for all the details.

category:           Utils
build-type:         Simple
extra-source-files: package.yaml
extra-doc-files:
    README.md
    CHANGELOG.md

source-repository head
    type:     git
    location: https://github.com/freckle/amazonka-mtl

library
    exposed-modules:
        Control.Monad.AWS
        Control.Monad.AWS.Class
        Control.Monad.AWS.EnvT
        Control.Monad.AWS.Matchers
        Control.Monad.AWS.MockT
        Control.Monad.AWS.ViaMock
        Control.Monad.AWS.ViaReader

    hs-source-dirs:     library
    other-modules:      Paths_amazonka_mtl
    default-language:   Haskell2010
    default-extensions:
        BangPatterns DataKinds DeriveAnyClass DeriveFoldable DeriveFunctor
        DeriveGeneric DeriveLift DeriveTraversable DerivingStrategies
        FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving
        LambdaCase MultiParamTypeClasses NoImplicitPrelude
        NoMonomorphismRestriction OverloadedStrings RankNTypes
        RecordWildCards ScopedTypeVariables StandaloneDeriving
        TypeApplications TypeFamilies

    ghc-options:
        -Weverything -Wno-all-missed-specialisations
        -Wno-missed-specialisations -Wno-missing-exported-signatures
        -Wno-missing-import-lists -Wno-missing-local-signatures
        -Wno-monomorphism-restriction -Wno-safe -Wno-unsafe

    build-depends:
        amazonka >=2.0,
        amazonka-core >=2.0,
        base >=4.14.3.0 && <5,
        conduit >=1.3.4.2,
        lens >=4.19.2,
        monad-logger >=0.3.36,
        mtl >=2.2.2,
        resourcet >=1.2.4.3,
        unliftio-core >=0.2.0.1

    if impl(ghc >=9.2)
        ghc-options: -Wno-missing-kind-signatures

    if impl(ghc >=8.10)
        ghc-options:
            -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module

test-suite readme
    type:               exitcode-stdio-1.0
    main-is:            README.lhs
    other-modules:      Paths_amazonka_mtl
    default-language:   Haskell2010
    default-extensions:
        BangPatterns DataKinds DeriveAnyClass DeriveFoldable DeriveFunctor
        DeriveGeneric DeriveLift DeriveTraversable DerivingStrategies
        FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving
        LambdaCase MultiParamTypeClasses NoImplicitPrelude
        NoMonomorphismRestriction OverloadedStrings RankNTypes
        RecordWildCards ScopedTypeVariables StandaloneDeriving
        TypeApplications TypeFamilies

    ghc-options:
        -Weverything -Wno-all-missed-specialisations
        -Wno-missed-specialisations -Wno-missing-exported-signatures
        -Wno-missing-import-lists -Wno-missing-local-signatures
        -Wno-monomorphism-restriction -Wno-safe -Wno-unsafe -pgmL
        markdown-unlit

    build-depends:
        Blammo >=1.1.2.1,
        amazonka-core >=2.0,
        amazonka-mtl,
        amazonka-s3 >=2.0,
        base >=4.14.3.0 && <5,
        conduit >=1.3.4.2,
        lens >=4.19.2,
        markdown-unlit >=0.5.1,
        mtl >=2.2.2

    if impl(ghc >=9.2)
        ghc-options: -Wno-missing-kind-signatures

    if impl(ghc >=8.10)
        ghc-options:
            -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module

test-suite spec
    type:               exitcode-stdio-1.0
    main-is:            Spec.hs
    hs-source-dirs:     tests
    other-modules:
        Control.Monad.AWSSpec
        Paths_amazonka_mtl

    default-language:   Haskell2010
    default-extensions:
        BangPatterns DataKinds DeriveAnyClass DeriveFoldable DeriveFunctor
        DeriveGeneric DeriveLift DeriveTraversable DerivingStrategies
        FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving
        LambdaCase MultiParamTypeClasses NoImplicitPrelude
        NoMonomorphismRestriction OverloadedStrings RankNTypes
        RecordWildCards ScopedTypeVariables StandaloneDeriving
        TypeApplications TypeFamilies

    ghc-options:
        -Weverything -Wno-all-missed-specialisations
        -Wno-missed-specialisations -Wno-missing-exported-signatures
        -Wno-missing-import-lists -Wno-missing-local-signatures
        -Wno-monomorphism-restriction -Wno-safe -Wno-unsafe -threaded
        -rtsopts -with-rtsopts=-N

    build-depends:
        amazonka-core >=2.0,
        amazonka-mtl,
        amazonka-s3 >=2.0,
        base >=4.14.3.0 && <5,
        hspec >=2.7.10,
        lens >=4.19.2,
        text >=1.2.4.1,
        time >=1.9.3

    if impl(ghc >=9.2)
        ghc-options: -Wno-missing-kind-signatures

    if impl(ghc >=8.10)
        ghc-options:
            -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module