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 org.acme@1.0.0
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.
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.