Fix: handle more key types in safejson.FromYAMLValue #407
+264
−113
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.
Before this PR
After this PR
==COMMIT_MSG==
Updates the safejson.FromYAMLValue function such that it can handle converting input maps that have any key type that can marshalled by json.Marshal (string, number, and types that implement encoding.TextMarshaler).
Previously, only handled input maps where the key type was string, which is a subset of the types that can actually be marshalled by json.Marshal.
==COMMIT_MSG==
Possible downsides?
This changes the behavior for certain inputs such that inputs that would have previously failed will now succeed. However, I believe these changes are strictly improvements/better behavior, and cannot think of a realistic case where being more supportive of input types (properly converting maps when previous calls would have returned an error) would cause issues.
This change is