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
[
  "Merge arrays",
  { "description": "{\"merge\":[]}", "rule": {"merge": []}, "data": null, "result": [] },
  {
    "description": "{\"merge\":[[1]]}",
    "rule": {"merge": [[1]]},
    "data": null,
    "result": [1]
  },
  {
    "description": "{\"merge\":[[1],[]]}",
    "rule": {"merge": [[1], []]},
    "data": null,
    "result": [1]
  },
  {
    "description": "{\"merge\":[[1],[2]]}",
    "rule": {"merge": [[1], [2]]},
    "data": null,
    "result": [1, 2]
  },
  {
    "description": "{\"merge\":[[1],[2],[3]]}",
    "rule": {"merge": [[1], [2], [3]]},
    "data": null,
    "result": [1, 2, 3]
  },
  {
    "description": "{\"merge\":[[1,2],[3]]}",
    "rule": {"merge": [[1, 2], [3]]},
    "data": null,
    "result": [1, 2, 3]
  },
  {
    "description": "{\"merge\":[[1],[2,3]]}",
    "rule": {"merge": [[1], [2, 3]]},
    "data": null,
    "result": [1, 2, 3]
  },

  "Given non-array arguments, merge converts them to arrays",
  { "description": "{\"merge\":1}", "rule": {"merge": 1}, "data": null, "result": [1] },
  {
    "description": "{\"merge\":[1,2]}",
    "rule": {"merge": [1, 2]},
    "data": null,
    "result": [1, 2]
  },
  {
    "description": "{\"merge\":[1,[2]]}",
    "rule": {"merge": [1, [2]]},
    "data": null,
    "result": [1, 2]
  },

  "Merge ignores null values",
  {
    "description": "Merge should ignore null values in arrays",
    "rule": {"merge": [[1, null, 2], null, [3, null, 4]]},
    "data": null,
    "result": [1, 2, 3, 4]
  },
  {
    "description": "Merge should skip null arguments",
    "rule": {"merge": [null, [1, 2], null, [3, 4], null]},
    "data": null,
    "result": [1, 2, 3, 4]
  },
  {
    "description": "Merge with all nulls should return empty array",
    "rule": {"merge": [null, null, null]},
    "data": null,
    "result": []
  },
  {
    "description": "Merge with null inside arrays",
    "rule": {"merge": [[null], [null, null], [null]]},
    "data": null,
    "result": []
  },
  {
    "description": "Merge with mixed values and nulls",
    "rule": {"merge": [1, null, [2, null], 3, [null, 4, null]]},
    "data": null,
    "result": [1, 2, 3, 4]
  }
]