package melange-json
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=5049c1694ac30f7de3dbffc10e9a01b83c3302b4147902d97c31b7482fdb2ad8
sha512=bcad995988dd4f5bfba1824e9ae5d4e12c1ea20dba6a943db04a2a112428dd78d09fd4cc87b5ca2f4fb08b0b5d4165b249953325b210170687d1a0ae47dd18a1
CHANGES.md.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
encoderRenamed
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 decoderAdded
tuple2
/tuple3
/tuple4
encoders and decodersFixed 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