{
  "source": {
    "file": "test/resource/component/observation/expression/expression.template.rs",
    "cases": "test/resource/component/observation/expression/cases.json"
  },
  "functions": [
    {
      "function": "any",
      "tags": [
        "expression",
        "any",
        "empty",
        "whitespace",
        "nonempty"
      ],
      "cases": [
        {
          "parameters": {
            "input": ""
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "  "
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core"
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "evaluate",
      "tags": [
        "expression",
        "evaluate",
        "single",
        "match",
        "nomatch",
        "or",
        "first",
        "second",
        "neither",
        "and",
        "both",
        "partial",
        "not",
        "absent",
        "present",
        "grouped",
        "excluded",
        "empty",
        "channels",
        "multiple"
      ],
      "cases": [
        {
          "parameters": {
            "input": "core",
            "channels": [
              "core"
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core",
            "channels": [
              "http"
            ]
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core,http",
            "channels": [
              "core"
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core,http",
            "channels": [
              "http"
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core,http",
            "channels": [
              "debug"
            ]
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core.http",
            "channels": [
              "core",
              "http"
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core.http",
            "channels": [
              "core"
            ]
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "!debug",
            "channels": [
              "core"
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "!debug",
            "channels": [
              "debug"
            ]
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "(core,http).!debug",
            "channels": [
              "core"
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "(core,http).!debug",
            "channels": [
              "core",
              "debug"
            ]
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core",
            "channels": []
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core",
            "channels": [
              "core",
              "http",
              "debug"
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "parse",
      "tags": [
        "expression",
        "parse",
        "single",
        "or",
        "and",
        "not",
        "grouped",
        "nested"
      ],
      "cases": [
        {
          "parameters": {
            "input": "core"
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core,http"
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core.http"
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "!debug"
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "(core,http).!debug"
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "!(core.http)"
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "reject",
      "tags": [
        "expression",
        "error",
        "unbalanced",
        "trailing",
        "dot",
        "comma",
        "not",
        "invalid",
        "character"
      ],
      "cases": [
        {
          "parameters": {
            "input": "(core"
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core."
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core,"
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "!"
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core@http"
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        }
      ]
    }
  ]
}