You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
namespace [email protected]
concept TextFormat extends Decorator {
o String font
o Integer fontSize
o Boolean isBold optional
o Boolean isItalic optonal
}
@TextFormat({"font": "arial", "fontSize" : 12, "isBold" : true})
concept TextField {
o String value
}
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 the DecoratorStringLiteral 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:
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: