-
Notifications
You must be signed in to change notification settings - Fork 669
Open
Description
Description
- The JavaScript record representation used in user-defined indexes had inconsistent property names and structure compared to connectors
- The evaluator was creating new function instances and record objects repeatedly, causing unnecessary allocations
- The codebase needed a cleaner separation between record mapping and expression evaluation logic
Deliverables
- Unified model: Create
JsRecordclass with consistent property names matching connector conventions (schema,properties,id,sequence,redacted) - Lazy deserialization: Implement lazy-loaded
ValueandPropertiesto avoid deserializing data that may not be accessed - Evaluator pattern: Extract evaluation logic into
JsRecordEvaluatorwith function caching to reduce allocations - Type conversion: Add enum-to-string converter to Jint engine for proper enum handling in JavaScript
- Documentation update: Update user-defined index documentation to reflect new record structure
Metadata
Metadata
Assignees
Labels
No labels