libero/json/runtime
Runtime helpers used by generated JSON decoders.
The Gleam fallback uses gleam/dynamic/decode. The JavaScript target
uses direct JS checks to avoid paying the dynamic decoder cost for every
envelope, constructor, and field lookup.
Values
pub fn array_at(
value value: dynamic.Dynamic,
index index: Int,
path path: String,
) -> Result(dynamic.Dynamic, List(error.JsonError))
pub fn array_length(
value value: dynamic.Dynamic,
path path: String,
) -> Result(Int, List(error.JsonError))
pub fn bool(
value value: dynamic.Dynamic,
path path: String,
) -> Result(Bool, List(error.JsonError))
pub fn expected_size_error(
path path: String,
expected expected: Int,
actual actual: Int,
) -> List(error.JsonError)
pub fn field(
value value: dynamic.Dynamic,
name name: String,
path path: String,
) -> Result(dynamic.Dynamic, List(error.JsonError))
pub fn field_string(
value value: dynamic.Dynamic,
name name: String,
path path: String,
) -> Result(String, List(error.JsonError))
pub fn float(
value value: dynamic.Dynamic,
path path: String,
) -> Result(Float, List(error.JsonError))
pub fn int(
value value: dynamic.Dynamic,
path path: String,
) -> Result(Int, List(error.JsonError))
pub fn list(
value value: dynamic.Dynamic,
path path: String,
) -> Result(List(dynamic.Dynamic), List(error.JsonError))
pub fn nil(
value value: dynamic.Dynamic,
path path: String,
) -> Result(Nil, List(error.JsonError))
pub fn object_entries(
value value: dynamic.Dynamic,
path path: String,
) -> Result(
List(#(String, dynamic.Dynamic)),
List(error.JsonError),
)
pub fn object_size(
value value: dynamic.Dynamic,
path path: String,
) -> Result(Int, List(error.JsonError))
pub fn pair_entries(
value value: dynamic.Dynamic,
path path: String,
) -> Result(
List(#(dynamic.Dynamic, dynamic.Dynamic)),
List(error.JsonError),
)
pub fn string(
value value: dynamic.Dynamic,
path path: String,
) -> Result(String, List(error.JsonError))