Using opDispatch to generate properties
opDispatch
is a good hook for code generation of all kinds. Here, we'll use it to generate properties to access an associative array of keys in a different format in order to mimic the style
property in the JavaScript DOM, which translates foo.style.backgroundColor
, for example, to the background-color
CSS property.
How to do it…
Let's execute the following steps to use opDispatch
to generate properties:
Write a function to transform the
camelCase
string to a dash-separated string.Create a
struct
type with twoopDispatch
@property
methods: a getter that takes no runtime arguments and a setter which takes a string runtime argument. Both theopDispatch
methods should take one compile-time string argument.Use the
enum
keyword with the transformation function to ensure it is done at compile time.Constrain
opDispatch
to work only on the properties you want to enable, or if you want it to work on everything, set it minimally to not work onpopFront
.Add a member...