packages feed

waargonaut 0.2.0.0 → 0.2.0.1

raw patch · 4 files changed

+7/−3 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Waargonaut.Decode.Internal: instance (Waargonaut.Decode.Internal.CursorHistory' i Data.Type.Equality.~ t) => Control.Lens.Wrapped.Rewrapped (Waargonaut.Decode.Internal.CursorHistory' i) t
- Waargonaut.Decode.Types: instance (Waargonaut.Decode.Types.JCurs Data.Type.Equality.~ t) => Control.Lens.Wrapped.Rewrapped Waargonaut.Decode.Types.JCurs t
- Waargonaut.Encode: instance (Waargonaut.Encode.Encoder f a Data.Type.Equality.~ t) => Control.Lens.Wrapped.Rewrapped (Waargonaut.Encode.Encoder f a) t
- Waargonaut.Generic: --
- Waargonaut.Generic: -- '[ '[ Int ]
- Waargonaut.Generic: -- , '[ Tree, Tree ]
- Waargonaut.Generic: -- </pre>
- Waargonaut.Generic: -- <i>Example:</i> The datatype
- Waargonaut.Generic: -- <pre>
- Waargonaut.Generic: -- This is a list of lists of its components. The outer list contains one
- Waargonaut.Generic: -- ]
- Waargonaut.Generic: -- constructor argument (field).
- Waargonaut.Generic: -- data Tree = Leaf Int | Node Tree Tree
- Waargonaut.Generic: -- element per constructor. The inner list contains one element per
- Waargonaut.Generic: -- is supposed to have the following code:
- Waargonaut.Generic: -- type instance Code (Tree a) =
- Waargonaut.Generic: -- | Type-level datatype info
- Waargonaut.Generic: instance forall k (t :: k) a. Waargonaut.Generic.JsonDecode t a => Waargonaut.Generic.JsonDecode t (GHC.Maybe.Maybe a)
- Waargonaut.Generic: instance forall k (t :: k) a. Waargonaut.Generic.JsonEncode t a => Waargonaut.Generic.JsonEncode t (GHC.Maybe.Maybe a)
- Waargonaut.Types.JArray: instance (Waargonaut.Types.JArray.JArray ws a Data.Type.Equality.~ t) => Control.Lens.Wrapped.Rewrapped (Waargonaut.Types.JArray.JArray ws a) t
- Waargonaut.Types.JChar: instance (Waargonaut.Types.JChar.JCharUnescaped Data.Type.Equality.~ t) => Control.Lens.Wrapped.Rewrapped Waargonaut.Types.JChar.JCharUnescaped t
- Waargonaut.Types.JNumber: instance (Waargonaut.Types.JNumber.Frac Data.Type.Equality.~ t) => Control.Lens.Wrapped.Rewrapped Waargonaut.Types.JNumber.Frac t
- Waargonaut.Types.JObject: instance (Waargonaut.Types.JObject.JObject ws a Data.Type.Equality.~ t) => Control.Lens.Wrapped.Rewrapped (Waargonaut.Types.JObject.JObject ws a) t
- Waargonaut.Types.JObject: instance (Waargonaut.Types.JObject.MapLikeObj ws a Data.Type.Equality.~ t) => Control.Lens.Wrapped.Rewrapped (Waargonaut.Types.JObject.MapLikeObj ws a) t
- Waargonaut.Types.JString: instance (Waargonaut.Types.JString.JString' digit Data.Type.Equality.~ t) => Control.Lens.Wrapped.Rewrapped (Waargonaut.Types.JString.JString' digit) t
- Waargonaut.Types.Json: instance (Waargonaut.Types.Json.Json Data.Type.Equality.~ t) => Control.Lens.Wrapped.Rewrapped Waargonaut.Types.Json.Json t
- Waargonaut.Types.Whitespace: instance (Waargonaut.Types.Whitespace.WS Data.Type.Equality.~ t) => Control.Lens.Wrapped.Rewrapped Waargonaut.Types.Whitespace.WS t
+ Waargonaut.Decode.Internal: instance (Waargonaut.Decode.Internal.CursorHistory' i ~ t) => Control.Lens.Wrapped.Rewrapped (Waargonaut.Decode.Internal.CursorHistory' i) t
+ Waargonaut.Decode.Types: instance (Waargonaut.Decode.Types.JCurs ~ t) => Control.Lens.Wrapped.Rewrapped Waargonaut.Decode.Types.JCurs t
+ Waargonaut.Encode: instance (Waargonaut.Encode.Encoder f a ~ t) => Control.Lens.Wrapped.Rewrapped (Waargonaut.Encode.Encoder f a) t
+ Waargonaut.Generic: instance forall k (t :: k) a. Waargonaut.Generic.JsonDecode t a => Waargonaut.Generic.JsonDecode t (GHC.Base.Maybe a)
+ Waargonaut.Generic: instance forall k (t :: k) a. Waargonaut.Generic.JsonEncode t a => Waargonaut.Generic.JsonEncode t (GHC.Base.Maybe a)
+ Waargonaut.Types.JArray: instance (Waargonaut.Types.JArray.JArray ws a ~ t) => Control.Lens.Wrapped.Rewrapped (Waargonaut.Types.JArray.JArray ws a) t
+ Waargonaut.Types.JChar: instance (Waargonaut.Types.JChar.JCharUnescaped ~ t) => Control.Lens.Wrapped.Rewrapped Waargonaut.Types.JChar.JCharUnescaped t
+ Waargonaut.Types.JNumber: instance (Waargonaut.Types.JNumber.Frac ~ t) => Control.Lens.Wrapped.Rewrapped Waargonaut.Types.JNumber.Frac t
+ Waargonaut.Types.JObject: instance (Waargonaut.Types.JObject.JObject ws a ~ t) => Control.Lens.Wrapped.Rewrapped (Waargonaut.Types.JObject.JObject ws a) t
+ Waargonaut.Types.JObject: instance (Waargonaut.Types.JObject.MapLikeObj ws a ~ t) => Control.Lens.Wrapped.Rewrapped (Waargonaut.Types.JObject.MapLikeObj ws a) t
+ Waargonaut.Types.JString: instance (Waargonaut.Types.JString.JString' digit ~ t) => Control.Lens.Wrapped.Rewrapped (Waargonaut.Types.JString.JString' digit) t
+ Waargonaut.Types.Json: instance (Waargonaut.Types.Json.Json ~ t) => Control.Lens.Wrapped.Rewrapped Waargonaut.Types.Json.Json t
+ Waargonaut.Types.Whitespace: instance (Waargonaut.Types.Whitespace.WS ~ t) => Control.Lens.Wrapped.Rewrapped Waargonaut.Types.Whitespace.WS t
- Waargonaut: JArr :: JArray ws a -> ws -> JType ws a
+ Waargonaut: JArr :: (JArray ws a) -> ws -> JType ws a
- Waargonaut: JObj :: JObject ws a -> ws -> JType ws a
+ Waargonaut: JObj :: (JObject ws a) -> ws -> JType ws a
- Waargonaut: Json :: JType WS Json -> Json
+ Waargonaut: Json :: (JType WS Json) -> Json
- Waargonaut.Decode: Decoder :: (ParseFn -> JCurs -> DecodeResultT Count DecodeError f a) -> Decoder f a
+ Waargonaut.Decode: Decoder :: ParseFn -> JCurs -> DecodeResultT Count DecodeError f a -> Decoder f a
- Waargonaut.Decode: fromKey :: Monad f => Text -> Decoder f b -> JCurs -> DecodeResult f b
+ Waargonaut.Decode: fromKey :: (Monad f) => Text -> Decoder f b -> JCurs -> DecodeResult f b
- Waargonaut.Decode.Internal: Decoder' :: (c -> DecodeResultT i e f a) -> Decoder' c i e f a
+ Waargonaut.Decode.Internal: Decoder' :: c -> DecodeResultT i e f a -> Decoder' c i e f a
- Waargonaut.Decode.Traversal: fromKey :: Monad f => Text -> Decoder f b -> JCursor h Json -> DecodeResult f b
+ Waargonaut.Decode.Traversal: fromKey :: (Monad f) => Text -> Decoder f b -> JCursor h Json -> DecodeResult f b
- Waargonaut.Decode.Traversal: moveToKey :: (AsJType s ws s, Monad f) => Text -> JCursor h s -> DecodeResult f ((((h :>> s) :>> Elems ws (JAssoc ws s)) :>> JAssoc ws s) :>> s)
+ Waargonaut.Decode.Traversal: moveToKey :: (AsJType s ws s, Monad f) => Text -> JCursor h s -> DecodeResult f (h :>> s :>> Elems ws (JAssoc ws s) :>> JAssoc ws s :>> s)
- Waargonaut.Decode.Types: Decoder :: (ParseFn -> JCurs -> DecodeResultT Count DecodeError f a) -> Decoder f a
+ Waargonaut.Decode.Types: Decoder :: ParseFn -> JCurs -> DecodeResultT Count DecodeError f a -> Decoder f a
- Waargonaut.Encode: Encoder :: (a -> f Json) -> Encoder f a
+ Waargonaut.Encode: Encoder :: a -> f Json -> Encoder f a
- Waargonaut.Generic: Options :: (String -> String) -> NewtypeName -> Options
+ Waargonaut.Generic: Options :: String -> String -> NewtypeName -> Options
- Waargonaut.Generic: class All (SListI :: [Type] -> Constraint) Code a => Generic a where {
+ Waargonaut.Generic: class All (SListI :: [*] -> Constraint) Code a => Generic a where {
- Waargonaut.Generic: class Generic a => HasDatatypeInfo a where {
+ Waargonaut.Generic: class HasDatatypeInfo a where {
- Waargonaut.Generic: datatypeInfo :: HasDatatypeInfo a => proxy a -> DatatypeInfo (Code a)
+ Waargonaut.Generic: datatypeInfo :: HasDatatypeInfo a => proxy a -> DatatypeInfo Code a
- Waargonaut.Types.CommaSep: CommaSeparated :: ws -> Maybe (Elems ws a) -> CommaSeparated ws a
+ Waargonaut.Types.CommaSep: CommaSeparated :: ws -> (Maybe (Elems ws a)) -> CommaSeparated ws a
- Waargonaut.Types.JArray: JArray :: CommaSeparated ws a -> JArray ws a
+ Waargonaut.Types.JArray: JArray :: (CommaSeparated ws a) -> JArray ws a
- Waargonaut.Types.JChar: EscapedJChar :: JCharEscaped digit -> JChar digit
+ Waargonaut.Types.JChar: EscapedJChar :: (JCharEscaped digit) -> JChar digit
- Waargonaut.Types.JChar: Hex :: HexDigit4 digit -> JCharEscaped digit
+ Waargonaut.Types.JChar: Hex :: (HexDigit4 digit) -> JCharEscaped digit
- Waargonaut.Types.JNumber: Frac :: NonEmpty DecDigit -> Frac
+ Waargonaut.Types.JNumber: Frac :: (NonEmpty DecDigit) -> Frac
- Waargonaut.Types.JObject: JObject :: CommaSeparated ws (JAssoc ws a) -> JObject ws a
+ Waargonaut.Types.JObject: JObject :: (CommaSeparated ws (JAssoc ws a)) -> JObject ws a
- Waargonaut.Types.JString: JString' :: Vector (JChar digit) -> JString' digit
+ Waargonaut.Types.JString: JString' :: (Vector (JChar digit)) -> JString' digit
- Waargonaut.Types.Json: JArr :: JArray ws a -> ws -> JType ws a
+ Waargonaut.Types.Json: JArr :: (JArray ws a) -> ws -> JType ws a
- Waargonaut.Types.Json: JObj :: JObject ws a -> ws -> JType ws a
+ Waargonaut.Types.Json: JObj :: (JObject ws a) -> ws -> JType ws a
- Waargonaut.Types.Json: Json :: JType WS Json -> Json
+ Waargonaut.Types.Json: Json :: (JType WS Json) -> Json
- Waargonaut.Types.Whitespace: WS :: Vector Whitespace -> WS
+ Waargonaut.Types.Whitespace: WS :: (Vector Whitespace) -> WS

Files

changelog.md view
@@ -1,5 +1,9 @@ # Revision history for waargonaut +## 0.2.0.1  -- 2018-11-07++* Update `moveToKey` to record a successful movement to a key, before continuing+ ## 0.2.0.0  -- 2018-11-06  * Provide more precise errors from Decoder for missing or invalid keys
src/Waargonaut.hs view
@@ -81,7 +81,7 @@ --   o     <- D.down c --   name  <- D.fromKey "name" D.text o --   age   <- D.fromKey "age" D.int o---   addr  <- D.fromKey "age" D.text o+--   addr  <- D.fromKey "address" D.text o --   lotto <- D.fromKey "numbers" (D.list D.int) o --   pure $ Person name age addr lotto -- @
src/Waargonaut/Decode.hs view
@@ -430,7 +430,7 @@   -- Are we at the key we want to be at ?   if k' == k     -- Then move into the THING at the key-    then moveRight1 c+    then recordRank (DAt k) c >> moveRight1 c     -- Try jump to the next key index     else ( DI.try (moveRightN 2 c) <!?> (_KeyNotFound # k) ) >>= moveToKey k 
waargonaut.cabal view
@@ -10,7 +10,7 @@ -- PVP summary:      +-+------- breaking API changes --                   | | +----- non-breaking API additions --                   | | | +--- code changes with no API change-version:             0.2.0.0+version:             0.2.0.1  -- A short (one-line) description of the package. synopsis:            JSON wrangling