packages feed

amazonka-mtl-0.1.1.3: package.yaml

name: amazonka-mtl
version: 0.1.1.3
maintainer: Freckle Education
category: Utils
github: freckle/amazonka-mtl
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.
extra-doc-files:
  - README.md
  - CHANGELOG.md
extra-source-files:
  - package.yaml
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
when:
  - condition: impl(ghc >= 9.2)
    ghc-options:
      - -Wno-missing-kind-signatures
  - condition: impl(ghc >= 8.10)
    ghc-options:
      - -Wno-missing-safe-haskell-mode
      - -Wno-prepositive-qualified-module
dependencies:
  - base < 5
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
library:
  source-dirs: library
  dependencies:
    - amazonka
    - amazonka-core
    - conduit
    - lens
    - monad-logger
    - mtl
    - resourcet
    - unliftio-core
tests:
  spec:
    main: Spec.hs
    source-dirs: tests
    ghc-options: -threaded -rtsopts "-with-rtsopts=-N"
    dependencies:
      - amazonka-core
      - amazonka-mtl
      - amazonka-s3
      - hspec
      - lens
      - text
      - time
  readme:
    main: README.lhs
    ghc-options: -pgmL markdown-unlit
    dependencies:
      - Blammo
      - amazonka-core
      - amazonka-mtl
      - amazonka-s3
      - conduit
      - lens
      - markdown-unlit
      - mtl