Path to this page:
Subject: CVS commit: pkgsrc/converters/hs-lens-aeson
From: Makoto Fujiwara
Date: 2022-08-28 23:38:42
Message id: 20220828213842.E75D2FA82@cvs.NetBSD.org
Log Message:
(converters/hs-lens-aeson) Updated 1.1.3 to 1.2.2
1.2.2 [2022.08.11]
------------------
* Add `atKey :: AsValue t => Key -> Traversal' t (Maybe Value)`, a variant of
`key` that uses `at` instead of `ix`.
1.2.1 [2022.05.07]
------------------
* Change the `IsKey` instances for `ByteString`s to use
`decodeUtf8With lenientDecode` instead of `decodeUtf8`. While these `IsKey`
instances are meant to used for interoperability with `aeson` values that
are UTF-8–encoded, using `decodeUtf8With lenientDecode` at least ensures
that converting a non–UTF-8–encoded `ByteString` will not crash.
1.2 [2022.03.19]
----------------
* Require `aeson-2.0.2.*` and `lens-5.0.*` or greater.
* Change the types of `_Object`, `key`, and `members`:
```diff
-_Object :: Prism' t (HashMap Text Value)
+_Object :: Prism' t (KeyMap Value)
-key :: AsValue t => Text -> Traversal' t Value
+key :: AsValue t => Key -> Traversal' t Value
-members :: AsValue t => IndexedTraversal' Text t Value
+members :: AsValue t => IndexedTraversal' Key t Value
```
This mirrors similar changes made in `aeson-2.0.*`, where the type of
`Object`'s field was changed from `HashMap Text Value` to `KeyMap Value`.
The `Ixed Value` instance changes similarly:
```diff
-type instance Index Value = Text
+type instance Index Value = Key
```
* Remove `Primitive` and `AsPrimitive`, since https://tools.ietf.org/html/rfc7159
de-emphasized the notion of primitive versus composite JSON values.
* The `AsPrimitive` methods (`_Value`, `_String`, and `_Bool`) are now
`AsValue` methods.
* `_Number`'s default signature, `Bool_`, `String_`, and `Null_` now have an
`AsValue` constraint.
* Add `Wrapped` and `Rewrapped` instances for `KeyMap`. These treat `KeyMap v`
as a wrapper around `[(Key, v)]`. The order in which the key-value pairs
appear in this list is not stable.
* Add an `IsKey` class, whose method `_Key` is an `Iso` for converting values
to and from a `Key`.
Files: