Îõ³h$(¢%„ÿ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None%aeson-better-errorsA version of catchJust from Control.Exception.Base, except for any instance of €.aeson-better-errorsPredicate to select exceptionsaeson-better-errorsComputation to runaeson-better-errorsHandler‚ƒ„…†‡None 5ÎÑ#Ý;aeson-better-errorsÀAn enumeration of the different types that JSON values may take.aeson-better-errorsÊThe type of error specifics which never involve custom validation errors.aeson-better-errorsDetailed information in the case where a value could be parsed as JSON, but a value of the required type could not be constructed from it, for some reason. aeson-better-errorsExpected type, actual value aeson-better-errorsAn error arising inside a ˆ instance.aeson-better-errorsÇThe type of parse errors which never involve custom validation errors.aeson-better-errorsÃA value indicating that the JSON could not be decoded successfully.aeson-better-errorsïIndicates a syntax error in the JSON string. Unfortunately, in this case, Aeson's errors are not very helpful.aeson-better-errors¶Indicates a decoding error; the input was parsed as JSON successfully, but a value of the required type could not be constructed, perhaps because of a missing key or type mismatch.aeson-better-errorsÃA piece of a path leading to a specific part of the JSON data. Internally, a list of these is maintained as the parser traverses the JSON data. This list is included in the error if one occurs.aeson-better-errorsData used internally by the  type.aeson-better-errorsÁThe type of parsers which never produce custom validation errors.aeson-better-errors This is the standard version of  over the ‰! Monad, for running pure parsers.aeson-better-errors‰The type of parsers: things which consume JSON values and produce either detailed errors or successfully parsed values (of other types).The err² type parameter is for custom validation errors; for parsers that don't produce any custom validation errors, I recommend you just stick a type variable in for full generality: Þ asTuple :: Parse e (Int, Int) asTuple = (,) <$> nth 0 asIntegral <*> nth 1 asIntegral The mâ parameter allows you to run the parser within an abitrary underlying Monad. You may want to use È in most cases instead, and all functions in this module work on either.!aeson-better-errorsÀTransform the error of a parser according to the given function."aeson-better-errorsAn infix version of !.#aeson-better-errorsðFirst try the left parser, if that fails try the right. | If both fail, the error will come from the right one.&aeson-better-errorsLike '6 but runs the parser on an arbitrary underlying Monad.'aeson-better-errorsRun a parser with a lazy Š‹ containing JSON data. Note that the normal caveat applies: the JSON supplied must contain either an object or an array for this to work.(aeson-better-errorsLike )6 but runs the parser on an arbitrary underlying Monad.)aeson-better-errorsRun a parser with a strict ‹‹ containing JSON data. Note that the normal caveat applies: the JSON supplied must contain either an object or an array for this to work.*aeson-better-errorsLike +6 but runs the parser on an arbitrary underlying Monad.+aeson-better-errors$Run a parser with a pre-parsed JSON Œ.,aeson-better-errors(This function is useful when you have a  err a) and you want to obtain an instance for ˆ a. Simply define: 8 parseJSON = toAesonParser showMyCustomError myParser -aeson-better-errors§Take a parser which never produces custom validation errors and turn it into an Aeson parser. Note that in this case, there is no need to provide a display function..aeson-better-errors–Create a parser for any type, using its FromJSON instance. Generally, you should prefer to write parsers using the other functions in this module; H, ?ò, etc, since they will usually generate better error messages. However this function is also useful occasionally.2aeson-better-errorsTurn a  into a human-readable list of Õ values. They will be in a sensible order. For example, you can feed the result to  mapM putStrLn, or unlines.3aeson-better-errors A version of 2< for parsers which do not produce custom validation errors.6aeson-better-errors A version of 5< for parsers which do not produce custom validation errors.7aeson-better-errorsGet the type of a JSON value.:aeson-better-errors#Lift any parsing function into the  type.;aeson-better-errors‹Aborts parsing, due to an error in the structure of the JSON - that is, any error other than the JSON not actually being parseable into a Œ.=aeson-better-errorsReturn the current JSON Œå as is. This does no error checking and thus always succeeds. You probably don't want this parser unless the JSON at the current part of your structure is truly arbitrary. You should prefer to use more specific parsers, like > or A, where possible.>aeson-better-errorsParse a single JSON string as .?aeson-better-errors Parse a single JSON string as a Ž.@aeson-better-errors Parse a single JSON number as a .Aaeson-better-errors"Parse a single JSON number as any  type.Baeson-better-errors"Parse a single JSON number as any ‘ type.Caeson-better-errors!Parse a single JSON boolean as a ’.Daeson-better-errorsParse a JSON object, as an “$. You should prefer functions like RÉ where possible, since they will usually generate better error messages.Eaeson-better-errorsParse a JSON array, as an ”$. You should prefer functions like PÉ where possible, since they will usually generate better error messages.Faeson-better-errorsîParse a single JSON null value. Useful if you want to throw an error in the case where something is not null.Gaeson-better-errors9Given a parser, transform it into a parser which returns Nothing when supplied with a JSON nullå, and otherwise, attempts to parse with the original parser; if this succeeds, the result becomes a Just value.Haeson-better-errorsÂTake the value corresponding to a given key in the current object.Iaeson-better-errors…Take the value corresponding to a given key in the current object, or if no property exists with that key, use the supplied default.Jaeson-better-errorsüTake the value corresponding to a given key in the current object, or if no property exists with that key, return Nothing .Laeson-better-errors(Take the nth value of the current array.Maeson-better-errorsêTake the nth value of the current array, or if no value exists with that index, use the supplied default.Naeson-better-errorsàTake the nth value of the current array, or if no value exists with that index, return Nothing.Paeson-better-errorsÙAttempt to parse each value in the array with the given parser, and collect the results.Qaeson-better-errorsïParse each property in an object with the given parser, given the key as an argument, and collect the results.Raeson-better-errorsãAttempt to parse each property value in the object with the given parser, and collect the results.Saeson-better-errors¡Attempt to parse each property in the object: parse the key with the given validation function, parse the value with the given parser, and collect the results.Taeson-better-errorsÑLifts a function attempting to validate an arbitrary JSON value into a parser. You should only use this if absolutely necessary; the other functions in this module will generally give better error reporting.eaeson-better-errorsPrefer to use functions like H or RÊ to this one where possible, as they will generate better error messages.faeson-better-errorsPrefer to use functions like H or RÊ to this one where possible, as they will generate better error messages.gaeson-better-errorsPrefer to use functions like L or PÊ to this one where possible, as they will generate better error messages.haeson-better-errorsPrefer to use functions like L or PÊ to this one where possible, as they will generate better error messages.iaeson-better-errors Throw a custom validation error.ë  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijë !"#$%&'()*+,-./0 123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij#3None$ØÓ !"#&'()*+,-.234567=>?@ABCDEFGHIJLMNPQRSTUYZ[\]^_`abcdefghiÓ!"#=>?@ABCFDEGHIJLMNPQRSTZ\^`bdfhiUY[]_aceg')+&(* 23456,-.7•      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”’•”Œ–—˜™š›œžŸ ¡¢£¤¥¦Œ–§Œ–¨©2aeson-better-errors-0.9.1.1-9NzOIScTQfxFe0pTzpyxB1 Data.Aeson.BetterErrors.InternalData.Aeson.BetterErrors.UtilsData.Aeson.BetterErrorsJSONTypeTyObjectTyArrayTyStringTyNumberTyBoolTyNullErrorSpecifics'ErrorSpecifics KeyMissing OutOfBounds WrongTypeExpectedIntegral FromAeson CustomError ParseError' ParseError InvalidJSON BadSchema PathPiece ObjectKey ArrayIndex ParseReaderrdrPathrdrValueParse'ParseParseT runParseTrunParse mapParseTmapError.!<|> runParserT runParserparseMparse parseStrictM parseStrict parseValueM parseValue toAesonParsertoAesonParser'fromAesonParser appendPathsetValuedisplayJSONType displayError displayError' displayPathdisplaySpecificsdisplaySpecifics' jsonTypeOf liftParseT liftParseM liftParse badSchemaasasValueasTextasString asScientific asIntegral asRealFloatasBoolasObjectasArrayasNullperhapskey keyOrDefaultkeyMaykey'nth nthOrDefaultnthMaynth' eachInArrayforEachInObject eachInObjecteachInObjectWithKey withValue withValueM liftEitherwithMwith withTextMwithText withStringM withStringwithScientificMwithScientific withIntegralM withIntegralwithRealFloatM withRealFloat withBoolMwithBool withObjectM withObject withArrayM withArraythrowCustomError liftCustomT$fMonadTransParseT$fFunctorParseT$fApplicativeParseT $fMonadParseT$fMonadReaderParseReaderParseT$fMonadErrorParseErrorParseT$fShowParseError$fEqParseError$fFunctorParseError$fShowErrorSpecifics$fEqErrorSpecifics$fFunctorErrorSpecifics$fShowJSONType $fEqJSONType $fOrdJSONType$fEnumJSONType$fBoundedJSONType$fShowPathPiece $fEqPathPiece$fOrdPathPiece catchJust mtl-2.2.2Control.Monad.Error.Class MonadErrortshowpatNull patString patNumberpatBool patObjectpatArray$aeson-2.0.3.0-HoBWSDM3qT941k5ljFeQlIData.Aeson.Types.FromJSONFromJSONbaseData.Functor.IdentityIdentitybytestring-0.10.10.0Data.ByteString.Lazy.Internal ByteStringData.ByteString.InternalData.Aeson.Types.InternalValue text-1.2.3.2Data.Text.InternalTextGHC.BaseString)scientific-0.3.7.0-CVkDd4pfRjRKhb36xA8sm5Data.Scientific ScientificGHC.RealIntegral GHC.Float RealFloatghc-prim GHC.TypesBoolObjectArray