Closed alexspevak closed 1 year ago
I don't know how complex it is @cerosnikita , but I imagine you could use the openAPI JSON generated from octopus-specs to generate the default configuration - just iterate on all fields for all *Layer
fields (i mean this) and if the field is an ENUM you can just
For arrays, something like effects.[].type
could be generated.
The ony needed config would just define which types we want to include - that could default to LayerBase
, Effect
, BlendMode
and probably more.
We might need to have some kind of blacklist for skipping some fields yet as well
I assume you will need some help with @cerosnikita to get the openAPI JSON and work with it.
Let me know if you think this is a good approach @alexspevak @cerosnikita
apart from my suggestion i like the output :) One change i would do is to prefix all these with layer
- like layer.opacity
and i think we will want to have same statistics based on manifest as well - for example Component role would be useful.
apart from my suggestion i like the output :) One change i would do is to prefix all these with
layer
- likelayer.opacity
and i think we will want to have same statistics based on manifest as well - for example Component role would be useful.
I can include manifest into generation, I do not think that would be a problem. What I am confused about is prefixing. if we prefix it with layer for example, should we prefix it with mask also? and if we prefix it with mask, what if the mask is a group layer with children?
I don't know how complex it is @cerosnikita , but I imagine you could use the openAPI JSON generated from octopus-specs to generate the default configuration - just iterate on all fields for all
*Layer
fields (i mean this) and if the field is an ENUM you can just For arrays, something likeeffects.[].type
could be generated. The ony needed config would just define which types we want to include - that could default toLayerBase
,Effect
,BlendMode
and probably more. We might need to have some kind of blacklist for skipping some fields yet as wellI assume you will need some help with @cerosnikita to get the openAPI JSON and work with it.
Let me know if you think this is a good approach @alexspevak @cerosnikita
I do not know anything about specs, so I will have to investigate what it does tomorrow, probably @cerosnikita will have more suggestions, but if you would like to have all items inside, that is not a problem. Also, I am not sure, but I think string values are enums only, so I could make it work that it takes them "byValue" meaning, that each string value will get its own field.
update: added manifest and "specifics" to tracking. Keys are now handled by exclusion (by default all keys are present). I have excluded most obvious keys, but this is up to management to decide which keys should be excluded
there is no assignment for this task . To create statistics you need to pass in TrackingService option to convertDesign method. This is optional.
you can customize by providing tracking keys or use static
TrackingService.withDefaultPathKeys()
which keys should be tracked is not clear to me. I added a few for showcasing possibilities