./converters/hs-lens-aeson, Law-abiding lenses for aeson

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.2.3nb2, Package name: hs-lens-aeson-1.2.3nb2, Maintainer: pkgsrc-users

The goal of lens-aeson is to provide traversals and prisms for the Aeson
library's Value type, while obeying the Traversal/Prism laws.


Master sites:

Filesize: 8.079 KB

Version history: (Expand)


CVS history: (Expand)


   2023-11-02 07:37:49 by Masatake Daimon | Files touched by this commit (1141)
Log message:
Revbump all Haskell after updating lang/ghc96
   2023-10-30 19:55:53 by Masatake Daimon | Files touched by this commit (4)
Log message:
converters/hs-lens-aeson: Update to 1.2.3

1.2.3 [2023.06.27]
* Use aeson's decode function in the AsJSON instance for ByteStrings. This
  allows removing a direct dependency on attoparsec.
* Allow building with aeson-2.2.
   2023-10-09 06:55:01 by Masatake Daimon | Files touched by this commit (988)
Log message:
Bump Haskell packages after updating lang/ghc94
   2022-08-28 23:38:42 by Makoto Fujiwara | Files touched by this commit (2)
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`.
   2022-08-20 10:08:24 by Thomas Klausner | Files touched by this commit (211)
Log message:
hs*: recursive bump for new dependencies needed

for hs-aeson, hs-vector
   2022-02-26 04:58:36 by Masatake Daimon | Files touched by this commit (872)
Log message:
Bump all Haskell packages after enabling "split sections" in mk/haskell.mk
   2022-02-16 11:01:34 by Masatake Daimon | Files touched by this commit (5)
Log message:
converters/hs-lens-aeson: import hs-lens-aeson-1.1.3

The goal of lens-aeson is to provide traversals and prisms for the Aeson
library's Value type, while obeying the Traversal/Prism laws.