Update projection.rs to import from eventcore-types directly #268

Closed
opened 2025-12-31 16:48:34 -08:00 by jwilger · 1 comment
jwilger commented 2025-12-31 16:48:34 -08:00 (Migrated from github.com)

Summary

Update eventcore/src/projection.rs to import types from eventcore_types directly instead of from crate::.

Parent Issue

  • #266 Implement ADR-030: Layered Crate Public API Design
  • Depends on: #267 Minimize eventcore/src/lib.rs exports

Background

When we minimize the exports from lib.rs, the projection.rs module will break because it imports types via use crate::{...}. These need to be changed to import from eventcore_types directly.

Changes Required

Change:

use crate::{
    BackoffMultiplier, BatchSize, CheckpointStore, Event, EventFilter, EventPage, EventReader,
    FailureStrategy, MaxConsecutiveFailures, MaxRetryAttempts, Projector, StreamPosition,
};

To:

use eventcore_types::{
    BackoffMultiplier, BatchSize, CheckpointStore, Event, EventFilter, EventPage, EventReader,
    FailureContext, FailureStrategy, MaxConsecutiveFailures, MaxRetryAttempts, Projector,
    RetryCount, StreamPosition,
};

Acceptance Criteria

  • projection.rs imports all needed types from eventcore_types
  • No imports from crate:: for types that should be internal
  • cargo check passes
  • All projection tests pass
## Summary Update `eventcore/src/projection.rs` to import types from `eventcore_types` directly instead of from `crate::`. ## Parent Issue - #266 Implement ADR-030: Layered Crate Public API Design - Depends on: #267 Minimize eventcore/src/lib.rs exports ## Background When we minimize the exports from `lib.rs`, the `projection.rs` module will break because it imports types via `use crate::{...}`. These need to be changed to import from `eventcore_types` directly. ## Changes Required Change: ```rust use crate::{ BackoffMultiplier, BatchSize, CheckpointStore, Event, EventFilter, EventPage, EventReader, FailureStrategy, MaxConsecutiveFailures, MaxRetryAttempts, Projector, StreamPosition, }; ``` To: ```rust use eventcore_types::{ BackoffMultiplier, BatchSize, CheckpointStore, Event, EventFilter, EventPage, EventReader, FailureContext, FailureStrategy, MaxConsecutiveFailures, MaxRetryAttempts, Projector, RetryCount, StreamPosition, }; ``` ## Acceptance Criteria - [ ] `projection.rs` imports all needed types from `eventcore_types` - [ ] No imports from `crate::` for types that should be internal - [ ] `cargo check` passes - [ ] All projection tests pass
jwilger commented 2025-12-31 17:32:22 -08:00 (Migrated from github.com)

Closing: Parent issue closed

Closing: Parent issue closed
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Slipstream/eventcore#268
No description provided.