From 14c6ba114c8a4c40ebbc15c6ef4483c85372c7c0 Mon Sep 17 00:00:00 2001 From: boris Date: Tue, 21 Apr 2026 22:48:50 -0700 Subject: [PATCH] Add string helpers for platform expressions --- crates/fidc-core/src/platform_expr_strategy.rs | 7 +++++++ 1 file changed, 7 insertions(+) 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 } }