Safe Haskell | None |
---|---|
Language | Haskell2010 |
Module representing a JSON-API meta object.
Specification: http://jsonapi.org/format/#document-meta
Synopsis
- data Meta
- class ToJSON a => MetaObject a where
- mkMeta :: MetaObject a => a -> Meta
Documentation
Type representing a JSON-API meta object.
Meta is an abstraction around an underlying Map consisting of resource-specific metadata.
Example JSON:
"meta": {
"copyright": "Copyright 2015 Example Corp.",
"authors": [
"Andre Dawson",
"Kirby Puckett",
"Don Mattingly",
"Ozzie Guillen"
]
}
Specification: http://jsonapi.org/format/#document-meta
class ToJSON a => MetaObject a where Source #
Convienience class for constructing a Meta type
Example usage: @ data Pagination = Pagination { currentPage :: Int , totalPages :: Int } deriving (Show, Generic)
instance ToJSON Pagination instance MetaObject Pagination where typeName _ = "pagination" @
Instances
MetaObject Pagination Source # | Pagination can be used as a meta object if required in addition to the links generated for paging. |
Defined in Network.JSONApi.Pagination typeName :: Pagination -> Text Source # |
mkMeta :: MetaObject a => a -> Meta Source #
Convienience constructor function for the Meta type
Useful on its own or in combination with Meta's monoid instance
Example usage: See MetaSpec.hs for an example