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
b9dc5710dc
Merge branch 'develop' of github.com:skelpo/JSON into develop
2019-11-07 08:39:15 -06:00
Caleb Kleveter
f213438f71
Assign an empty array to JSON path when _JSONUnkeyedEncoder is initialized
2019-11-07 08:38:59 -06:00
Ralph Kuepper
e3ff18dfe1
remove debug code
2019-10-23 01:10:20 +02:00
Ralph Kuepper
2b91ed7c2f
remove debug messages
2019-10-22 18:21:52 +02:00
Ralph Kuepper
7b88fc5974
Experiementing with using always strings for Decimal
2019-10-22 18:01:31 +02: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
2403c2d178
Attempt Decimal decode if enum case matching fails in JSON.value(for:at:) method
2019-10-18 08:29: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
28cbf2a4f8
Added .is<case> Bool properties to JSON enum
2019-06-12 15:15:37 -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
a71d2b0752
Made JSON.isObject and .isArray properties public
2018-06-13 06:38:36 -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
6cba6229ad
Added T type check to JSONCoder.decode(_:from:) method for people who attempt to decode JSON to JSON
2018-04-24 09:00:21 -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
7d63e64fea
Created failable JSON init for types conforming to Decodable
2018-02-20 14:23:22 -06:00
Caleb Kleveter
fa3a6469d5
Removed un-used import of CodableKit
2018-02-19 10:02:20 -06:00
Caleb Kleveter
474e92c010
Changed JSON.isObject and .isArray properties to check with switch statements
2018-02-19 07:17:50 -06:00
Caleb Kleveter
901b66ab6b
Removed commented-out return for _JSONSingleValueDecoder.decode(T)
2018-02-19 06:57:15 -06:00
Caleb Kleveter
150a0e0690
Added numeric type conversion to JSON.value method
2018-02-16 16:17:35 -06:00
Caleb Kleveter
12fd3d15ea
Created Float decoding methods
2018-02-16 16:16:41 -06:00
Caleb Kleveter
3e6d8a7939
Added Float type case in JSON.value method
2018-02-16 14:48:26 -06:00
Caleb Kleveter
b65f5f9ec1
Replaced passing _JSONDecoder with passing coding key path in decoders
2018-02-16 14:47:41 -06: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
35b80bf0f1
Return _JSONSingleValueDecoder from _JSONEncoder.singleValueContainer
2018-02-16 14:37:51 -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