Commit a76f5db
Refactor: extract pure-logic base classes to prepare for async implementation (#167)
## Summary
Extracts pure logic (URL building, payload construction, parsing,
caches, multipart serialization) from the sync clients into shared base
classes `_ODataBase` and `_BatchBase`. The sync clients now inherit from
these bases. The async client (Phase 2) will inherit from the same bases
as a sibling, enabling code sharing without the async client being a
subtype of the sync client.
- `_ODataBase` — pure logic extracted from `_ODataClient`; owns cache
teardown and HTTP logger lifecycle via `close()`
- `_BatchBase` — pure logic extracted from `_BatchClient`; owns
multipart serialization and response parsing
## Tests
1369 passed
Total coverage: 94.35% (threshold: 90%)
Co-authored-by: Abel Milash <abelmilash@microsoft.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent a5db9da commit a76f5db
7 files changed
Lines changed: 1581 additions & 1372 deletions
File tree
- src/PowerPlatform/Dataverse
- data
- models
- operations
- tests/unit/data
0 commit comments