aeson-toolkit (empty) → 0.0.0
raw patch · 5 files changed
+84/−0 lines, 5 filesdep +aesondep +aeson-toolkitdep +basesetup-changed
Dependencies added: aeson, aeson-toolkit, base, bytestring, failure, hspec, text
Files
- LICENSE +19/−0
- Setup.lhs +3/−0
- aeson-toolkit.cabal +44/−0
- src/Data/Aeson/Toolkit.hs +17/−0
- test/Spec.hs +1/−0
+ LICENSE view
@@ -0,0 +1,19 @@+Copyright (c) 2013 Simon Hengel <sol@typeful.net>++Permission is hereby granted, free of charge, to any person obtaining a copy+of this software and associated documentation files (the "Software"), to deal+in the Software without restriction, including without limitation the rights+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell+copies of the Software, and to permit persons to whom the Software is+furnished to do so, subject to the following conditions:++The above copyright notice and this permission notice shall be included in+all copies or substantial portions of the Software.++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN+THE SOFTWARE.
+ Setup.lhs view
@@ -0,0 +1,3 @@+#!/usr/bin/env runhaskell+> import Distribution.Simple+> main = defaultMain
+ aeson-toolkit.cabal view
@@ -0,0 +1,44 @@+name: aeson-toolkit+version: 0.0.0+license: MIT+license-file: LICENSE+copyright: (c) 2013 Simon Hengel+author: Simon Hengel <sol@typeful.net>+maintainer: Simon Hengel <sol@typeful.net>+synopsis: A generalization of Aeson over Failure+description: A generalization of Aeson over Failure+category: Text, Web, JSON+build-type: Simple+cabal-version: >= 1.8++source-repository head+ type: git+ location: https://github.com/sol/aeson-toolkit++library+ ghc-options:+ -Wall+ hs-source-dirs:+ src+ exposed-modules:+ Data.Aeson.Toolkit+ build-depends:+ base == 4.*+ , text+ , bytestring+ , failure+ , aeson++test-suite spec+ type:+ exitcode-stdio-1.0+ ghc-options:+ -Wall -Werror+ hs-source-dirs:+ test+ main-is:+ Spec.hs+ build-depends:+ base == 4.*+ , aeson-toolkit+ , hspec >= 1.5
+ src/Data/Aeson/Toolkit.hs view
@@ -0,0 +1,17 @@+{-# LANGUAGE FlexibleContexts #-}+module Data.Aeson.Toolkit where++import Data.Text (Text)+import qualified Data.ByteString.Lazy as L+import Control.Failure+import Data.Aeson as Aeson+import Data.Aeson.Types++decode :: (FromJSON a, Failure String m) => L.ByteString -> m a+decode = either failure return . eitherDecode++decode' :: (FromJSON a, Failure String m) => L.ByteString -> m a+decode' = either failure return . eitherDecode'++(.:) :: (Failure String m, FromJSON a) => Object -> Text -> m a+o .: k = (either failure return . parseEither (Aeson..: k)) o
+ test/Spec.hs view
@@ -0,0 +1,1 @@+{-# OPTIONS_GHC -F -pgmF hspec-discover #-}