package melange-json-native
Compositional JSON encode/decode PPX for OCaml
Install
Dune Dependency
Authors
Maintainers
Sources
melange-json-2.0.0.tbz
sha256=5049c1694ac30f7de3dbffc10e9a01b83c3302b4147902d97c31b7482fdb2ad8
sha512=bcad995988dd4f5bfba1824e9ae5d4e12c1ea20dba6a943db04a2a112428dd78d09fd4cc87b5ca2f4fb08b0b5d4165b249953325b210170687d1a0ae47dd18a1
doc/CHANGES.html
2.0.0 (2025-03-11)
- [breaking] Library, PPX: Unify runtimes (
*.ppx-runtime
libraries are removed, can usemelange-json
andmelange-json-native
instead), replaceJson
module withMelange_json
, deprecateDecode
andEncode
modules, introduce new decoding error type and helper functionof_json_error_to_string
. (#36) - [breaking] PPX: Code to decode polyvariants doesn't use an additional
_poly
function which was also generated by the PPX. InsteadUnexpected_variant
error is used to signal that next decoder should be tried. (#32) - [breaking] Json.Decode.DecodeError exception now contains a variant type as payload instead of a string. (#32)
- [breaking] PPX: Rename
[@json.as]
to[@json.name]
(#23) - [breaking] PPX: Drop special encoding for enumeration-like variants (variants with each constructor having no arguments). (#26)
- [breaking] PPX: change JSON representation of polyvariants, make it compatible with ppx_deriving_yojson and ppx_yojson_conv (#27)
- [breaking] PPX: Consistent use of exceptions in runtime. (#28)
- PPX:
[@@deriving json]
now can be used within signatures (this includes.mli
files). (#32) - PPX: Add runtime for
result
(#13) - PPX: Add
yojson
as runtime dep for the native version (#15) - PPX: add
[@@json_string]
for deriving converters to/from JSON strings directly (#30) - PPX: add support for
int64
in the runtime (#33) - PPX: remove
string_to_json
usage on js side (#35) - PPX: Add array functions to native runtime (#37)
1.3.0 (2024-08-28)
- PPX: Qualify usages of infix operators with
Stdlib
(#11) - Add
melange-json-native
package (#12) - Add
[@drop_default]
attribute to dropNone
values from JSON representation (#17)
1.2.0 (2024-08-16)
- Port PPX from @andreypopp/ppx_deriving_json (#10)
1.1.0 (2024-02-03)
- Require Melange v3 (#6)
1.0.0 (2023-10-09)
- Initial release
Old versions changes (from bs-json)
5.0.4
- Rewrote
Encode.list
to be stack-safe and much faster.
5.0.2
- Added
Json.Decode.id
5.0.1
- Dual licensed as LGPL-3.0 and MPL-2.0. MPL is mostly equivalent to LGPL but relaxes its restriction on linking, which works better with the JavaScript packaging and distribution model.
5.0.0
- Removed deprecated
arrayOf
encoder - Renamed
dict
encoder tojsonDict
- Added new
dict
encoder that takes an additional encoder argument used to encode the contained values, and so it's consistent with the respectivedict
decoder.
4.0.0
- Bumped
bs-platform
peer dependency to 5.0.4 to stop the compiler's complaining.
3.0.0
- Replace usage of
Js.Date.toJSON
withJs.Date.toJSONUsafe
, which is exactly the same, just to avoid deprecation warnings for end users (Thanks Bob!) - Requires
bs-platform
>= 4.0.2
2.0.0
- Removed
Json.Decode.boolean
,Json.Encode.boolean
,Json.Encode.booleanArray
- Requires
bs-platform
>= 3.0.0
1.3.1
- Reverted commits that broke backwards compatibility despite only affecting the implementation
1.3.0
- Deprecated
Json.Decode.boolean
,Json.Encode.boolean
,Json.Encode.booleanArray
- Added
Json.Encode.boolArray
1.2.0
- Added
Json.Encode.char
andJson.Decode.char
1.1.0
- Added "stack traces" to higher-order decoders, making it easier to find the location of an error.
1.0.1
- Moved repository from
reasonml-community/bs-json
toglennsl/bs-json
- Renamed NPM package from
bs-json
to@glennsl/bs-json
1.0.0
- Replaced
Json.Encoder.array
withJson.Encode.arrayOf
renamed toarray
. DeprecatedarrayOf
alias. - Added
Json.parse
,Json.parseOrRaise
,Json.stringify
- Added
date
encoder and decoder - Added
tuple2
/tuple3
/tuple4
encoders and decoders - Fixed bug where js integers > 32-bit were rejected as integers by Json.Decode.int (#15)
0.2.4
- Added
Json.Encode.bool
- Added
Json.Encode.pair
- Added
Json.Encode.withDefault
- Added
Json.Encode.nullable
- Added
Json.Encode.arrayOf
- Added
Json.Encode.jsonArray
as replacement forJson.Encode.array
- Deprecated
Json.Encode.array
0.2.3
- Fixed embarrassing bug where an API was used that isn't available on IE (honestly more embarrassed on behalf of IE though)
0.2.2
- Added
Json.Decode.pair
0.2.1
- Added
Json.Encode.list
0.2.0
- Breaking: Renamed
Json.Encode.object_
toJson.Encode.dict
- Added
Json.Encode.object_
taking a list of properties instead of a Json.Dict.t as before
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page