sieve-rs 0.8.1

Sieve filter interpreter for Rust
Documentation
[
  [
    0,
    {
      "Require": [
        "Variables",
        "Regex"
      ]
    }
  ],
  [
    1,
    {
      "Set": {
        "modifiers": [],
        "name": {
          "Local": 0
        },
        "value": {
          "Number": {
            "Integer": 1
          }
        }
      }
    }
  ],
  [
    2,
    {
      "Set": {
        "modifiers": [],
        "name": {
          "Local": 1
        },
        "value": {
          "Number": {
            "Integer": 2
          }
        }
      }
    }
  ],
  [
    3,
    {
      "Set": {
        "modifiers": [],
        "name": {
          "Local": 2
        },
        "value": {
          "Number": {
            "Integer": -3
          }
        }
      }
    }
  ],
  [
    4,
    {
      "Set": {
        "modifiers": [],
        "name": {
          "Local": 3
        },
        "value": {
          "Number": {
            "Float": -4.2
          }
        }
      }
    }
  ],
  [
    5,
    {
      "Set": {
        "modifiers": [],
        "name": {
          "Local": 4
        },
        "value": {
          "Number": {
            "Float": 5.7
          }
        }
      }
    }
  ],
  [
    6,
    {
      "Test": {
        "String": {
          "match_type": "Is",
          "comparator": "AsciiCaseMap",
          "source": [
            {
              "Text": 0
            }
          ],
          "key_list": [
            {
              "Number": {
                "Integer": 1
              }
            }
          ],
          "is_not": false
        }
      }
    }
  ],
  [
    7,
    {
      "Jz": 9
    }
  ],
  [
    8,
    {
      "Keep": {
        "flags": []
      }
    }
  ],
  [
    9,
    {
      "Set": {
        "modifiers": [],
        "name": {
          "Local": 5
        },
        "value": {
          "Text": 1
        }
      }
    }
  ],
  [
    10,
    {
      "Set": {
        "modifiers": [],
        "name": {
          "Local": 6
        },
        "value": {
          "Text": 2
        }
      }
    }
  ],
  [
    11,
    {
      "Set": {
        "modifiers": [],
        "name": {
          "Local": 7
        },
        "value": {
          "List": [
            {
              "Text": 3
            },
            {
              "Variable": {
                "Local": 0
              }
            },
            {
              "Text": 4
            }
          ]
        }
      }
    }
  ],
  [
    12,
    {
      "Set": {
        "modifiers": [],
        "name": {
          "Local": 8
        },
        "value": {
          "Text": 5
        }
      }
    }
  ],
  [
    13,
    {
      "Set": {
        "modifiers": [],
        "name": {
          "Local": 9
        },
        "value": {
          "Text": 6
        }
      }
    }
  ],
  [
    14,
    {
      "Test": {
        "Address": {
          "header_list": [
            {
              "Header": "from"
            }
          ],
          "key_list": [
            {
              "Regex": {
                "expr": "stephan(\\+.*)?@it\\.example\\.com"
              }
            },
            {
              "Regex": {
                "expr": "stephan(\\+.*)?@friep\\.example\\.com"
              }
            }
          ],
          "address_part": "All",
          "match_type": {
            "Regex": 0
          },
          "comparator": "AsciiCaseMap",
          "index": null,
          "mime_anychild": false,
          "is_not": false
        }
      }
    }
  ],
  [
    15,
    {
      "Jz": 17
    }
  ],
  [
    16,
    {
      "Keep": {
        "flags": []
      }
    }
  ]
]