Skip to content

#120 Support nested (dot-separated) property paths in mapping attributes - #274

Merged
sanelli merged 6 commits into
mainfrom
120-flattening-and-unflattening
Jul 18, 2026
Merged

#120 Support nested (dot-separated) property paths in mapping attributes#274
sanelli merged 6 commits into
mainfrom
120-flattening-and-unflattening

Conversation

@sanelli

@sanelli sanelli commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • Extend mapping attributes (MappaUseProperty, MappaInvokeMethod, MappaAssignFromConstant/FromContext/ToContext, MappaIgnoreTargetProperty) to accept dot-separated nested property paths, with path-aware matching, nested mapping context, and chained source/target codegen.
  • Add diagnostics for invalid nested target/source paths (including MP00043/MP00044), plus samples, AOT runner, and documentation updates.
  • Add unit tests covering remaining nested-path branch gaps (builder fallback, path resolver/expression builder, nested validation helpers, GetNestedTypeMappingPropertyPathContext).

Test plan

  • .\Scripts\RunTestsAndReportCoverage.ps1 passes
  • Nested path integration tests (NestedPropertyPathAttributeIntegrationTests) pass
  • New unit tests (PropertyMapStrategyBuilderTests, PropertyPathSymbolResolverAndExpressionBuilderTests, MapMethodMappingAttributesValidatorNestedPathTests, ConstructorMapStrategyDetectorPropertyPathContextTests) pass
  • Samples / AOT nested-path runner succeeds
  • Line/branch/method coverage ≥ prior baseline

Made with Cursor

sanelli and others added 6 commits July 15, 2026 21:29
Expand XML docs and Mappa/README for dot-separated TargetPropertyName/SourcePropertyName chains, require README updates when attributes change in the workflow rule, and bump to 10.2.0-alpha.5.

Co-authored-by: Cursor <cursoragent@cursor.com>
Add PropertyPath helpers, PropertyPathContext, path-aware attribute matching, MP00043/MP00044 diagnostics, and chained source/target codegen in constructor map strategy detection and builders.

Co-authored-by: Cursor <cursoragent@cursor.com>
Cover all six mapping attributes, multi-path MappaUseProperty cases, duplicate-path diagnostics, and nullability corner cases. Fix chained source resolution, nested attribute scopes, and property-path-aware validation/codegen.

Co-authored-by: Cursor <cursoragent@cursor.com>
Fix shared target-root UseProperty, nested attribute scope, and flat identity regressions; bump to 10.2.0-alpha.7.

Co-authored-by: Cursor <cursoragent@cursor.com>
Wire remaining-segment descent and nested validation; add helper/unit and integration coverage tests; register AOT samples; document attributes, algorithm, tutorial, features, and MP00043/MP00044; bump to 10.2.0-alpha.8.

Co-authored-by: Cursor <cursoragent@cursor.com>
Cover PropertyMapStrategyBuilder fallback, path resolver/expression builder edges, nested attribute validation helpers, and GetNestedTypeMappingPropertyPathContext.

Co-authored-by: Cursor <cursoragent@cursor.com>
@sanelli sanelli linked an issue Jul 18, 2026 that may be closed by this pull request
6 tasks
@sanelli
sanelli merged commit af6d072 into main Jul 18, 2026
1 check passed
@sanelli
sanelli deleted the 120-flattening-and-unflattening branch July 18, 2026 14:08
@sanelli sanelli mentioned this pull request Jul 19, 2026
6 tasks
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.

Flattening and unflattening

1 participant