jsonlogic
Values
pub fn apply(
rule: String,
to data: dynamic.Dynamic,
) -> Result(dynamic.Dynamic, error.EvaluationError)
Apply a JSONLogic rule to dynamic data.
Examples
jsonlogic.apply(
"{ \"var\" : \"a\" }",
dynamic.properties([
#(dynamic.string("a"), dynamic.int(1)),
#(dynamic.string("b"), dynamic.int(2)),
]),
)
// -> 1
pub fn apply_dynamic(
rule: dynamic.Dynamic,
to data: dynamic.Dynamic,
) -> Result(dynamic.Dynamic, error.EvaluationError)
Apply a dynamic JSONLogic rule to dynamic data.
Examples
let rules =
dynamic.properties([
#(
dynamic.string("and"),
dynamic.list([
dynamic.properties([
#(
dynamic.string("<"),
dynamic.list([
dynamic.properties([
#(dynamic.string("var"), dynamic.string("temp")),
]),
dynamic.int(110),
]),
),
#(
dynamic.string("=="),
dynamic.list([
dynamic.properties([
#(dynamic.string("var"), dynamic.string("pie.filling")),
]),
dynamic.string("apple"),
]),
),
]),
]),
),
])
let data =
dynamic.properties([
#(dynamic.string("temp"), dynamic.int(100)),
#(
dynamic.string("pie"),
dynamic.properties([
#(dynamic.string("filling"), dynamic.string("apple")),
]),
),
])
jsonlogic.apply(rules, data);
// -> True