Skip to content

Simplify StreamBuilder API to use a single type parameter#186

Merged
eneshoxha merged 1 commit intov3.0/releasefrom
v3/feature/185
Jan 28, 2026
Merged

Simplify StreamBuilder API to use a single type parameter#186
eneshoxha merged 1 commit intov3.0/releasefrom
v3/feature/185

Conversation

@eneshoxha
Copy link
Contributor

Refactored the stream builder API to remove the second type parameter (TCurrent) from IInitialStreamBuilder and StreamBuilder. Stream creation now starts with StreamBuilder.CreateNewStream("Name"), returning IInitialStreamBuilder. All builder methods now operate on TIn as the initial/current type. Updated all usages, extension methods, tests, and documentation to use the new API. This change makes the API more intuitive, reduces boilerplate, and improves usability while preserving type safety and flexibility.

#185

Refactored the stream builder API to remove the second type parameter (TCurrent) from IInitialStreamBuilder and StreamBuilder. Stream creation now starts with StreamBuilder<TIn>.CreateNewStream("Name"), returning IInitialStreamBuilder<TIn>. All builder methods now operate on TIn as the initial/current type. Updated all usages, extension methods, tests, and documentation to use the new API. This change makes the API more intuitive, reduces boilerplate, and improves usability while preserving type safety and flexibility.
@eneshoxha eneshoxha added this to the Cortex v3.0 milestone Jan 28, 2026
@eneshoxha eneshoxha self-assigned this Jan 28, 2026
@eneshoxha eneshoxha added enhancement New feature or request feature This label is in use for minor version increments labels Jan 28, 2026
@eneshoxha eneshoxha linked an issue Jan 28, 2026 that may be closed by this pull request
@eneshoxha eneshoxha merged commit 18e3856 into v3.0/release Jan 28, 2026
@eneshoxha eneshoxha deleted the v3/feature/185 branch January 28, 2026 21:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request feature This label is in use for minor version increments

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Remove redundant TCurrent generic from Stream

1 participant