Commit Graph

24 Commits

Author SHA1 Message Date
Gwynne Raskind 282c85961a
Add explicitly-typed UInt overloads (usually Codable suggests them) for _JSON[Keyed|Unkeyed|Single]Value[Encoder|Decoder] and their containers. UInt also gets a customized JSONRepresentable conformance that round-trips its bit pattern through Int. 2021-08-22 16:16:09 -05:00
Caleb Kleveter cfd8028b24
Revert "Store dates as time intervals"
This reverts commit 25ac92ee9a.
2019-12-07 12:42:16 -06:00
Caleb Kleveter 25ac92ee9a
Store dates as time intervals 2019-12-07 12:40:04 -06:00
Caleb Kleveter 03a4901be4
Don't add empty array to container.json in _JSONUnkeyedEncoder initializer 2019-11-26 11:44:18 -06:00
Caleb Kleveter 96a40518fa
Assign result of _JSONEncoder.encode to contain in generic _JSONKeyedDecoder.encode method
We do this instead of calling value.encode because enum cases with associated values were being encoded as arrays with 3 or 4 nil values before them and I have no idea why.
2019-11-26 10:41:30 -06:00
Caleb Kleveter f213438f71
Assign an empty array to JSON path when _JSONUnkeyedEncoder is initialized 2019-11-07 08:38:59 -06:00
Caleb Kleveter 4cb41f0d28
Attempt to use JSON convertible protocols when encoding/decoding 2019-10-18 09:36:53 -05:00
Caleb Kleveter 8b8ca9bf4d
Extended encoding container types with Decimal overloads 2019-10-18 08:56:08 -05:00
Caleb Kleveter 02f06ff761
Added handling of Decimal values in Number 2019-10-17 17:27:52 -05:00
Caleb Kleveter ced1651651
Fixed nested encoding containers 2019-10-17 11:29:18 -05:00
Caleb Kleveter a5cdbe9301
Added support for fixed-width integers to JSON encoders and decoders 2019-07-18 08:12:25 -05:00
Caleb Kleveter 8f8593e0d3
Added JSON(data:) initializer to base JSON type 2019-03-27 07:07:06 -05:00
Caleb Kleveter b2a657fb00
Removed un-used 'try' statements from _JSONKeyedEncoder methods 2019-03-21 09:01:30 -05:00
Caleb Kleveter 9cb4a26c3f
Documented public API 2019-03-20 16:45:27 -05:00
Caleb Kleveter 7b47702abb
Organized encoder/decoder methods 2018-07-30 17:52:07 -05:00
Caleb Kleveter 107929301b
Changed _JSONSingleValueEncoder._encode(_:) method to set container json vs. setting container 2018-04-26 13:16:51 -05:00
Caleb Kleveter 19c373c42f
Removed public access control identifier from JSONContainer methods 2018-04-10 08:38:13 -05:00
Caleb Kleveter 0e232f1d18
Removed un-used methods from JSONContainer type 2018-03-21 15:12:49 -05:00
Caleb Kleveter baf3137bc9 Replaced new JSON inits with self.json in JSON encoding containers 2018-02-16 14:46:49 -06:00
Caleb Kleveter e7593c6674 Removed .canEncodeNewValue property from _JSONEncoder 2018-02-16 14:38:58 -06:00
Caleb Kleveter 5f67f16443 Replaced _JSONEncoder.SingleValueEncodingContainer conformance with _JSONSingleValueEncoder type 2018-02-16 12:05:58 -06:00
Caleb Kleveter e46cff568d Replaced _JSONDecoder.SingleValueDecodingContainer conformance with _JSONSingleValueDecoder type 2018-02-16 11:58:25 -06:00
Caleb Kleveter 1a924df07e Replaced direct JSON storage with JSONContainer in _JSONEncoder types 2018-02-16 07:49:01 -06:00
Caleb Kleveter f2d92d1fd5 Created custom JSON encoder and decoder 2018-02-15 16:12:49 -06:00