package ppx_yojson
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Install
dune-project
Dependency
Authors
Maintainers
Sources
ppx_yojson-0.1.0.tbz
sha256=c1c4e07d81479fabfba79ef1816d06e48d93df5b613c4b036f9a464a2b9f826d
md5=39c9a36ad76a6d5ff657b8b290fb39c4
doc/README.html
ppx_yojson
PPX extension for Yojson literals and patterns
Overview
ppx_yojson lets you write Yojson expressions and patterns using ocaml syntax to make your code more concise and readable.
For example you can turn:
let json =
`List
[ `Assoc
[ ("name", `String "Anne")
; ("grades", `List [`String "A"; `String "B-"; `String "B+"]
]
; `Assoc
[ ("name", `String "Bernard")
; ("grades", `List [`String "B+"; `String "A"; `String "B-"]
]
]into:
let json =
[%yojson
[ {name = "Anne"; grades = ["A"; "B-"; "B+"]}
; {name = "Anne"; grades = ["A"; "B-"; "B+"]}
]
]Expressions
The expression rewriter supports the following Yojson values:
Null:[%yojson None]Bool of bool:[%yojson true]Float of float:[%yojson 1.2e+10]Int of int:[%yojson 0xff]. As long as the int literal in the payload fits in anint, the0x,0oand0bnotations are accepted.Intlit of string:[%yojson 100000000000000000000000000000000]. For arbitrary long integers,0x,0oand0bnotations are currently not supported and the rewriter will raise an error.String of string:[%yojson "abc"]List of json list:[%yojson [1; 2; 3]]. It supports mixed type list as well such as["a"; 2].Assoc of (string * json) list:[%yojson {a = 1; b = "b"}]- any valid combination of the above
The resulting expression are not constrained, meaning it works with Yojson.Safe or Yojson.Basic regardless.
Patterns
Currently unsupported, coming soon.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page