name:                async-refresh
version:             0.2.0.2
synopsis:            Package implementing core logic for refreshing of expiring data.
description:         This package can be used for refreshing of expiring data according
                     to a user-provided action. Using callbacks, the user can decide
                     how she or he would like to be informed about data refreshing.
homepage:            https://github.com/mtesseract/async-refresh
license:             BSD3
license-file:        LICENSE
author:              Moritz Schulte
maintainer:          mtesseract@silverratio.net
copyright:           (c) 2017 Moritz Schulte
category:            Control
build-type:          Simple
extra-source-files:  README.md
cabal-version:       >=1.10

library
  hs-source-dirs:      src
  exposed-modules:     Control.Concurrent.Async.Refresh
  other-modules:       Control.Concurrent.Async.Refresh.Prelude
                     , Control.Concurrent.Async.Refresh.Util
                     , Control.Concurrent.Async.Refresh.Types
                     , Control.Concurrent.Async.Refresh.Lenses
  build-depends:       base >= 4.7 && < 5
  default-language:    Haskell2010
  ghc-options:         -Wall -fno-warn-type-defaults
  other-extensions:    NoImplicitPrelude
                     , OverloadedStrings
                     , RecordWildCards
                     , FlexibleContexts
                     , MultiParamTypeClasses
  build-depends:       base >= 4.7 && < 5
                     , text
                     , microlens
                     , microlens-th
                     , monad-logger
                     , lifted-async
                     , stm
                     , safe-exceptions
                     , formatting
                     , monad-control

test-suite async-refresh-test
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Spec.hs
  build-depends:       base
                     , async-refresh
                     , text
                     , HUnit
                     , test-framework
                     , test-framework-hunit
                     , criterion
                     , monad-logger
                     , stm
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
  default-language:    Haskell2010
  default-extensions:  OverloadedStrings

source-repository head
  type:     git
  location: https://github.com/mtesseract/async-refresh