śĪTĪK-s      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc d e f g h i j k l m n o p q r (C) 2015-2016 Oleg GrenrusBSD3"Oleg Grenrus <oleg.grenrus@iki.fi>None,DT/Singleton string encoded and decoded as ifself. 2»> encode (SymTag :: SymTag "foobar") "\"foobar\"" :decode "\"foobar\"" :: Maybe (SymTag "foobar") Just SymTag 6decode "\"foobar\"" :: Maybe (SymTag "barfoo") NothingAvailable with: base >=4.7(C) 2015-2016 Oleg GrenrusBSD3"Oleg Grenrus <oleg.grenrus@iki.fi>None ,0234DT Singleton value object T» > decode "{\"value\": 42 }" :: Maybe (SingObject "value" Int) Just (SingObject 42) E» > encode (SingObject 42 :: SingObject "value" Int) "{\"value\":42}"Available with: base >=4.7     (C) 2015-2016 Oleg GrenrusBSD3"Oleg Grenrus <oleg.grenrus@iki.fi>None Create a s from string representation.This is useful in tests.Since: aeson-extra-0.3.1.0Like 6, but replace single quotes with double quotes before. >> $(mkValue' "{'a': 2 }") Object (fromList [("a",Number 2.0)])Since: aeson-extra-0.3.1.0(C) 2015-2016 Oleg GrenrusBSD3"Oleg Grenrus <oleg.grenrus@iki.fi>None0A type to parse tSince: aeson-extra-0.2.2.0A type to parse uv instance accepts for example: 82015-09-07T08:16:40.807Z 2015-09-07 11:16:40.807 +03:00 Latter format is accepted by aeson staring from version 0.10.0.0.See ihttps://github.com/bos/aeson/blob/4667ef1029a373cf4510f7deca147c357c6d8947/Data/Aeson/Parser/Time.hs#L150Since: aeson-extra-0.2.2.0  !"#$   !"#$(C) 2015-2016 Oleg GrenrusBSD3"Oleg Grenrus <oleg.grenrus@iki.fi>NoneT+ Lazyly parse w with top-level JSON array.Note:6 inspecting result's second field will force the list! let ~(values, err) = +A bs traverse_ processValue values maybe (pure ()) printError err x+++x+(C) 2015-2016 Oleg GrenrusBSD3"Oleg Grenrus <oleg.grenrus@iki.fi>None 02349;<=?4&A wrapper type to parse arbitrary maps m» > decode "{\"1\": 1, \"2\": 2}" :: Maybe (M (H.HashMap Int Int)) Just (M {getMap = fromList [(1,1),(2,2)]}),-./0123456789:;<=>?@ABCDEFG ,-./01234567 45623701./,-,-./0123456789:;<=>?@ABCDEFG(C) 2015-2016 Oleg GrenrusBSD3"Oleg Grenrus <oleg.grenrus@iki.fi>None 0234DROAn algebra of sSince: aeson-extra-0.3.1.0VA JSON "array" (sequence).Since: aeson-extra-0.3.1.0W A JSON "object" (key/value map).Since: aeson-extra-0.3.1.0 OPQRSTUVWXY OPQRSTUVW OPQRSTUWVOPQRSTUVWXY(C) 2015-2016 Oleg GrenrusBSD3"Oleg Grenrus <oleg.grenrus@iki.fi>NoneOTaGeneric merge. For example  https://lodash.com/docs#merge: ’¢lodashMerge :: Value -> Value -> Value lodashMerge x y = merge lodashMergeAlg x y lodashMergeAlg :: (a -> a -> a) -> ValueF a -> ValueF a -> ValueF a lodashMergeAlg r a' b' = case (a', b') of (ObjectF a, ObjectF b) -> ObjectF $ alignWith f a b (ArrayF a, ArrayF b) -> ArrayF $ alignWith f a b (_, b) -> b where f (These x y) = r x y f (This x) = x f (That x) = x Since: aeson-extra-0.3.1.0b$Generic merge, in arbitrary context.Since: aeson-extra-0.3.1.0ab OPQRSTUVWab abOPQRSTUWVab (C) 2015-2016 Oleg GrenrusBSD3"Oleg Grenrus <oleg.grenrus@iki.fi>None0234:cNCollapsed list, singleton is represented as the value itself in JSON encoding. š» > decode "null" :: Maybe (CollapsedList [Int] Int) Just (CollapsedList []) » > decode "42" :: Maybe (CollapsedList [Int] Int) Just (CollapsedList [42]) » > decode "[1, 2, 3]" :: Maybe (CollapsedList [Int] Int) Just (CollapsedList [1,2,3]) ™» > encode (CollapsedList ([] :: [Int])) "null" » > encode (CollapsedList ([42] :: [Int])) "42" » > encode (CollapsedList ([1, 2, 3] :: [Int])) "[1,2,3]"Documentation rely on f y instance behaving like lists'.f>Parses possibly collapsed array value from the object's field. ’g» > newtype V = V [Int] deriving (Show) » > instance FromJSON V where parseJSON = withObject "V" $ \obj -> V <$> parseCollapsedList obj "value" » > decode "{}" :: Maybe V Just (V []) » > decode "{\"value\": null}" :: Maybe V Just (V []) » > decode "{\"value\": 42}" :: Maybe V Just (V [42]) » > decode "{\"value\": [1, 2, 3, 4]}" :: Maybe V Just (V [1,2,3,4])cdefghijcdefcdefcdefghij (C) 2015-2016 Oleg GrenrusBSD3"Oleg Grenrus <oleg.grenrus@iki.fi>NonerLike z, but produces strict {.Since: 0.2.3.0rn|}~z€‚ƒ„…†‡ˆ‰Š‹ŒvŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬s­®Æ°±²³“µ¶·ø¹ŗ»¼  +,-./01234567OPQRSTUVWacdefr*r45623701./,- cdef OPQRSTUWVa+r½     !"#$$%&&'()*+,-./0123456789:;;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[WV\]^_`abcdef g g h i j k l m n o p q r s t uvwxyz{y|}v~€‚ƒ„…†v‡ˆ€‰‚v‡Šv‡‹v‡Œv‡vŽv~v~‘v~’v~“v~”v~•v~–v~—v~˜v~™v~šv~›v~œv~v~žvŸ vŸ”vŸ¢vŸ£vŸ¤vŸ„vŸ¦vŸ§vŸØvŸ©vŸŖvŸ«vŸ¬v­®v­Æv­°v­±v²³v²“v²µv²¶vw·vwøvw¹vwŗvw»vw¼vw½vw¾vwævw½vw¾vwĄvwĮvwĀvwĆvwĆvwÄÅĘĒÅĘČÅĘÉÅĘŹÅĘĖÅĘĢÅĘĢĶ*aeson-extra-0.4.0.0-7VkJsbkhsHT5zdRxmKqeTLData.Aeson.Extra.SymTagData.Aeson.Extra.SingObjectData.Aeson.Extra.THData.Aeson.Extra.TimeData.Aeson.Extra.StreamData.Aeson.Extra.MapData.Aeson.Extra.FoldableData.Aeson.Extra.MergeData.Aeson.Extra.CollapsedListData.Aeson.ExtraSymTag$fToJSONSymTag$fFromJSONSymTag $fEqSymTag $fOrdSymTag $fShowSymTag $fReadSymTag $fEnumSymTag$fBoundedSymTag SingObject mkSingObject getSingObject$fToJSONSingObject$fFromJSONSingObject$fToJSON1SingObject$fFromJSON1SingObject$fEqSingObject$fOrdSingObject$fShowSingObject$fReadSingObject$fFunctorSingObject$fFoldableSingObject$fTraversableSingObjectmkValuemkValue'ZgetZUgetU $fFromJSONZ $fToJSONZ $fFromJSONU $fToJSONU$fEqU$fOrdU$fShowU$fReadU$fShowZ$fReadZ streamDecode ToJSONMap toJSONMap ToJSONKey toJSONKey FromJSONMap parseJSONMap FromJSONKey parseJSONKeyMgetMapparseIntegralJSONKey $fToJSONM$fToJSONMapMapkv$fToJSONMapHashMapkv$fToJSONKeyInteger$fToJSONKeyInt $fToJSONKey[]$fToJSONKeyText$fToJSONKeyText0 $fFromJSONM$fFromJSONMapMapkv$fFromJSONMapHashMapkv$fFromJSONKeyInteger$fFromJSONKeyInt$fFromJSONKey[]$fFromJSONKeyText$fFromJSONKeyText0$fEqM$fOrdM$fShowM$fReadM $fFunctorM $fFoldableM$fTraversableMValueFObjectFArrayFStringFNumberFBoolFNullF$fCorecursiveValue$fRecursiveValue $fEqValueF $fReadValueF $fShowValueF $fDataValueF$fFunctorValueF$fFoldableValueF$fTraversableValueFmergemergeA CollapsedListgetCollapsedListparseCollapsedList$fFromJSONCollapsedList$fToJSONCollapsedList$fToJSON1CollapsedList$fFromJSON1CollapsedList$fEqCollapsedList$fOrdCollapsedList$fShowCollapsedList$fReadCollapsedList$fFunctorCollapsedList$fFoldableCollapsedList$fTraversableCollapsedList encodeStrict$aeson-1.0.1.0-3tMWhptxUFZKFOuFribGIxData.Aeson.Types.InternalValue time-1.6.0.1Data.Time.LocalTime.LocalTime ZonedTimeData.Time.Clock.UTCUTCTimeData.Aeson.Types.FromJSONFromJSONbytestring-0.10.8.1Data.ByteString.Lazy.Internal ByteString streamParsebaseGHC.Base Alternative Data.AesonencodeData.ByteString.InternaleitherDecodeStrict' eitherDecode'eitherDecodeStrict eitherDecodeData.Aeson.Typesfoldable.!=.:!.:fromJSONwithBoolwithScientific withNumber withArraywithText withObjectgenericParseJSON GFromJSON gParseJSON parseJSON parseJSONListData.Aeson.Types.ToJSONgenericToEncoding genericToJSONGToJSONgToJSON GToEncoding gToEncodingToJSONtoJSON toEncoding toJSONListtoEncodingListKeyValue.=Data.Aeson.Parser.Internalvalue'valuejson'jsonData.Aeson.Encoding.Internalpairs fromEncodingEncodingSeriesdefaultOptionsobjectResultErrorSuccessParserObjectArrayBoolStringNumberNull DotNetTimefromDotNetTime)aeson-compat-0.3.6-6DhD51jKIulKvkgFGR2SDEData.Aeson.Compat.:? decodeStrict' decodeStrictdecode'decodeAesonException