package yocaml
Core engine of the YOCaml Static Site Generator
Install
Dune Dependency
Authors
Maintainers
Sources
yocaml-2.1.0.tbz
sha256=e5ab173efd4c356dfee3e9af2165762ec4f1b5d38bdf1000d13e5eb6f18edbae
sha512=77ce2f269a6058c91ed75dee164cf9073147aa5d48c5dbdb2d6b282fc184d3a9b8155e772dd24acb8c0618ef7e47c0222bf65e13ecc3e08fab87351ea4f27192
doc/yocaml/Yocaml/Data/Validation/Syntax/index.html
Module Validation.Syntax
Source
Binding operators are used to link fields together to build a complete validation.
A typical usage is:
record (fun assoc ->
let+ field_a = required assoc "fieldA" validator_a
and+ field_b = optional assoc "fieldB" validator_b
and+ field_c = required associ "fieldB" validator_c in
{ field_a, field_b, field_c })
let+ x = v in k x
is map (fun x -> k x) v
.
let+ x = v and+ y = w in k x y
is map2 (fun x y -> k x y) v w
.
let* r = f x in return r
tries to produce a result Ok
from the expression f x
, if the expression returns Error _
, the computation chain is interrupted.
Warning: the semantics of let*
are significantly different from a succession of let+ ... and+ ...
which allow errors to be collected in parallel (independently), whereas let*
captures them sequentially. The composition of let*
and let+
is tricky and let*
should only be used to validate preconditions.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>