Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Language.JSONSpec.Parser
Description
Parser for Ogma specs stored in JSON files.
Synopsis
- data JSONFormat = JSONFormat {
- specInternalVars :: Maybe String
- specInternalVarId :: String
- specInternalVarExpr :: String
- specInternalVarType :: Maybe String
- specExternalVars :: Maybe String
- specExternalVarId :: String
- specExternalVarType :: Maybe String
- specRequirements :: String
- specRequirementId :: String
- specRequirementDesc :: Maybe String
- specRequirementExpr :: String
- data JSONFormatInternal = JSONFormatInternal {
- jfiInternalVars :: Maybe [JSONPathElement]
- jfiInternalVarId :: [JSONPathElement]
- jfiInternalVarExpr :: [JSONPathElement]
- jfiInternalVarType :: Maybe [JSONPathElement]
- jfiExternalVars :: Maybe [JSONPathElement]
- jfiExternalVarId :: [JSONPathElement]
- jfiExternalVarType :: Maybe [JSONPathElement]
- jfiRequirements :: [JSONPathElement]
- jfiRequirementId :: [JSONPathElement]
- jfiRequirementDesc :: Maybe [JSONPathElement]
- jfiRequirementExpr :: [JSONPathElement]
- parseJSONFormat :: JSONFormat -> Either String JSONFormatInternal
- parseJSONSpec :: (String -> IO (Either String a)) -> JSONFormat -> Value -> IO (Either String (Spec a))
- valueToString :: String -> Value -> Either String String
- listToEither :: String -> [a] -> Either String a
- parseJSONPath :: Text -> Either String [JSONPathElement]
- showErrors :: Show a => Either a b -> Either String b
- showErrorsM :: Show a => Maybe (Either a b) -> Either String (Maybe b)
- except :: Monad m => Either e a -> ExceptT e m a
Documentation
data JSONFormat Source #
Constructors
Instances
Read JSONFormat Source # | |
Defined in Language.JSONSpec.Parser Methods readsPrec :: Int -> ReadS JSONFormat # readList :: ReadS [JSONFormat] # readPrec :: ReadPrec JSONFormat # readListPrec :: ReadPrec [JSONFormat] # |
data JSONFormatInternal Source #
Constructors
parseJSONSpec :: (String -> IO (Either String a)) -> JSONFormat -> Value -> IO (Either String (Spec a)) Source #
parseJSONPath :: Text -> Either String [JSONPathElement] Source #
Parse a JSONPath expression, returning its element components.