Skip to content

feat: support parameter and result embedding in dig.In and dig.Out - #447

Open
AdamMagued wants to merge 1 commit into
uber-go:masterfrom
AdamMagued:fix-issue-427
Open

AdamMagued wants to merge 1 commit into
uber-go:masterfrom
AdamMagued:fix-issue-427

Conversation

@AdamMagued

Copy link
Copy Markdown

Fixes #427

Summary

  • Enable embedded structs inside dig.In parameter objects and dig.Out result objects.
  • Unpack embedded structs that either embed dig.In/dig.Out or contain exported fields without explicit parameter/result tags (name, group, optional), preserving concrete value dependency semantics for tagged embeds or structs without exported fields.
  • Propagate ignore-unexported settings to embedded parameter structs.
  • Handle nested soft value groups during parameter object resolution.
  • Enforce validation against invalid tags (name, group) on embedded result objects and disallow cross-embedding (dig.In in dig.Out or vice versa).
  • Add unit tests covering embedding scenarios, tag propagation, nested levels, and validation errors.

Signed-off-by: AdamMagued <adamismailmageud@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Support parameter embedding in dig.In/dig.Out

1 participant