Add Chain Patterns and Better Documentation#1
Conversation
…g. Rearranged some test files to make more sense.
There was a problem hiding this comment.
Pull Request Overview
This pull request adds significant new functionality to the PatternKit library by implementing chain patterns and expanding the pattern set across behavioral, creational, and structural categories. The changes include new chain builders for sequential operations, strategy composition for complex workflows, and comprehensive examples demonstrating real-world usage patterns.
- Adds chain pattern implementations including ActionChain and ChainBuilder for sequential operations
- Expands builder patterns with MutableBuilder and Composer for object construction workflows
- Introduces extensive example applications including transaction pipelines, API gateways, and composed notification strategies
- Implements source generators for strategy pattern code generation
- Updates project structure to support multi-targeting (net8.0 and net9.0)
Reviewed Changes
Copilot reviewed 69 out of 69 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| PatternKit.Core | Adds core chain builders, mutable builders, and composer patterns |
| PatternKit.Examples | Comprehensive examples showing transaction processing, API routing, and strategy composition |
| PatternKit.Generators | Source generators for automatic strategy pattern implementation |
| Test projects | Extensive test coverage using TinyBDD framework with multi-target support |
| Project configurations | Updates to support dual targeting and package references |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. Thanks for integrating Codecov - We've got you covered ☂️ |
Code Coverage |
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 99 out of 100 changed files in this pull request and generated 8 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| .And("classifying -2", s => Execute(s, -2)) | ||
| .Then("should fall through to fallback 'other'", r => r is { Matched: true, Value: "other" }) | ||
| .AssertPassed(); | ||
| return; |
There was a problem hiding this comment.
[nitpick] Unnecessary return statement at the end of an async Task method. This can be removed as the method will return naturally.
| }) | ||
| .And("paid by card", _ => ctx.Result!.Value.Code == "paid" && ctx.Log.Any(x => x.Contains("auth: captured"))) | ||
| .AssertPassed(); | ||
| return; |
There was a problem hiding this comment.
The local function Pipe() is defined after a return statement, making it unreachable. Move the local function definition before the return statement or restructure the method.
No description provided.