cabal-version: 1.12

-- This file has been generated from package.yaml by hpack version 0.31.1.
--
-- see: https://github.com/sol/hpack
--
-- hash: 033525824882ae4e8d9d12a74cef044d5fad8b30e7234634d83b8dec5460b57f

name:           safe-json
version:        0.1.0
synopsis:       Automatic JSON format versioning
description:    This library aims to make the updating of JSON formats or contents, while keeping backward compatibility, as painless as possible. The way this is achieved is through versioning and defined migration functions to migrate older (or newer) versions to the one used.
                .
                The library mainly consists of two classes:
                .
                * @SafeJSON a@: Defines the version of @a@ and if (and how) it is migratable.
                .
                * @Migrate a@: Defines the data type (@MigrateFrom a@) that can be migrated to @a@ and how to migrate from that type.
                .
                Using these two classes, JSON serialized data types will stay parsable, even after format changes.
                .
                For a more in-depth explanation and examples, please see the README at <https://github.com/Vlix/safe-json#readme>
category:       JSON
homepage:       https://github.com/Vlix/safe-json#readme
bug-reports:    https://github.com/Vlix/safe-json/issues
author:         Felix Paulusma
maintainer:     felix.paulusma@gmail.com
copyright:      2019 Felix Paulusma
license:        MIT
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    README
    ChangeLog.md

source-repository head
  type: git
  location: https://github.com/Vlix/safe-json

library
  exposed-modules:
      Data.Aeson.Safe
      Data.SafeJSON
      Data.SafeJSON.Test
  other-modules:
      Data.SafeJSON.Instances
      Data.SafeJSON.Internal
      Paths_safe_json
  hs-source-dirs:
      src
  default-extensions: OverloadedStrings
  build-depends:
      aeson >=1.4.1 && <1.5
    , base >=4.9 && <5
    , bytestring >=0.10.8.1 && <0.11
    , containers >=0.5.7.1 && <0.7
    , dlist >=0.8.0.3 && <0.9
    , hashable >=1.2.6.1 && <1.3
    , scientific >=0.3.5.2 && <0.4
    , tasty >=0.11.3 && <1.3
    , tasty-hunit >=0.9.2 && <0.11
    , tasty-quickcheck >=0.8.4 && <0.11
    , text >=1.2.3 && <1.3
    , time >=1.6.0.1 && <1.9
    , unordered-containers >=0.2.9 && <0.3
    , uuid-types >=1.0.3 && <1.1
    , vector >=0.12.0.1 && <0.13
  default-language: Haskell2010

test-suite safe-json-test
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  other-modules:
      Consistency.Migrations
      Consistency.Primitives
      ConsistencyTests
      Instances
      MigrationTests
      PrimitiveTests
      SafeAeson
      Types
      VersionNum
      Paths_safe_json
  hs-source-dirs:
      test
  default-extensions: OverloadedStrings
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      aeson >=1.4.1 && <1.5
    , base >=4.9 && <5
    , bytestring >=0.10.8.1 && <0.11
    , containers >=0.5.7.1 && <0.7
    , dlist >=0.8.0.3 && <0.9
    , generic-arbitrary >=0.1.0 && <0.2
    , hashable >=1.2.6.1 && <1.3
    , quickcheck-instances >=0.3.16 && <0.4
    , safe-json >=0.1.0 && <0.2
    , scientific >=0.3.5.2 && <0.4
    , tasty
    , tasty-hunit
    , tasty-quickcheck
    , temporary >=1.2.1.1 && <1.4
    , text >=1.2.3 && <1.3
    , time >=1.6.0.1 && <1.9
    , unordered-containers >=0.2.9 && <0.3
    , uuid >=1.3.13 && <1.4
    , uuid-types >=1.0.3 && <1.1
    , vector >=0.12.0.1 && <0.13
  default-language: Haskell2010
