Delta Builder Fluent API #4

Merged
lentil merged 7 commits from chore/delta-format-standardization into main 2025-06-20 22:55:33 -05:00

7 Commits

Author SHA1 Message Date
795551c623
refactor: migrate all delta creation to use DeltaBuilder
- Replace all direct  instantiations with
- Implement proper transaction handling in DeltaBuilder
- Update negation system to work with the builder pattern
- Fix type issues with null values in pointers
- Update all tests to work with the new implementation
- Ensure all tests pass with the refactored code

This change improves code consistency and maintainability by using
a single, fluent API for all delta creation throughout the codebase.
2025-06-20 22:45:10 -05:00
60ad920b30
refactor: update test files to use DeltaBuilder fluent API
- Refactored delta creation in test files to use createDelta() pattern
- Replaced direct Delta instantiations with fluent builder API
- Updated relationship deltas to use setProperty with proper entity context
- Ensured all tests pass with the new delta creation approach

This is part of the ongoing effort to standardize on the DeltaBuilder
API across the codebase for better consistency and maintainability.
2025-06-20 21:40:51 -05:00
5c1c8a23b8
refactor: update delta declarations to use DeltaBuilder in lossless tests
- Refactored delta declarations in __tests__/lossless.ts to use DeltaBuilder
- Added declareTransaction method to DeltaBuilder for better transaction handling
- Updated transaction pointer structure in DeltaBuilder to match expected format
- Fixed related tests to work with the new DeltaBuilder implementation
2025-06-20 11:04:55 -05:00
4542c4ce83
Use deltaBuilder in lossless.decompose 2025-06-20 10:46:34 -05:00
8043b67258 refactor: simplify DeltaBuilder and update tests
- Removed V1-specific code paths in favor of V2 with toV1() conversion
- Simplified pointer handling to use a single internal representation
- Made entityLabel configurable in setProperty()
- Updated tests to use buildV1() and buildV2() explicitly
- Removed unused time utility module
- Added more comprehensive test coverage for entity properties

This change makes the DeltaBuilder more maintainable by reducing code duplication and following the pattern of building V2 deltas first, then converting to V1 when needed.
2025-06-20 10:40:31 -05:00
3ca8249510 feat: add DeltaBuilder for fluent delta creation
- Implemented DeltaBuilder class with support for both V1 and V2 delta formats
- Added comprehensive test coverage for all builder functionality
- Included utility function for microsecond-precision timestamps
- Added support for transactions and negation via special pointer contexts
- Provides type-safe API for creating deltas with proper validation
2025-06-20 09:24:41 -05:00
c173f3475e
feat(views): add DeltaV2 support to Lossless view
- Update Lossless.ingestDelta to accept both Delta and DeltaV2
- Add conversion from DeltaV2 to DeltaV1 during ingestion
- Add test case for DeltaV2 ingestion
- Ensure backward compatibility with existing DeltaV1 code
2025-06-19 20:57:16 -05:00