json-api-0.1.1.2: Utilities for generating JSON-API payloads

Safe HaskellNone
LanguageHaskell2010

Network.JSONApi.Meta

Description

Module representing a JSON-API meta object.

Specification: http://jsonapi.org/format/#document-meta

Synopsis

Documentation

data Meta Source #

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

Instances

Eq Meta Source # 

Methods

(==) :: Meta -> Meta -> Bool #

(/=) :: Meta -> Meta -> Bool #

Show Meta Source # 

Methods

showsPrec :: Int -> Meta -> ShowS #

show :: Meta -> String #

showList :: [Meta] -> ShowS #

Generic Meta Source # 

Associated Types

type Rep Meta :: * -> * #

Methods

from :: Meta -> Rep Meta x #

to :: Rep Meta x -> Meta #

Monoid Meta Source # 

Methods

mempty :: Meta #

mappend :: Meta -> Meta -> Meta #

mconcat :: [Meta] -> Meta #

ToJSON Meta Source # 
FromJSON Meta Source # 

Methods

parseJSON :: Value -> Parser Meta #

type Rep Meta Source # 
type Rep Meta = D1 (MetaData "Meta" "Network.JSONApi.Meta" "json-api-0.1.1.2-J3OYNh9O2lm3eKT5VaEijS" False) (C1 (MetaCons "Meta" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Object)))

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" @

Minimal complete definition

typeName

Methods

typeName :: a -> 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