packages feed

jsonlogic-hs-0.1.0.0: test/community/var.extra.json

[
  {
    "description": "var returns false when key exists with false value",
    "rule": { "var": "active" },
    "data": { "active": false },
    "result": false
  },
  {
    "description": "var returns 0 when key exists with 0 value",
    "rule": { "var": "count" },
    "data": { "count": 0 },
    "result": 0
  },
  {
    "description": "var returns empty string when key exists with empty string",
    "rule": { "var": "name" },
    "data": { "name": "" },
    "result": ""
  },
  {
    "description": "var with default does NOT use default when value is false",
    "rule": { "var": ["active", true] },
    "data": { "active": false },
    "result": false
  },
  {
    "description": "var with default does NOT use default when value is 0",
    "rule": { "var": ["count", 99] },
    "data": { "count": 0 },
    "result": 0
  },
  {
    "description": "var with default does NOT use default when value is empty string",
    "rule": { "var": ["name", "anonymous"] },
    "data": { "name": "" },
    "result": ""
  },
  {
    "description": "var with default DOES use default when key is missing",
    "rule": { "var": ["missing", "default"] },
    "data": { "other": "value" },
    "result": "default"
  },
  {
    "description": "nested var returns false from nested path",
    "rule": { "var": "user.active" },
    "data": { "user": { "active": false } },
    "result": false
  },
  {
    "description": "nested var returns 0 from nested path",
    "rule": { "var": "user.score" },
    "data": { "user": { "score": 0 } },
    "result": 0
  },
  {
    "description": "equality check with false value from var",
    "rule": { "==": [{ "var": "is_beta" }, false] },
    "data": { "is_beta": false },
    "result": true
  },
  {
    "description": "negation of false value from var",
    "rule": { "!": [{ "var": "disabled" }] },
    "data": { "disabled": false },
    "result": true
  },
  {
    "description": "and with false value from var",
    "rule": { "and": [{ "var": "enabled" }, true] },
    "data": { "enabled": false },
    "result": false
  }
]