Skip to content

refactor: EtlPipeline.From as extension method (clear S2325) - #284

Merged
Chris-Wolfgang merged 1 commit into
vNextfrom
refactor/from-extension-method
Jul 20, 2026
Merged

refactor: EtlPipeline.From as extension method (clear S2325)#284
Chris-Wolfgang merged 1 commit into
vNextfrom
refactor/from-extension-method

Conversation

@Chris-Wolfgang

Copy link
Copy Markdown
Owner

Redo of the From→extension conversion, now on top of current vNext (post-#283).

Moves both From overloads out of EtlPipeline into a new EtlPipelineSourceExtensions static class as this EtlPipeline extension methods. Bodies verbatim; Create().From(...) unchanged. Extension methods are static → clears the two S2325 warnings, and From now matches the format-package source-factory shape. Ships 0.16.0 without the instance-From binary-break lock-in.

Through/To/AsAsyncEnumerable untouched (real interface instance methods). PublicAPI.Shipped.txt updated. src clean all TFMs (0 warnings), 282 tests pass, Example8 (both TFMs) builds.

Merge → vNext → then #278 (vNext→main) carries it → 0.16.0.

Move both From overloads out of EtlPipeline into a new static
EtlPipelineSourceExtensions class as extension methods on EtlPipeline.
Bodies are verbatim; call site stays Create().From(...). Extension methods
are static, so S2325 ("make From static") is satisfied while the fluent
syntax is preserved and From is now the same shape as format-package source
factories. Avoids the binary-breaking lock-in of shipping instance From.

PublicAPI.Shipped.txt updated (From entries -> extension class + new type).
src clean across all TFMs (0 warnings), 282 tests pass, Example8 builds.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 20, 2026 20:25

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants