cabal-version:       2.2
name:                HsYAML-aeson
version:             0.2.0.2
license:             GPL-2.0-or-later
license-file:        LICENSE.GPLv2
author:              Herbert Valerio Riedel
maintainer:          Andreas Abel
copyright:           2018-2019 Herbert Valerio Riedel
category:            Text, Codec, Web, JSON, YAML
synopsis:            JSON to YAML Adapter
description:
  The [YAML 1.2](https://yaml.org/spec/1.2/spec.html) format provides
  a much richer data-model and feature-set
  than the [JavaScript Object Notation (JSON)](https://tools.ietf.org/html/rfc7159) format.
  However, sometimes it's desirable to ignore the extra capabilities
  and treat YAML as if it was merely a more convenient markup format
  for humans to write JSON data. To this end this module provides a
  compatibility layer atop [HsYAML](https://hackage.haskell.org/package/HsYAML)
  which allows decoding YAML documents in the more limited JSON data-model while also providing
  convenience by reusing [aeson](https://hackage.haskell.org/package/aeson)'s
  'FromJSON' instances for decoding the YAML data into native Haskell data types.

tested-with:
  GHC == 9.12.1
  GHC == 9.10.1
  GHC == 9.8.4
  GHC == 9.6.6
  GHC == 9.4.8
  GHC == 9.2.8
  GHC == 9.0.2
  GHC == 8.10.7
  GHC == 8.8.4
  GHC == 8.6.5
  GHC == 8.4.4
  GHC == 8.2.2
  GHC == 8.0.2

extra-source-files:
  CHANGELOG.md

source-repository head
  type: git
  location: https://github.com/haskell-hvr/HsYAML-aeson.git

flag exe
  description: Enable @exe:yaml-test@ component
  manual: True
  default: False

library
  exposed-modules: Data.YAML.Aeson
  build-depends:
    , HsYAML               ^>= 0.2.0
    , aeson                ^>= 1.4.0.0  || ^>= 1.5.0.0 || ^>= 2.0.0.0 || ^>= 2.1.0.0 || ^>= 2.2.0.0
    , base                  >= 4.9      && < 5
    , bytestring            >= 0.10.8.1 && < 0.13
    , containers            >= 0.5.7.1  && < 1
    , mtl                  ^>= 2.2.1    || ^>= 2.3.1
    , scientific           ^>= 0.3.6.2
    , text                 ^>= 1.2.3    || ^>= 2.0 || ^>= 2.1
    , unordered-containers ^>= 0.2
    , vector               ^>= 0.12.0.2 || ^>= 0.13.0.0

  hs-source-dirs:      src
  default-language:    Haskell2010
  other-extensions:    RecordWildCards Trustworthy
  ghc-options: -Wall

executable yaml-test
  hs-source-dirs:      src-test
  main-is:             Main.hs
  default-language:    Haskell2010

  if flag(exe)
    build-depends: HsYAML
                 , HsYAML-aeson
                 , base
                 , aeson
                 , bytestring
                 , directory   >= 1.2 && < 1.4
  else
    buildable: False
