New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Encodable and Decodable support for choice elements #119
Commits on Jul 27, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 749e0fc - Browse repository at this point
Copy the full SHA 749e0fcView commit details -
Add ChoiceKey protocol conforming to CodingKey
Add CodingKey conformance to ChoiceKey
Configuration menu - View commit details
-
Copy full SHA for ffbb395 - Browse repository at this point
Copy the full SHA ffbb395View commit details -
Implement choice element encoding
Add SingleElementEncodingContainer Fix def Expand ReferencingEncoder Complete SingleElementEncodingContainer Add decode-side hacks Add special diversion for SingleElementContainer Add hacky runtime bifurcation Add case for XMLEncoder Add SingleElementBox based XMLCoderElement initializer Change open permissions to public Add usage Add usage Add Nested cases within UnkeyedContainer Make use of SingleElementBox key Add UnkeyedBox of SingleElementBox fix Add static check for array of SingleElementBox type Implement nesting for keyed container Fix top level container func Implement nesting for SingleElementKeyed Container Clean up SingleElementBox initialization Fix formatting
Configuration menu - View commit details
-
Copy full SHA for 77f9699 - Browse repository at this point
Copy the full SHA 77f9699View commit details -
Implement choice element decoding
Create interface for branching off XMLChoiceKeys Add XMLSingleElementDecodingContainer copy pasta Add XMLDecoderImplementation.singleElementContainer(keyedBy:) copy pasta Push XMLChoiceKeys through singleElementContainer Add XMLUnkeyedDecodingContainer.nestedSingleElementContainer copy pasta Add XMLKeyedDecodingContainer.nestedSingleElementContainer copy pasta Add XMLSingleElementDecodingContainer.nestedSingleElementContainer copy pasta Remove print statement from test Make IntOrStringWrapper.CodingKeys: XMLChoiceKey Make Entry.CodingKeys: XMLChoiceKey Only allow KeyedBoxes pass through to SingleElementDecodingContainer Actually use XMLSingleElementDecodingContainer Make tests pass Rename XMLSingleElementDecodingContainer -> XMLChoiceDecodingContainer Use ChoiceBox Get rid of some prints Unimplement singleElementContainer Unimplement singleElementContainer Tidy xcscheme Unimplement nestedSingleElementContainer Remove dump Replace fatalError with thrown error Omit type label Omit type label Fix formatting
Configuration menu - View commit details
-
Copy full SHA for c128f28 - Browse repository at this point
Copy the full SHA c128f28View commit details -
Refactor clean up choice coding implementation
Rename singleElementBox -> choiceBox Create privileged path for Choices Sweep away commented-out code Add comment Don't treat top-level choice Tighten up impl Rename singleElementContainer method -> choiceContainer Whoops that was the Encoder Add unkeyed single element container et al. Add messages to fatal errors Omit type label Switch to ChoiceBox based implementation Revert pretty printing special casing Add passing encode tests for choice elements with attributes Add xcodeproj debris Remove use of XMLUnkeyedSingleElementDecodingContainer Remove unreached code in XMLChoiceDecodingContainer Remove superDecoder methods because enums ain't classes Put all the decode impl in one place Whitespace
Configuration menu - View commit details
-
Copy full SHA for 312c4f5 - Browse repository at this point
Copy the full SHA 312c4f5View commit details -
Rename XMLChoiceKey -> XMLChoiceCodingKey
Add doc comment for XMLChoiceCodingKey
Configuration menu - View commit details
-
Copy full SHA for 91693e9 - Browse repository at this point
Copy the full SHA 91693e9View commit details -
Rename SingleElementBox to SingleKeyedBox
Remove unused SingleKeyedBox.init?(_: KeyedBox) Change internal property name from singleElementBox to singleKeyedBox Remove internal property names singleElement -> singleKeyed
Configuration menu - View commit details
-
Copy full SHA for b5684f3 - Browse repository at this point
Copy the full SHA b5684f3View commit details -
Rename nestedSingleElementContainer -> nestedChoiceContainer
Rename header XMLSingleElementEncodingContainer -> XMLChoiceEncodingContainer Fix formatting
Configuration menu - View commit details
-
Copy full SHA for 5fd8d8f - Browse repository at this point
Copy the full SHA 5fd8d8fView commit details -
Slim down SingleKeyedBox Remove Foundation imports where not necessary
Configuration menu - View commit details
-
Copy full SHA for 5bda791 - Browse repository at this point
Copy the full SHA 5bda791View commit details -
Add enum with associated value encoding tests
Add nested array encoding test Add array within dictionary test Formatting Add keyed within unkeyed test Add roundtrip test for keyed within keyed case Update test to roundtrip for robustness Add wrapped tests for encoding Fix formatting
Configuration menu - View commit details
-
Copy full SHA for 045e07c - Browse repository at this point
Copy the full SHA 045e07cView commit details -
Fix usage to one key in the XMLChoiceDecodingContainer
Resolve merge conflict Replace xcodeproj
Configuration menu - View commit details
-
Copy full SHA for a7fb985 - Browse repository at this point
Copy the full SHA a7fb985View commit details -
Factor out mapKeys to XMLDecoderImplementation.transformKeyedContainer
Reorder key decoding strategy cases Touch less Mutate directly
Configuration menu - View commit details
-
Copy full SHA for b1b6c27 - Browse repository at this point
Copy the full SHA b1b6c27View commit details -
Configuration menu - View commit details
-
Copy full SHA for 048d0c3 - Browse repository at this point
Copy the full SHA 048d0c3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5748eee - Browse repository at this point
Copy the full SHA 5748eeeView commit details -
Configuration menu - View commit details
-
Copy full SHA for c6ee065 - Browse repository at this point
Copy the full SHA c6ee065View commit details
Commits on Jul 28, 2019
-
Configuration menu - View commit details
-
Copy full SHA for e6467d5 - Browse repository at this point
Copy the full SHA e6467d5View commit details -
Configuration menu - View commit details
-
Copy full SHA for ce09102 - Browse repository at this point
Copy the full SHA ce09102View commit details -
Configuration menu - View commit details
-
Copy full SHA for f09c79d - Browse repository at this point
Copy the full SHA f09c79dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0414fd8 - Browse repository at this point
Copy the full SHA 0414fd8View commit details
Commits on Jul 29, 2019
-
Configuration menu - View commit details
-
Copy full SHA for e1f0c45 - Browse repository at this point
Copy the full SHA e1f0c45View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0b9c5cc - Browse repository at this point
Copy the full SHA 0b9c5ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for a8125e2 - Browse repository at this point
Copy the full SHA a8125e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for bf52ca8 - Browse repository at this point
Copy the full SHA bf52ca8View commit details -
Configuration menu - View commit details
-
Copy full SHA for fd594fd - Browse repository at this point
Copy the full SHA fd594fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for a930d00 - Browse repository at this point
Copy the full SHA a930d00View commit details
Commits on Jul 30, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 5a7a64a - Browse repository at this point
Copy the full SHA 5a7a64aView commit details -
Configuration menu - View commit details
-
Copy full SHA for c000573 - Browse repository at this point
Copy the full SHA c000573View commit details -
Configuration menu - View commit details
-
Copy full SHA for d4bd9f4 - Browse repository at this point
Copy the full SHA d4bd9f4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4a99e95 - Browse repository at this point
Copy the full SHA 4a99e95View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7920b72 - Browse repository at this point
Copy the full SHA 7920b72View commit details -
Configuration menu - View commit details
-
Copy full SHA for 683cb34 - Browse repository at this point
Copy the full SHA 683cb34View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7db9627 - Browse repository at this point
Copy the full SHA 7db9627View commit details -
Configuration menu - View commit details
-
Copy full SHA for c213808 - Browse repository at this point
Copy the full SHA c213808View commit details -
Configuration menu - View commit details
-
Copy full SHA for 32195c5 - Browse repository at this point
Copy the full SHA 32195c5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8149ead - Browse repository at this point
Copy the full SHA 8149eadView commit details