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.
It is a rewrite of #92.
API Changes
YAMLEncoder
KeyEncodingStrategy
with cases:useDefaultKeys
,convertToSnakeCase
andcustom(_:)
Options
fromEmitter
with addingkeyEncodingStrategy
YAMLDecoder
KeyDecodingStrategy
with cases:useDefaultKeys
,useSnakeCasedKeys
,useCustomizedKeys(_:)
andcustom(_:)
Options
havingkeyDecodingStrategy
allKeys
:Difference between
JSONEncoder
andYAMLEncoder
ofKeyEncodingStrategy
The behavior is compatible with
JSONEncoder. KeyEncodingStrategy
Difference between
JSONDecoder
andYAMLDecoder
ofKeyDecodingStrategy
convertFromSnakeCase
, because that has a problem: SR-6629useSnakeCasedKeys
That uses snake cased
CodingKeys
for accessing YAML contents.same with Add useSnakeCasedKeys to JSONDecoder.KeyDecodingStrategy swiftlang/swift#14039
This replaces
convertFromSnakeCase
.useCustomizedKeys((_ codingPath: [CodingKey]) -> CodingKey)
That uses custom converted
CodingKeys
for accessing YAML contents.custom((_ codingPath: [CodingKey]) -> CodingKey)
is compatible withJSONDecoder
's one