Added YAML en(de)coding support to MessageCard
#169
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Current (non-)issue
I am planning to use this library with pre-built templates, provided by users, in YAML format. Due to the type of the
ValidateFunc
field ofMessageCard
, YAML decoding/encoding doesn't work out-of-the-box since the marshaller attempts to parse that field.Furthermore, other fields such as
Type
andContext
require that an extra@
symbol is prefixed when encoding its value. Without effectively providing YAML tags, this is not feasible without re-implementing the structs in the client side.Goal
With this PR, clients of this library will be able to decode/encode the structs found within the
messagecards.go
file into YAML format out-of-the-box with no impact to existing usage.Impact
No impact is expected since no new libraries need to be included in this library nor does the inclusion of new tags affect the overall behaviour of the codebase.