Add support for metadata in gluamapper.Option struct#3
Open
dnaeon wants to merge 1 commit intoyuin:masterfrom
Open
Add support for metadata in gluamapper.Option struct#3dnaeon wants to merge 1 commit intoyuin:masterfrom
dnaeon wants to merge 1 commit intoyuin:masterfrom
Conversation
Owner
|
Thanks for you PR, and sorry for my late reply.(My job has gotten a little busy) I think that it would be better to hide backend library APIs from Adding something like the following code to type Metadata struct {
Keys []string
Unused []string
} metadata := &mapstructure.Metadata{}
metadata.Keys = opt.Metadata.Keys
metadata.Unused = opt.Metadata.Unused
config := &mapstructure.DecoderConfig{
WeaklyTypedInput: true,
Result: st,
TagName: opt.TagName,
ErrorUnused: opt.ErrorUnused,
Metadata: metadata,
}Are you in favor of this plan? |
Author
|
Sounds good. Do you want me to update the PR or you will do it instead? |
Owner
|
I would appreciate it if you could update the PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Adding support for metadata allows for inspecting the result of decoding and is useful in situations where we need to verify a list of required fields or unused ones.
A better approach would be to simply embed
mapstructure.DecoderConfigingluamapper.Option, but doing that would introduce a breaking API change, so with this commit I'm simply addingmapstructure.Metadatatogluamapper.Optionstruct for now. In future commits we should probably consider simply embedding DecoderConfig into Option struct.