9825d0695b
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`. |
||
---|---|---|
.. | ||
buildlink3.mk | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |