distributed 4.4.0

CQRS/ES framework for Rust using Plain Old Rust Structs — append-only events, replay, snapshots, outbox, service bus, and pluggable infrastructure
Documentation
{
  "records": [
    { "id": "1", "priority": 2, "completed": false },
    { "id": "2", "priority": 5, "completed": true },
    { "id": "3", "priority": 3, "completed": true },
    { "id": "4", "priority": 1, "completed": false },
    { "id": "5", "priority": 4, "completed": true }
  ],
  "cases": [
    {
      "name": "numeric-range",
      "where": { "priority": { "_gte": 2, "_lt": 5 } },
      "orderBy": [{ "priority": "asc" }],
      "limit": 25,
      "offset": 0,
      "expected": ["1", "3", "5"]
    },
    {
      "name": "boolean-and-in",
      "where": {
        "_and": [
          { "completed": { "_eq": true } },
          { "priority": { "_in": [3, 4, 5] } }
        ]
      },
      "orderBy": [{ "priority": "desc" }],
      "limit": 2,
      "offset": 0,
      "expected": ["2", "5"]
    },
    {
      "name": "or-not-offset-window",
      "where": {
        "_or": [
          { "priority": { "_lte": 2 } },
          { "_not": { "completed": { "_eq": false } } }
        ]
      },
      "orderBy": [{ "completed": "desc" }, { "priority": "asc" }],
      "limit": 2,
      "offset": 1,
      "expected": ["5", "2"]
    },
    {
      "name": "empty-in-is-false",
      "where": { "priority": { "_in": [] } },
      "orderBy": [{ "priority": "asc" }],
      "limit": 25,
      "offset": 0,
      "expected": []
    }
  ]
}