diff --git a/crates/fidc-core/src/platform_expr_strategy.rs b/crates/fidc-core/src/platform_expr_strategy.rs index 4a0920f..c2c6517 100644 --- a/crates/fidc-core/src/platform_expr_strategy.rs +++ b/crates/fidc-core/src/platform_expr_strategy.rs @@ -202,6 +202,13 @@ impl PlatformExprStrategy { engine.register_fn("iff", |condition: bool, when_true: Dynamic, when_false: Dynamic| { if condition { when_true } else { when_false } }); + engine.register_fn("contains", |value: &str, needle: &str| value.contains(needle)); + engine.register_fn("starts_with", |value: &str, prefix: &str| value.starts_with(prefix)); + engine.register_fn("ends_with", |value: &str, suffix: &str| value.ends_with(suffix)); + engine.register_fn("lower", |value: &str| value.to_lowercase()); + engine.register_fn("upper", |value: &str| value.to_uppercase()); + engine.register_fn("trim", |value: &str| value.trim().to_string()); + engine.register_fn("strlen", |value: &str| value.chars().count() as i64); Self { config, engine } }