1.0.0 • Published 1 year ago

@wannasky/kql-ast v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

kql to ast

operator支持 :>=<=><!=

语句连接支持 ANDOR 不区分大小写

支持KQL高版本的嵌套字段

cases

  1. name: wannasky
{
   "left": {
      "field": "name",
      "operator": "=",
      "value": "wannasky"
   }
}
  1. name: wannasky and age > 18
{
   "left": {
      "field": "name",
      "operator": "=",
      "value": "wannasky"
   },
   "link": "and",
   "right": {
      "field": "age",
      "operator": ">",
      "value": 18
   }
}
  1. (name: wannasky or age != 18) and score.math > 90
{
   "left": {
      "left": {
         "field": "name",
         "operator": "=",
         "value": "wannasky"
      },
      "link": "or",
      "right": {
         "field": "age",
         "operator": "!=",
         "value": 18
      }
   },
   "link": "and",
   "right": {
      "field": "score.math",
      "operator": ">",
      "value": 90
   }
}
  1. items.user: {name: wannasky and age > 18}
{
   "left": {
      "field": "items.user",
      "operator": "=",
      "nested_field": true,
      "value": {
         "left": {
            "field": "name",
            "operator": "=",
            "value": "wannasky"
         },
         "link": "and",
         "right": {
            "field": "age",
            "operator": ">",
            "value": 18
         }
      }
   }
}
1.0.0

1 year ago