packages feed

json-api 0.1.0.1 → 0.1.0.2

raw patch · 10 files changed

+31/−45 lines, 10 filesdep −swagger2dep ~bytestringdep ~containers

Dependencies removed: swagger2

Dependency ranges changed: bytestring, containers

Files

README.md view
@@ -11,3 +11,8 @@ #### Example usage  There is an [example project](https://github.com/toddmohney/json-api/example) illustrating how the library can be used.+++#### Hackage++Module documentation can be found on [Hackage](http://hackage.haskell.org/package/json-api)
json-api.cabal view
@@ -1,5 +1,5 @@ name:                json-api-version:             0.1.0.1+version:             0.1.0.2 homepage:            https://github.com/toddmohney/json-api bug-reports:         https://github.com/toddmohney/json-api/issues license:             MIT@@ -12,6 +12,7 @@ cabal-version:       >=1.10 maintainer:          Todd Mohney <toddmohney@gmail.com> stability:           experimental+tested-with:         GHC == 7.10.3 synopsis:            Utilities for generating JSON-API payloads description:   Provides utilities for deriving JSON payloads conformant to the json-api@@ -35,10 +36,9 @@ library   build-depends: aeson                >= 0.11.2.0 && < 0.11.3.0                , base                 >= 4.7 && < 5.0-               , containers           >= 0.5.6.2 && < 0.5.7.1+               , containers           >= 0.5.7.1 && < 0.5.8.0                , data-default         >= 0.5.3 && < 5.6.0                , lens-aeson           >= 1.0.0.5 && < 1.0.1.0-               , swagger2             >= 2.0.2 && < 2.1.0                , text                 >= 1.2.2.1 && < 1.2.3.0                , unordered-containers >= 0.2.7.1 && < 0.2.8.0                , url                  >= 2.1.3 && < 2.2.0@@ -72,8 +72,8 @@   build-depends: aeson        >= 0.11.2.0 && < 0.11.3.0                , aeson-pretty >= 0.7.2 && < 0.8.0                , base         >= 4.7 && < 5.0-               , bytestring   >= 0.10.6.0 && < 0.10.7.0-               , containers   >= 0.5.6.2 && < 0.5.7.1+               , bytestring   >= 0.10.8.1 && < 0.10.9.0+               , containers   >= 0.5.7.1 && < 0.5.8.0                , data-default >= 0.5.3 && < 5.6.0                , hspec        >= 2.2.3 && < 2.3.0                , json-api
src/Network/JSONApi/Document.hs view
@@ -25,8 +25,7 @@   , (.:?)   ) import qualified Data.Aeson as AE-import Data.Swagger (ToSchema)-import GHC.Generics+import qualified GHC.Generics as G import qualified Network.JSONApi.Error as E import Network.JSONApi.Link as L import Network.JSONApi.Meta as M@@ -45,7 +44,7 @@   { _data  ::  Resource a b   , _links ::  Maybe Links   , _meta  ::  Maybe (Meta c)-  } deriving (Show, Eq, Generic)+  } deriving (Show, Eq, G.Generic)  {- | The @Resource@ type encapsulates the underlying 'ResourceObject'@@ -57,7 +56,7 @@ -} data Resource a b = Singleton (ResourceObject a b)                   | List [ResourceObject a b]-                  deriving (Show, Eq, Generic)+                  deriving (Show, Eq, G.Generic)  instance (ToJSON a, ToJSON b) => ToJSON (Resource a b) where   toJSON (Singleton res) = AE.toJSON res@@ -87,9 +86,6 @@     m <- v .:? "meta"     return (Document d l m) -instance (ToSchema a, ToSchema b, ToSchema c) => ToSchema (Document a b c)-instance (ToSchema a, ToSchema b) => ToSchema (Resource a b)- {- | The @ErrorDocument@ type represents the alternative form of the top-level JSON-API requirement.@@ -103,7 +99,7 @@   { _error :: E.Error a   , _errorLinks :: Maybe Links   , _errorMeta  :: Maybe (Meta b)-  } deriving (Show, Eq, Generic)+  } deriving (Show, Eq, G.Generic)  instance (ToJSON a, ToJSON b) => ToJSON (ErrorDocument a b) where   toJSON (ErrorDocument err links meta) =@@ -118,5 +114,3 @@       <$> v .: "error"       <*> v .:? "links"       <*> v .:? "meta"--instance (ToSchema a, ToSchema b) => ToSchema (ErrorDocument a b)
src/Network/JSONApi/Error.hs view
@@ -12,9 +12,8 @@  import Data.Aeson (ToJSON, FromJSON) import Data.Default-import Data.Swagger (ToSchema) import Data.Text-import GHC.Generics (Generic)+import qualified GHC.Generics as G import Network.JSONApi.Link (Links) import Network.JSONApi.Meta import Prelude hiding (id)@@ -34,11 +33,10 @@         , detail :: Maybe Text         , meta   :: Maybe (Meta a)         }-  deriving (Show, Eq, Generic)+  deriving (Show, Eq, G.Generic)  instance ToJSON a   => ToJSON (Error a) instance FromJSON a => FromJSON (Error a)-instance ToSchema a => ToSchema (Error a)  instance Default (Error a) where   def = Error
src/Network/JSONApi/Link.hs view
@@ -13,9 +13,8 @@ import Data.Aeson (ToJSON, FromJSON) import Data.Map (Map) import qualified Data.Map as Map-import Data.Swagger (ToSchema) import Data.Text (Text, pack)-import GHC.Generics (Generic)+import qualified GHC.Generics as G import Network.URL (URL, exportURL)  {- |@@ -34,9 +33,7 @@ Specification: <http://jsonapi.org/format/#document-links> -} newtype Links = Links (Map Rel Href)-  deriving (Show, Eq, Ord, ToJSON, FromJSON, Generic)--instance ToSchema Links+  deriving (Show, Eq, Ord, ToJSON, FromJSON, G.Generic)  type Rel = Text type Href = Text
src/Network/JSONApi/Meta.hs view
@@ -7,9 +7,8 @@  import Data.Aeson (ToJSON, FromJSON) import Data.Map (Map)-import Data.Swagger (ToSchema) import Data.Text (Text)-import GHC.Generics (Generic)+import qualified GHC.Generics as G  {- | Type representing a JSON-API meta object.@@ -33,10 +32,7 @@ Specification: <http://jsonapi.org/format/#document-meta> -} data Meta a = Meta (Map Text a)-  deriving (Show, Eq, Ord, Generic)+  deriving (Show, Eq, Ord, G.Generic)  instance ToJSON a   => ToJSON (Meta a) instance FromJSON a => FromJSON (Meta a)--instance ToSchema a => ToSchema (Meta a)-
src/Network/JSONApi/ResourceObject.hs view
@@ -11,9 +11,8 @@  import Data.Aeson (ToJSON, FromJSON, (.=), (.:), (.:?)) import qualified Data.Aeson as AE-import Data.Swagger (ToSchema) import Data.Text (Text)-import GHC.Generics (Generic)+import qualified GHC.Generics as G import Network.JSONApi.Link (Links) import Network.JSONApi.Meta (Meta) @@ -31,17 +30,13 @@   , getResource :: a   , getLinks :: Maybe Links   , getMetaData :: Maybe (Meta b)-  } deriving (Show, Eq, Ord, Generic)+  } deriving (Show, Eq, Ord, G.Generic)  newtype ResourceId = ResourceId Text-  deriving (Show, Eq, Ord, ToJSON, FromJSON, Generic)+  deriving (Show, Eq, Ord, ToJSON, FromJSON, G.Generic)  newtype ResourceType = ResourceType Text-  deriving (Show, Eq, Ord, ToJSON, FromJSON, Generic)--instance (ToSchema a, ToSchema b) => ToSchema (ResourceObject a b)-instance ToSchema ResourceId-instance ToSchema ResourceType+  deriving (Show, Eq, Ord, ToJSON, FromJSON, G.Generic)  instance (ToJSON a, ToJSON b) => ToJSON (ResourceObject a b) where   toJSON (ResourceObject resId resType resObj linksObj metaObj) =
stack.yaml view
@@ -2,7 +2,8 @@ # For more information, see: http://docs.haskellstack.org/en/stable/yaml_configuration/  # Specifies the GHC version and set of packages available (e.g., lts-3.5, nightly-2015-09-21, ghc-7.10.2)-resolver: lts-6.4+# resolver: lts-6.4+resolver: nightly-2016-07-03  # Local packages, usually specified by relative directory name packages:
test/Network/JSONApi/ResourceObjectSpec.hs view
@@ -5,7 +5,7 @@ import qualified Data.Map as Map import Data.Maybe (isJust, fromJust) import Data.Text (Text, pack)-import GHC.Generics (Generic)+import qualified GHC.Generics as G import Network.JSONApi.Document import Network.URL (URL, importURL) import TestHelpers (prettyEncode)@@ -16,7 +16,7 @@              , myName :: Text              , myAge :: Int              , myFavoriteFood :: Text-             } deriving (Show, Generic)+             } deriving (Show, G.Generic)  instance AE.ToJSON TestObject instance AE.FromJSON TestObject
test/TestHelpers.hs view
@@ -7,7 +7,7 @@ import qualified Data.Map as Map import Data.Monoid ((<>)) import Data.Text (Text, pack)-import GHC.Generics (Generic)+import qualified GHC.Generics as G import Network.JSONApi.Document import Network.URL (URL, importURL) @@ -22,12 +22,12 @@                      , myName :: Text                      , myAge :: Int                      , myFavoriteFood :: Text-                     } deriving (Show, Generic)+                     } deriving (Show, G.Generic)  data TestMetaObject =   TestMetaObject { totalPages :: Int                  , isSuperFun :: Bool-                 } deriving (Show, Generic)+                 } deriving (Show, G.Generic)  instance AE.ToJSON TestResourceObject instance AE.FromJSON TestResourceObject