backend-0.1.0.0
LicenseAGPL-3
Maintainerstu235271@mail.uni-kiel.de stu236925@mail.uni-kiel.de
Safe HaskellNone
LanguageHaskell2010

Docs.MetaTree

Description

This module contains the definition of a tree with additional meta data such as labels, titles and allowed edit actions.

Synopsis

Documentation

data MetaNode a Source #

Like Docs.Tree.Node, but with ✨metadata✨.

Constructors

MetaNode 

Fields

Instances

Instances details
Foldable MetaNode Source # 
Instance details

Defined in Docs.MetaTree

Methods

fold :: Monoid m => MetaNode m -> m #

foldMap :: Monoid m => (a -> m) -> MetaNode a -> m #

foldMap' :: Monoid m => (a -> m) -> MetaNode a -> m #

foldr :: (a -> b -> b) -> b -> MetaNode a -> b #

foldr' :: (a -> b -> b) -> b -> MetaNode a -> b #

foldl :: (b -> a -> b) -> b -> MetaNode a -> b #

foldl' :: (b -> a -> b) -> b -> MetaNode a -> b #

foldr1 :: (a -> a -> a) -> MetaNode a -> a #

foldl1 :: (a -> a -> a) -> MetaNode a -> a #

toList :: MetaNode a -> [a] #

null :: MetaNode a -> Bool #

length :: MetaNode a -> Int #

elem :: Eq a => a -> MetaNode a -> Bool #

maximum :: Ord a => MetaNode a -> a #

minimum :: Ord a => MetaNode a -> a #

sum :: Num a => MetaNode a -> a #

product :: Num a => MetaNode a -> a #

Traversable MetaNode Source # 
Instance details

Defined in Docs.MetaTree

Methods

traverse :: Applicative f => (a -> f b) -> MetaNode a -> f (MetaNode b) #

sequenceA :: Applicative f => MetaNode (f a) -> f (MetaNode a) #

mapM :: Monad m => (a -> m b) -> MetaNode a -> m (MetaNode b) #

sequence :: Monad m => MetaNode (m a) -> m (MetaNode a) #

Functor MetaNode Source # 
Instance details

Defined in Docs.MetaTree

Methods

fmap :: (a -> b) -> MetaNode a -> MetaNode b #

(<$) :: a -> MetaNode b -> MetaNode a #

FromJSON a => FromJSON (MetaNode a) Source # 
Instance details

Defined in Docs.MetaTree

Methods

parseJSON :: Value -> Parser (MetaNode a)

parseJSONList :: Value -> Parser [MetaNode a]

omittedField :: Maybe (MetaNode a)

ToJSON a => ToJSON (MetaNode a) Source # 
Instance details

Defined in Docs.MetaTree

Methods

toJSON :: MetaNode a -> Value

toEncoding :: MetaNode a -> Encoding

toJSONList :: [MetaNode a] -> Value

toEncodingList :: [MetaNode a] -> Encoding

omitField :: MetaNode a -> Bool

Generic (MetaNode a) Source # 
Instance details

Defined in Docs.MetaTree

Associated Types

type Rep (MetaNode a) 
Instance details

Defined in Docs.MetaTree

type Rep (MetaNode a) = D1 ('MetaData "MetaNode" "Docs.MetaTree" "backend-0.1.0.0-2H73EnUlGVcEtlIi2XNQz3" 'False) (C1 ('MetaCons "MetaNode" 'PrefixI 'True) (S1 ('MetaSel ('Just "header") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NodeHeader) :*: S1 ('MetaSel ('Just "children") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Meta a])))

Methods

from :: MetaNode a -> Rep (MetaNode a) x #

to :: Rep (MetaNode a) x -> MetaNode a #

ToSchema a => ToSchema (MetaNode a) Source # 
Instance details

Defined in Docs.MetaTree

Methods

declareNamedSchema :: Proxy (MetaNode a) -> Declare (Definitions Schema) NamedSchema

type Rep (MetaNode a) Source # 
Instance details

Defined in Docs.MetaTree

type Rep (MetaNode a) = D1 ('MetaData "MetaNode" "Docs.MetaTree" "backend-0.1.0.0-2H73EnUlGVcEtlIi2XNQz3" 'False) (C1 ('MetaCons "MetaNode" 'PrefixI 'True) (S1 ('MetaSel ('Just "header") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NodeHeader) :*: S1 ('MetaSel ('Just "children") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Meta a])))

data MetaTree a Source #

Like Docs.Tree.Tree, but with ✨metadata✨.

Constructors

MetaTree (MetaNode a) 
MetaLeaf a 

Instances

Instances details
Foldable MetaTree Source # 
Instance details

Defined in Docs.MetaTree

Methods

fold :: Monoid m => MetaTree m -> m #

foldMap :: Monoid m => (a -> m) -> MetaTree a -> m #

foldMap' :: Monoid m => (a -> m) -> MetaTree a -> m #

foldr :: (a -> b -> b) -> b -> MetaTree a -> b #

foldr' :: (a -> b -> b) -> b -> MetaTree a -> b #

foldl :: (b -> a -> b) -> b -> MetaTree a -> b #

foldl' :: (b -> a -> b) -> b -> MetaTree a -> b #

foldr1 :: (a -> a -> a) -> MetaTree a -> a #

foldl1 :: (a -> a -> a) -> MetaTree a -> a #

toList :: MetaTree a -> [a] #

null :: MetaTree a -> Bool #

length :: MetaTree a -> Int #

elem :: Eq a => a -> MetaTree a -> Bool #

maximum :: Ord a => MetaTree a -> a #

minimum :: Ord a => MetaTree a -> a #

sum :: Num a => MetaTree a -> a #

product :: Num a => MetaTree a -> a #

Traversable MetaTree Source # 
Instance details

Defined in Docs.MetaTree

Methods

traverse :: Applicative f => (a -> f b) -> MetaTree a -> f (MetaTree b) #

sequenceA :: Applicative f => MetaTree (f a) -> f (MetaTree a) #

mapM :: Monad m => (a -> m b) -> MetaTree a -> m (MetaTree b) #

sequence :: Monad m => MetaTree (m a) -> m (MetaTree a) #

Functor MetaTree Source # 
Instance details

Defined in Docs.MetaTree

Methods

fmap :: (a -> b) -> MetaTree a -> MetaTree b #

(<$) :: a -> MetaTree b -> MetaTree a #

FromJSON a => FromJSON (MetaTree a) Source # 
Instance details

Defined in Docs.MetaTree

Methods

parseJSON :: Value -> Parser (MetaTree a)

parseJSONList :: Value -> Parser [MetaTree a]

omittedField :: Maybe (MetaTree a)

ToJSON a => ToJSON (MetaTree a) Source # 
Instance details

Defined in Docs.MetaTree

Methods

toJSON :: MetaTree a -> Value

toEncoding :: MetaTree a -> Encoding

toJSONList :: [MetaTree a] -> Value

toEncodingList :: [MetaTree a] -> Encoding

omitField :: MetaTree a -> Bool

Generic (MetaTree a) Source # 
Instance details

Defined in Docs.MetaTree

Associated Types

type Rep (MetaTree a) 
Instance details

Defined in Docs.MetaTree

type Rep (MetaTree a) = D1 ('MetaData "MetaTree" "Docs.MetaTree" "backend-0.1.0.0-2H73EnUlGVcEtlIi2XNQz3" 'False) (C1 ('MetaCons "MetaTree" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (MetaNode a))) :+: C1 ('MetaCons "MetaLeaf" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: MetaTree a -> Rep (MetaTree a) x #

to :: Rep (MetaTree a) x -> MetaTree a #

ToSchema a => ToSchema (MetaTree a) Source # 
Instance details

Defined in Docs.MetaTree

Methods

declareNamedSchema :: Proxy (MetaTree a) -> Declare (Definitions Schema) NamedSchema

type Rep (MetaTree a) Source # 
Instance details

Defined in Docs.MetaTree

type Rep (MetaTree a) = D1 ('MetaData "MetaTree" "Docs.MetaTree" "backend-0.1.0.0-2H73EnUlGVcEtlIi2XNQz3" 'False) (C1 ('MetaCons "MetaTree" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (MetaNode a))) :+: C1 ('MetaCons "MetaLeaf" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

data Meta a Source #

Wrapper around a MetaTree, but with ✨metadata✨.

Constructors

Meta 

Fields

Instances

Instances details
Foldable Meta Source # 
Instance details

Defined in Docs.MetaTree

Methods

fold :: Monoid m => Meta m -> m #

foldMap :: Monoid m => (a -> m) -> Meta a -> m #

foldMap' :: Monoid m => (a -> m) -> Meta a -> m #

foldr :: (a -> b -> b) -> b -> Meta a -> b #

foldr' :: (a -> b -> b) -> b -> Meta a -> b #

foldl :: (b -> a -> b) -> b -> Meta a -> b #

foldl' :: (b -> a -> b) -> b -> Meta a -> b #

foldr1 :: (a -> a -> a) -> Meta a -> a #

foldl1 :: (a -> a -> a) -> Meta a -> a #

toList :: Meta a -> [a] #

null :: Meta a -> Bool #

length :: Meta a -> Int #

elem :: Eq a => a -> Meta a -> Bool #

maximum :: Ord a => Meta a -> a #

minimum :: Ord a => Meta a -> a #

sum :: Num a => Meta a -> a #

product :: Num a => Meta a -> a #

Traversable Meta Source # 
Instance details

Defined in Docs.MetaTree

Methods

traverse :: Applicative f => (a -> f b) -> Meta a -> f (Meta b) #

sequenceA :: Applicative f => Meta (f a) -> f (Meta a) #

mapM :: Monad m => (a -> m b) -> Meta a -> m (Meta b) #

sequence :: Monad m => Meta (m a) -> m (Meta a) #

Functor Meta Source # 
Instance details

Defined in Docs.MetaTree

Methods

fmap :: (a -> b) -> Meta a -> Meta b #

(<$) :: a -> Meta b -> Meta a #

FromJSON a => FromJSON (Meta a) Source # 
Instance details

Defined in Docs.MetaTree

Methods

parseJSON :: Value -> Parser (Meta a)

parseJSONList :: Value -> Parser [Meta a]

omittedField :: Maybe (Meta a)

ToJSON a => ToJSON (Meta a) Source # 
Instance details

Defined in Docs.MetaTree

Methods

toJSON :: Meta a -> Value

toEncoding :: Meta a -> Encoding

toJSONList :: [Meta a] -> Value

toEncodingList :: [Meta a] -> Encoding

omitField :: Meta a -> Bool

Generic (Meta a) Source # 
Instance details

Defined in Docs.MetaTree

Associated Types

type Rep (Meta a) 
Instance details

Defined in Docs.MetaTree

type Rep (Meta a) = D1 ('MetaData "Meta" "Docs.MetaTree" "backend-0.1.0.0-2H73EnUlGVcEtlIi2XNQz3" 'False) (C1 ('MetaCons "Meta" 'PrefixI 'True) (S1 ('MetaSel ('Just "meta") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TocEntry) :*: S1 ('MetaSel ('Just "tree") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (MetaTree a))))

Methods

from :: Meta a -> Rep (Meta a) x #

to :: Rep (Meta a) x -> Meta a #

ToSchema a => ToSchema (Meta a) Source # 
Instance details

Defined in Docs.MetaTree

Methods

declareNamedSchema :: Proxy (Meta a) -> Declare (Definitions Schema) NamedSchema

type Rep (Meta a) Source # 
Instance details

Defined in Docs.MetaTree

type Rep (Meta a) = D1 ('MetaData "Meta" "Docs.MetaTree" "backend-0.1.0.0-2H73EnUlGVcEtlIi2XNQz3" 'False) (C1 ('MetaCons "Meta" 'PrefixI 'True) (S1 ('MetaSel ('Just "meta") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TocEntry) :*: S1 ('MetaSel ('Just "tree") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (MetaTree a))))

data TocEntry Source #

Information on how the node should be displayed in the Table of Contents.

Constructors

TocEntry 

Fields

Instances

Instances details
FromJSON TocEntry Source # 
Instance details

Defined in Docs.MetaTree

Methods

parseJSON :: Value -> Parser TocEntry

parseJSONList :: Value -> Parser [TocEntry]

omittedField :: Maybe TocEntry

ToJSON TocEntry Source # 
Instance details

Defined in Docs.MetaTree

Methods

toJSON :: TocEntry -> Value

toEncoding :: TocEntry -> Encoding

toJSONList :: [TocEntry] -> Value

toEncodingList :: [TocEntry] -> Encoding

omitField :: TocEntry -> Bool

Generic TocEntry Source # 
Instance details

Defined in Docs.MetaTree

Associated Types

type Rep TocEntry 
Instance details

Defined in Docs.MetaTree

type Rep TocEntry = D1 ('MetaData "TocEntry" "Docs.MetaTree" "backend-0.1.0.0-2H73EnUlGVcEtlIi2XNQz3" 'False) (C1 ('MetaCons "TocEntry" 'PrefixI 'True) (S1 ('MetaSel ('Just "label") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Result (Maybe Text)))))

Methods

from :: TocEntry -> Rep TocEntry x #

to :: Rep TocEntry x -> TocEntry #

ToSchema TocEntry Source # 
Instance details

Defined in Docs.MetaTree

Methods

declareNamedSchema :: Proxy TocEntry -> Declare (Definitions Schema) NamedSchema

type Rep TocEntry Source # 
Instance details

Defined in Docs.MetaTree

type Rep TocEntry = D1 ('MetaData "TocEntry" "Docs.MetaTree" "backend-0.1.0.0-2H73EnUlGVcEtlIi2XNQz3" 'False) (C1 ('MetaCons "TocEntry" 'PrefixI 'True) (S1 ('MetaSel ('Just "label") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Result (Maybe Text)))))

data TreeWithMetaData a Source #

Wrapper around the root of a tree, but with ✨metadata✨.

Constructors

TreeWithMetaData 

Fields

Instances

Instances details
Functor TreeWithMetaData Source # 
Instance details

Defined in Docs.MetaTree

Methods

fmap :: (a -> b) -> TreeWithMetaData a -> TreeWithMetaData b #

(<$) :: a -> TreeWithMetaData b -> TreeWithMetaData a #

FromJSON a => FromJSON (TreeWithMetaData a) Source # 
Instance details

Defined in Docs.MetaTree

Methods

parseJSON :: Value -> Parser (TreeWithMetaData a)

parseJSONList :: Value -> Parser [TreeWithMetaData a]

omittedField :: Maybe (TreeWithMetaData a)

ToJSON a => ToJSON (TreeWithMetaData a) Source # 
Instance details

Defined in Docs.MetaTree

Generic (TreeWithMetaData a) Source # 
Instance details

Defined in Docs.MetaTree

Associated Types

type Rep (TreeWithMetaData a) 
Instance details

Defined in Docs.MetaTree

type Rep (TreeWithMetaData a) = D1 ('MetaData "TreeWithMetaData" "Docs.MetaTree" "backend-0.1.0.0-2H73EnUlGVcEtlIi2XNQz3" 'False) (C1 ('MetaCons "TreeWithMetaData" 'PrefixI 'True) (S1 ('MetaSel ('Just "root") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Meta a)) :*: S1 ('MetaSel ('Just "metaMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map FullTypeName ProperTypeMeta))))
ToSchema a => ToSchema (TreeWithMetaData a) Source # 
Instance details

Defined in Docs.MetaTree

Methods

declareNamedSchema :: Proxy (TreeWithMetaData a) -> Declare (Definitions Schema) NamedSchema

type Rep (TreeWithMetaData a) Source # 
Instance details

Defined in Docs.MetaTree

type Rep (TreeWithMetaData a) = D1 ('MetaData "TreeWithMetaData" "Docs.MetaTree" "backend-0.1.0.0-2H73EnUlGVcEtlIi2XNQz3" 'False) (C1 ('MetaCons "TreeWithMetaData" 'PrefixI 'True) (S1 ('MetaSel ('Just "root") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Meta a)) :*: S1 ('MetaSel ('Just "metaMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map FullTypeName ProperTypeMeta))))

data TreeRevisionWithMetaData a Source #

Like Docs.TreeRevision.TreeRevision, but with ✨metadata✨.

Constructors

TreeRevisionWithMetaData 

Fields

Instances

Instances details
Functor TreeRevisionWithMetaData Source # 
Instance details

Defined in Docs.MetaTree

FromJSON a => FromJSON (TreeRevisionWithMetaData a) Source # 
Instance details

Defined in Docs.MetaTree

ToJSON a => ToJSON (TreeRevisionWithMetaData a) Source # 
Instance details

Defined in Docs.MetaTree

Generic (TreeRevisionWithMetaData a) Source # 
Instance details

Defined in Docs.MetaTree

Associated Types

type Rep (TreeRevisionWithMetaData a) 
Instance details

Defined in Docs.MetaTree

type Rep (TreeRevisionWithMetaData a) = D1 ('MetaData "TreeRevisionWithMetaData" "Docs.MetaTree" "backend-0.1.0.0-2H73EnUlGVcEtlIi2XNQz3" 'False) (C1 ('MetaCons "TreeRevisionWithMetaData" 'PrefixI 'True) (S1 ('MetaSel ('Just "revisionHeader") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TreeRevisionHeader) :*: S1 ('MetaSel ('Just "revision") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TreeWithMetaData a))))
ToSchema a => ToSchema (TreeRevisionWithMetaData a) Source # 
Instance details

Defined in Docs.MetaTree

Methods

declareNamedSchema :: Proxy (TreeRevisionWithMetaData a) -> Declare (Definitions Schema) NamedSchema

type Rep (TreeRevisionWithMetaData a) Source # 
Instance details

Defined in Docs.MetaTree

type Rep (TreeRevisionWithMetaData a) = D1 ('MetaData "TreeRevisionWithMetaData" "Docs.MetaTree" "backend-0.1.0.0-2H73EnUlGVcEtlIi2XNQz3" 'False) (C1 ('MetaCons "TreeRevisionWithMetaData" 'PrefixI 'True) (S1 ('MetaSel ('Just "revisionHeader") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TreeRevisionHeader) :*: S1 ('MetaSel ('Just "revision") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TreeWithMetaData a))))