pub struct BehaviorRule {
pub name: String,
pub rule_type: RuleType,
pub condition: BehaviorCondition,
pub action: BehaviorAction,
pub priority: u32,
pub script: Option<String>,
pub script_language: Option<String>,
pub metadata: HashMap<String, Value>,
}Expand description
Behavior rule definition
A rule consists of a condition and an action. When the condition evaluates to true, the action is executed. Rules can be declarative (simple) or scriptable (complex).
Fields§
§name: StringRule name (unique identifier)
rule_type: RuleTypeRule type (declarative or scriptable)
condition: BehaviorConditionCondition to evaluate
action: BehaviorActionAction to execute when condition is true
priority: u32Priority (higher = evaluated first)
script: Option<String>Optional script for scriptable rules (JavaScript or WASM)
script_language: Option<String>Optional script language (e.g., “javascript”, “wasm”)
metadata: HashMap<String, Value>Additional metadata
Implementations§
Source§impl BehaviorRule
impl BehaviorRule
Sourcepub fn declarative(
name: String,
condition: BehaviorCondition,
action: BehaviorAction,
priority: u32,
) -> Self
pub fn declarative( name: String, condition: BehaviorCondition, action: BehaviorAction, priority: u32, ) -> Self
Create a new declarative rule
Sourcepub fn scriptable(
name: String,
condition: BehaviorCondition,
action: BehaviorAction,
priority: u32,
script: String,
script_language: String,
) -> Self
pub fn scriptable( name: String, condition: BehaviorCondition, action: BehaviorAction, priority: u32, script: String, script_language: String, ) -> Self
Create a new scriptable rule
Trait Implementations§
Source§impl Clone for BehaviorRule
impl Clone for BehaviorRule
Source§fn clone(&self) -> BehaviorRule
fn clone(&self) -> BehaviorRule
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BehaviorRule
impl Debug for BehaviorRule
Source§impl<'de> Deserialize<'de> for BehaviorRule
impl<'de> Deserialize<'de> for BehaviorRule
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for BehaviorRule
impl RefUnwindSafe for BehaviorRule
impl Send for BehaviorRule
impl Sync for BehaviorRule
impl Unpin for BehaviorRule
impl UnsafeUnpin for BehaviorRule
impl UnwindSafe for BehaviorRule
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more