Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type Preview a = Getting (First a) Value a
- data Parser p a = Parser {
- parser_path :: p
- parser_default :: Maybe a
- parser_prism :: Preview a
- required :: p -> Preview a -> Parser p a
- optional :: p -> a -> Preview a -> Parser p a
- data ParseGIssue
- jSOP :: (All Typeable xs, IsProductType a xs) => (path -> [Text]) -> NP (Parser path) xs -> Value -> Either ParseGIssue a
- parseSField :: forall a p. Typeable a => Parser p a -> K (Int, Maybe Value) a -> Either ParseGIssue a
- type Paths = Trie Text (First Int, [Int])
- mkPath :: Int -> [Text] -> Paths
- mkPaths :: [[Text]] -> Paths
- treequery :: Paths -> Value -> ([(Int, Value)], [Int])
- getValues :: (p -> [Text]) -> [p] -> Value -> [Maybe Value]
Documentation
A parser that can handle missing values
Parser | |
|
optional :: p -> a -> Preview a -> Parser p a Source #
shortcut for parsers that have a default if value is missing
data ParseGIssue Source #
what wrong can happen
Instances
Eq ParseGIssue Source # | |
Defined in JSOP.Parse (==) :: ParseGIssue -> ParseGIssue -> Bool # (/=) :: ParseGIssue -> ParseGIssue -> Bool # | |
Show ParseGIssue Source # | |
Defined in JSOP.Parse showsPrec :: Int -> ParseGIssue -> ShowS # show :: ParseGIssue -> String # showList :: [ParseGIssue] -> ShowS # |
:: (All Typeable xs, IsProductType a xs) | |
=> (path -> [Text]) | |
-> NP (Parser path) xs | parsers for the indexed subvalues |
-> Value | json structure |
-> Either ParseGIssue a |