-
Notifications
You must be signed in to change notification settings - Fork 74
Feat/s2dm exporter enhancements #486
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
Merged
erikbosch
merged 20 commits into
COVESA:master
from
jdacoello:feat/s2dm-exporter-enhancements
Aug 31, 2026
Merged
Changes from all commits
Commits
Show all changes
20 commits
Select commit
Hold shift + click to select a range
a60654a
feat: Enhance enum value handling: sanitize values for GraphQL compli…
jdacoello 08ef71b
feat: Implement instance dimension enum sanitization and metadata ann…
jdacoello 75975e5
feat(s2dm): add extended attributes metadata annotations
jdacoello 2868632
feat(s2dm): enhance pluralization handling and naming conventions in …
jdacoello f2f94b8
refactor(s2dm): move GraphQL utilities into s2dm exporter
jdacoello bb52c0b
feat: Implement progressive qualification for GraphQL type naming in …
jdacoello 5e99337
feat(s2dm): enhance name collision detection including tree and structs
jdacoello ee0c811
fix(s2dm): Simplify directive handling in modular mode and resolve my…
jdacoello dc087ff
feat(s2dm): add unit enums metadata handling in modular mode
jdacoello b4ba1f0
fix(s2dm): Use the correct output type
jdacoello 7d93c3a
feat(s2dm): implement handling for skipped empty branches during export
jdacoello 5a5eb72
feat(s2dm): simplify vspec metadata annotation with sidecar lookup sp…
jdacoello 6966015
feat(s2dm): fix struct processing and remove hoisted properties
jdacoello 0033f66
refactor(s2dm): Simplify vspec directive and include instantiate meta…
jdacoello c804e25
feat(s2dm): map units to qudt references
jdacoello 4c23952
fix(s2dm): Update test for instance tag check without id fields
jdacoello e79d119
fix(s2dm): Add alias for old vspec unit keys for qudt mappings
jdacoello edff3fa
fix(s2dm): Export allowed values inside struct as enums
jdacoello dd1538d
fix(s2dm): Errors after rebase
jdacoello 6e2b33f
fix(s2dm): Isolate test files causing conflicts
jdacoello File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why not a dict as value, so taking 1:1 what is in the source?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This metadata can hold more than only the fields reported by the vss model. For example, I am now annotating when a name was modified. For instance, a leaf name in VSS is
PascalCase, whereas in the export it becomes a field inside a type, which in GraphQL conventions is done withcamelCase. However, I think I can assign to metadata:Dict found in VSS model + Dict of extra stuff.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, a dictionary is not a built-in scalar in GraphQL. There are other community driven scalars specified. But, they don't offer the dictionary scalar. The closest one would be to say it's a
JSON.Is that what you mean? It seems feasible. But, I see a few limitations with that:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that's what I meant but encoding JSON into a string is not that great... then let's stick with the typed key vale pair. Although there exists the same problem that all values are forced to be strings and we are limiting ourselves to non complex metadata values, which in turn means that complex vales could be JSON strings...