Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce Path type intended for storing nested path in type level #377

Merged
merged 3 commits into from
Sep 15, 2023

Conversation

MateuszKubuszok
Copy link
Member

@MateuszKubuszok MateuszKubuszok commented Sep 15, 2023

This task intends to change the type level representation of paths used for fields overrides. It is necessary to enable future work on #358 without breaking binary compatibility (source compatibility would be preserved but someone linking to code compiled with older version might have issues, so it would force version bump to 0.9.0).

This task does NOT intend to implement #358 as 0.8.0 is intended to avoid additional features.

TODO:

  • create internal.runtime.Path type
  • create its representation in ChimneyTypes
  • change TransformerCfg to use Path instead of String
  • change DSL macros to return Select["fieldName", Root] instead of String
    • at this point nested path will still be rejected by DSL
  • change config parser to parse Select["fieldName", Root] to "fieldName"
    • at this point config parsing would also reject nested paths if anyone attempted them

@MateuszKubuszok MateuszKubuszok added this to the 0.8.0 milestone Sep 15, 2023
@codecov
Copy link

codecov bot commented Sep 15, 2023

Codecov Report

Patch coverage: 82.25% and project coverage change: -0.25% ⚠️

Comparison is base (d53f562) 80.18% compared to head (6d2db18) 79.93%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #377      +/-   ##
==========================================
- Coverage   80.18%   79.93%   -0.25%     
==========================================
  Files         109      109              
  Lines        4133     4192      +59     
  Branches      173      193      +20     
==========================================
+ Hits         3314     3351      +37     
- Misses        819      841      +22     
Files Changed Coverage Δ
...etime/dsl/PartialTransformerDefinitionMacros.scala 83.78% <0.00%> (ø)
...etime/dsl/PartialTransformerDefinitionMacros.scala 83.78% <ø> (ø)
...compiletime/dsl/PartialTransformerIntoMacros.scala 100.00% <ø> (ø)
.../compiletime/dsl/TransformerDefinitionMacros.scala 63.63% <ø> (ø)
...ternal/compiletime/dsl/TransformerIntoMacros.scala 100.00% <ø> (ø)
...nd/chimney/internal/compiletime/ChimneyTypes.scala 100.00% <ø> (+6.66%) ⬆️
...letime/derivation/transformer/Configurations.scala 77.38% <75.00%> (-0.12%) ⬇️
...ey/internal/compiletime/ChimneyTypesPlatform.scala 70.58% <85.00%> (-0.38%) ⬇️
...ey/internal/compiletime/ChimneyTypesPlatform.scala 82.11% <93.33%> (-3.10%) ⬇️
...compiletime/dsl/PartialTransformerIntoMacros.scala 100.00% <100.00%> (ø)
... and 2 more

... and 8 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@MateuszKubuszok MateuszKubuszok marked this pull request as ready for review September 15, 2023 10:57
@MateuszKubuszok MateuszKubuszok merged commit 2af6c99 into master Sep 15, 2023
21 of 22 checks passed
@MateuszKubuszok MateuszKubuszok linked an issue Sep 15, 2023 that may be closed by this pull request
@MateuszKubuszok MateuszKubuszok deleted the change-path-representation branch September 15, 2023 11:38
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.

Introduce nested paths
1 participant