| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
JSOP.Parse
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
Constructors
| Parser | |
Fields
| |
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
Constructors
| ParseGIssue (Int, Maybe Value, TypeRep) | |
| ParseGWrongNumberOfValues |
Instances
| Eq ParseGIssue Source # | |
Defined in JSOP.Parse | |
| Show ParseGIssue Source # | |
Defined in JSOP.Parse Methods showsPrec :: Int -> ParseGIssue -> ShowS # show :: ParseGIssue -> String # showList :: [ParseGIssue] -> ShowS # | |
Arguments
| :: (All Typeable xs, IsProductType a xs) | |
| => (path -> [Text]) | |
| -> NP (Parser path) xs | parsers for the indexed subvalues |
| -> Value | json structure |
| -> Either ParseGIssue a |