Conversation
* refactor: Upgrade code implementations * fix: Changes based on CodeRabbit review * test: Add tests for mapping empty collections in structs and models * refactor: Enable nullable reference types and improve null safety across the mapper library * chore: Update project metadata and properties in POCOMapper.csproj (v2.7.0) * chore: Remove outdated contributors section and installation instructions from README.md * refactor: Improve type safety and element type resolution in collection mapping logic * refactor: Enhance enum and nullable enum mapping with expanded type safety and string support * refactor: Add validation for non-enumerable source properties in collection mapping logic --------- Co-authored-by: nor arrsgd <norgelera@duck.com>
|
Caution Review failedThe pull request is closed. WalkthroughPromotes many previously nested/internal test models and helpers to top-level public types under POCOMapper.Test.Models, updates mappings (notably STRIN_LIST → STRING_LIST), upgrades SDK/CI targets (.NET 9 in workflow, net8.0 tests), updates packaging metadata/versioning, adopts file-scoped namespaces, introduces ModelMapperCore, and makes mapper/extension APIs nullable-aware. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Client
participant Mapper as ModelMapper<T,S>
participant Core as ModelMapperCore
note over Client,Mapper: Mapping a single object (nullable-aware)
Client->>Mapper: From(S? source)
alt source is null
Mapper-->>Client: null
else source not null
Mapper->>Core: Map(source, typeof(T))
Core-->>Mapper: object? (T or null)
Mapper-->>Client: T?
end
sequenceDiagram
autonumber
actor Client
participant Ext as POCOMapperExtensions
participant MapModel as ModelMap
participant Core as ModelMapperCore
note over Client,Ext: Extension-based mapping flow
Client->>Ext: MapTo<T>(this ModelMap)
Ext->>Core: Map(ModelMap, typeof(T))
Core-->>Ext: object? (T or null)
Ext-->>Client: T?
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
Poem
✨ Finishing touches
🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (23)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
refactor: Upgrade code implementations
fix: Changes based on CodeRabbit review
test: Add tests for mapping empty collections in structs and models
refactor: Enable nullable reference types and improve null safety across the mapper library
chore: Update project metadata and properties in POCOMapper.csproj (v2.7.0)
chore: Remove outdated contributors section and installation instructions from README.md
refactor: Improve type safety and element type resolution in collection mapping logic
refactor: Enhance enum and nullable enum mapping with expanded type safety and string support
refactor: Add validation for non-enumerable source properties in collection mapping logic
Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Tests
Chores