License | BSD-3-Clause |
---|---|
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
There are no modern, comprehensive JSON Schema parsing libraries in Haskell, as explained in post https://dev.to/sshine/a-review-of-json-schema-libraries-for-haskell-321.
Therefore, a bespoke parser for a small subset of JSON Schema is implemented here, simply for rendering Markdown documentation from Swarm's schema.
Synopsis
- data SchemaData = SchemaData {}
- data Members
- data ToplevelSchema = ToplevelSchema {
- title :: Text
- description :: Maybe Pandoc
- content :: SwarmSchema
- members :: Maybe Members
- footerPaths :: [FilePath]
Documentation
data SchemaData Source #
Includes everything needed to render the schema to markdown
data ToplevelSchema Source #
ToplevelSchema | |
|
Instances
FromJSON ToplevelSchema Source # | |
Defined in Swarm.Doc.Schema.Parse parseJSON :: Value -> Parser ToplevelSchema # parseJSONList :: Value -> Parser [ToplevelSchema] # | |
Show ToplevelSchema Source # | |
Defined in Swarm.Doc.Schema.Parse showsPrec :: Int -> ToplevelSchema -> ShowS # show :: ToplevelSchema -> String # showList :: [ToplevelSchema] -> ShowS # | |
Eq ToplevelSchema Source # | |
Defined in Swarm.Doc.Schema.Parse (==) :: ToplevelSchema -> ToplevelSchema -> Bool # (/=) :: ToplevelSchema -> ToplevelSchema -> Bool # | |
Ord ToplevelSchema Source # | |
Defined in Swarm.Doc.Schema.Parse compare :: ToplevelSchema -> ToplevelSchema -> Ordering # (<) :: ToplevelSchema -> ToplevelSchema -> Bool # (<=) :: ToplevelSchema -> ToplevelSchema -> Bool # (>) :: ToplevelSchema -> ToplevelSchema -> Bool # (>=) :: ToplevelSchema -> ToplevelSchema -> Bool # max :: ToplevelSchema -> ToplevelSchema -> ToplevelSchema # min :: ToplevelSchema -> ToplevelSchema -> ToplevelSchema # |