- combinator: and
  not: false
  rules:
    - field: firstName
      operator: isNotNull
    - field: lastName
      operator: beginsWith
      value: A
    - combinator: or
      rules:
        - field: age
          operator: ">"
          value: 30
        - field: hobbies
          operator: contains
          value: music
- rules:
    - field: firstName
      operator: isNull
    - field: lastName
      operator: isNotNull
    - field: firstName
      operator: equals
      value: Juan
    - field: lastName
      operator: =
      value: Perez
    - field: lastName
      operator: in
      value: [Perez, Sanchez]
    - field: lastName
      operator: notIn
      value: [Suarez, Juarez]
    - field: age
      operator: =
      value: 30
    - field: age
      operator: "!="
      value: 20
    - field: age
      operator: <
      value: 40
    - field: age
      operator: ">"
      value: 20
    - field: age
      operator: <=
      value: 40
    - field: age
      operator: ">="
      value: 20
    - field: lastName
      operator: contains
      value: e
    - field: lastName
      operator: beginsWith
      value: P
    - field: lastName
      operator: endsWith
      value: z
    - field: lastName
      operator: doesNotContain
      value: h
    - field: lastName
      operator: doesNotBeginWith
      value: A
    - field: lastName
      operator: doesNotEndWith
      value: A
    - field: isActive
      operator: =
      value: true
    - field: isActive
      operator: =
      value: false
    - field: numbers
      operator: includes
      value: 5
    - field: numbers
      operator: doesNotInclude
      value: 5
    - field: roles
      operator: includes
      value: manager
    - field: roles
      operator: doesNotInclude
      value: manager
- rules:
    - combinator: or
      rules:
        - combinator: and
          rules:
            - field: firstName
              operator: isNotNull
            - field: lastName
              operator: isNotNull
        - combinator: and
          rules:
            - field: firstName
              operator: contains
              value: a
            - field: lastName
              operator: contains
              value: b
- rules:
    - field: _parent(tableField.childField)
      operator: isNotNull
    - field: _parent(tableField.childField).fieldInParent
      operator: =
      value: Yes
    - field: _parent(tableField.childField).fieldInParent
      operator: isNotNull
- rules:
    - field: myField.nestedField
      operator: =
      value: something
