-
-
Notifications
You must be signed in to change notification settings - Fork 121
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
Support complex objects as decorator argument values #918
Comments
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 10 days. |
Hi @dselman @DianaLease , I would like to tackle this issue will you please assign it to me, I understand that supporting JSON objects in decorators can be helpful for handling dynamic and complex codebases by enabling key-value pairs. To solve this following changes are needed: Grammar Update: Extend the CTO grammar to allow JSON objects in decorators, possibly by creating a new The CTO grammar definition. |
@Mamatha1718 Thanks for offering to work on this, I will assign the ticket to you! I believe you'll need to add the new decorator type here: https://github.com/accordproject/concerto/blob/main/packages/concerto-cto/lib/parser.pegjs#L884-L925
@dselman is away at the moment, but he can correct me if I'm wrong when he gets back as he is more familiar with this code! |
Hi @DianaLease ,Thank you for assigning me this issue and providing the relevant files and code for better understanding. I appreciate the guidance! |
Hi @dselman , @DianaLease , The PR is ready for review, #984 will you Please let me know if any other changes are need. |
Feature Request 🛍️
Currently decorator arguments are limited to:
It would be useful to support a stringified arbitrary object as a decorator argument value.
Use Case
Automated systems creating models and storing complex decorator arguments on the model.
Possible Solution
Context
When decorator arguments become complex they are hard to read, because they are based on positional arguments.
Detailed Description
We would have to extend the CTO grammar to support JSON objects within decorator arguments, marshalling them into a new type of
DecoratorLiteral
, or extending theDecoratorStringLiteral
to carry the JSON value as a string.Extend the logic that validates decorator arguments to check the structure of the JSON conforms to the related decorator definition.
The text was updated successfully, but these errors were encountered: