ExSift.Compiler (ex_sift v0.2.0)
Compiles MongoDB-style queries into optimized Elixir functions.
This module is responsible for traversing the query structure and building a tree of matcher functions. It performs several optimizations:
- Path Unrolling: Nested property paths (e.g., "user.profile.age") are resolved into efficient traversal functions.
- Operator Resolution: Operators are looked up and bound to their implementation functions at compile time.
- Implicit Traversal: Logic for handling list traversal (e.g., checking if any element in a list matches a condition) is embedded in the matcher.