pub struct LogicCompiler { /* private fields */ }
Expand description
Compiles and caches JSONLogic expressions for optimal runtime performance.
The LogicCompiler
is responsible for:
- Pre-compiling all workflow conditions using DataLogic v4
- Pre-compiling task-specific logic (map transformations, validation rules)
- Maintaining Arc-wrapped compiled logic for thread-safe sharing
- Providing early validation of logic expressions
Implementations§
Source§impl LogicCompiler
impl LogicCompiler
Sourcepub fn logic_cache(&self) -> &Vec<Arc<CompiledLogic>>
pub fn logic_cache(&self) -> &Vec<Arc<CompiledLogic>>
Get the logic cache
Sourcepub fn into_parts(self) -> (Arc<DataLogic>, Vec<Arc<CompiledLogic>>)
pub fn into_parts(self) -> (Arc<DataLogic>, Vec<Arc<CompiledLogic>>)
Consume the compiler and return its components
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LogicCompiler
impl !RefUnwindSafe for LogicCompiler
impl Send for LogicCompiler
impl Sync for LogicCompiler
impl Unpin for LogicCompiler
impl !UnwindSafe for LogicCompiler
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