datalogic-rs 4.0.21

A fast, type-safe Rust implementation of JSONLogic for evaluating logical rules as JSON. Perfect for business rules engines and dynamic filtering in Rust applications.
Documentation
[
  "# These are tests from https://github.com/orgs/json-logic/discussions/2",
  {
      "description": "Standard Max",
      "rule": { "max": [1, 2, 3] },
      "data": {},
      "result": 3
  },
  {
      "description": "Standard Max, Single Argument Sugared",
      "rule": { "max": 1 },
      "data": {},
      "result": 1
  },
  {
      "description": "Max with Logic Chaining",
      "rule": { "max": { "val": "data" } },
      "data": { "data": [1, 2, 3] },
      "result": 3
  },
  {
      "description": "Cat with Logic Chaining",
      "rule": { "cat": { "merge": [["Hello "], ["World", "!"]] } },
      "data": {},
      "result": "Hello World!"
  },
  {
      "description": "Cat with Logic Chaining (Simple)",
      "rule": { "cat": { "val": "text" } },
      "data": { "text": ["Hello ", "World", "!"] },
      "result": "Hello World!"
  },
  {
      "rule": {
          "max": {
              "map": [{
                  "filter": [
                    { "val": "people" }, 
                    { "===": [{ "val": "department" }, "Engineering"] }
                ]}, 
                { "val": "salary" }
            ]
          }
      },
      "data": {
          "people": [
            { "name": "Jay Ortiz", "salary": 100414, "department": "Engineering"},
            { "name": "Louisa Hall", "salary": 133601, "department": "Sales"},
            { "name": "Kyle Carlson", "salary": 139803, "department": "Sales"},
            { "name": "Grace Ortiz", "salary": 147068, "department": "Engineering"},
            { "name": "Isabelle Harrington", "salary": 112704, "department": "Marketing"},
            { "name": "Harold Moore", "salary": 125221, "department": "Sales"},
            { "name": "Clarence Schultz", "salary": 127985, "department": "Sales"},
            { "name": "Jesse Keller", "salary": 149212, "department": "Engineering"},
            { "name": "Phillip Holland", "salary": 105888, "department": "Marketing"},
            { "name": "Mason Sullivan", "salary": 147161, "department": "Engineering" }
          ]
      },
      "result": 149212,
      "description": "Max with Logic Chaining (Complex)"
  },
  {
    "description": "Addition Chained w/ Merge",
    "rule": { "+": { "merge": [{ "val": "x" }, { "val": "y" }] }},
    "result": 6,
    "data": { "x": [1, 2], "y": 3 }
  }
]