CompiledLogicStore

Struct CompiledLogicStore 

Source
pub struct CompiledLogicStore { /* private fields */ }
Expand description

Storage for compiled logic expressions with dependency tracking

This store uses the global compiled logic cache to avoid recompiling the same logic across different instances. Each instance maintains its own local ID mapping to the global storage.

Implementations§

Source§

impl CompiledLogicStore

Source

pub fn new() -> Self

Source

pub fn compile(&mut self, logic: &Value) -> Result<LogicId, String>

Compile and store a JSON Logic expression

Uses global storage to avoid recompiling the same logic across instances. The logic is compiled once globally and reused, with this instance maintaining its own local ID for tracking dependencies.

Source

pub fn get(&self, id: &LogicId) -> Option<&CompiledLogic>

Get a compiled logic by ID

Source

pub fn remove(&mut self, id: &LogicId) -> Option<CompiledLogic>

Remove a compiled logic by ID

Source

pub fn get_dependencies(&self, id: &LogicId) -> Option<&[String]>

Get dependencies for a logic ID

Trait Implementations§

Source§

impl Default for CompiledLogicStore

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.