Commit Graph

1254 Commits

Author SHA1 Message Date
Erick Tryzelaar
aff53e8dd4 allow the deserializer to optionally handle missing fields
This allows json to deserialize missing values as a `null`.
2014-08-18 07:40:36 -07:00
Erick Tryzelaar
c6d28afb6f add a "ignore_field" handler when a deserializable is skipping a field 2014-08-18 07:40:15 -07:00
Erick Tryzelaar
45e8bd6834 change error handlers to be mutable 2014-08-18 07:39:34 -07:00
Erick Tryzelaar
b09c6f3a87 remove bench_bytes 2014-08-15 13:21:15 -07:00
Erick Tryzelaar
6cd71e3e1d deserializing from maps should ignore unknown values 2014-08-15 09:02:30 -07:00
Erick Tryzelaar
d98aaaa54d Fix the docstrings and doctests 2014-08-15 08:13:20 -07:00
Erick Tryzelaar
111b916abb Export {S,Des}erializ{er,able} from serde module 2014-08-15 08:07:48 -07:00
Erick Tryzelaar
f967a77a80 add tests to deserializing sequences into a tuple 2014-08-14 19:08:41 -07:00
Erick Tryzelaar
5892d4fd67 implement to_json for most tuples 2014-08-14 19:03:51 -07:00
Erick Tryzelaar
dce88b74da Fix deserializing a tuple from a sequence 2014-08-14 19:03:23 -07:00
Erick Tryzelaar
9d1f777282 Share => Sync 2014-08-14 09:38:19 -07:00
Erick Tryzelaar
98aa2e7884 Flesh out error handling 2014-08-06 22:24:06 -04:00
Erick Tryzelaar
005b124cd3 simplify error reporting 2014-08-05 23:02:15 -04:00
Erick Tryzelaar
14d2254b2b Remove unused macro 2014-08-05 22:41:27 -04:00
Erick Tryzelaar
6f03528987 Fix an infinite loop in serializing boxed types 2014-08-04 22:31:07 -04:00
Erick Tryzelaar
00c01944cf add impls for {Hash,Tree}Sets 2014-08-04 16:53:21 -07:00
Erick Tryzelaar
8d188747b8 Return an error type instead of unwrapping in the vec serializer 2014-08-04 16:39:21 -07:00
Erick Tryzelaar
6357c56674 implement Serializable/Deserializable for box types 2014-08-04 16:38:43 -07:00
Erick Tryzelaar
d689bc8b85 initial support for more full error messages 2014-08-03 12:35:15 -07:00
Erick Tryzelaar
499638eccd simplify deserializing a value from a primitive 2014-08-03 12:34:57 -07:00
Erick Tryzelaar
dbc1cbcbfb implement bench_log::bench_deserializer 2014-08-02 16:06:05 -07:00
Erick Tryzelaar
5298bf0301 remove dead code 2014-08-02 15:46:07 -07:00
Erick Tryzelaar
62eda3e19f use #[deriving_deserializable] everywhere 2014-08-02 15:42:49 -07:00
Erick Tryzelaar
9d43fe43a9 json should work with large integers 2014-08-02 15:40:08 -07:00
Erick Tryzelaar
d68710ea09 fix improper deserializing structs-as-maps 2014-08-02 15:39:16 -07:00
Erick Tryzelaar
4fc124de9b Update to rust HEAD 2014-08-02 09:25:44 -07:00
Erick Tryzelaar
5bfc73e36b Fix compiling bench_log 2014-07-31 07:18:26 -07:00
Erick Tryzelaar
0df01a1888 move json into a directory, add builder helper 2014-07-31 07:01:23 -07:00
Erick Tryzelaar
9278f26ac2 More simplifications 2014-07-27 21:13:27 -07:00
Erick Tryzelaar
7200be09e1 more simplification 2014-07-27 21:07:01 -07:00
Erick Tryzelaar
14d97f9c26 Cleaning up #[deriving_deserializable] 2014-07-27 20:16:18 -07:00
Erick Tryzelaar
04e2528a29 Initial support for #[deriving_deserializable] deserializing from maps 2014-07-27 18:33:16 -07:00
Erick Tryzelaar
4077d83cf2 Migrate over to cargo 2014-07-18 06:17:47 -07:00
Erick Tryzelaar
618e8d7b5a checkpoint 2014-07-17 21:28:31 -07:00
Erick Tryzelaar
97777d1144 more experimentation with MemWriter variations 2014-07-09 11:58:18 -07:00
Erick Tryzelaar
839da08e24 undo commenting out writing json control characters 2014-07-09 11:41:47 -07:00
Erick Tryzelaar
3a518887b5 update to rust HEAD 2014-07-09 11:33:15 -07:00
Erick Tryzelaar
aeffb413c4 experiment with alternative MemWriters
test bench_log::bench_copy                            ... bench:        87 ns/iter (+/- 30) = 7264 MB/s
test bench_log::bench_decoder                         ... bench:     26596 ns/iter (+/- 1725) = 23 MB/s
test bench_log::bench_direct_mem_writer               ... bench:      2210 ns/iter (+/- 94) = 209 MB/s
test bench_log::bench_direct_my_mem_writer            ... bench:      1939 ns/iter (+/- 120) = 239 MB/s
test bench_log::bench_encoder                         ... bench:      6988 ns/iter (+/- 488) = 90 MB/s
test bench_log::bench_manual_mem_writer_escape        ... bench:      2809 ns/iter (+/- 332) = 203 MB/s
test bench_log::bench_manual_mem_writer_no_escape     ... bench:      1817 ns/iter (+/- 113) = 315 MB/s
test bench_log::bench_manual_my_mem_writer2_escape    ... bench:      2250 ns/iter (+/- 117) = 254 MB/s
test bench_log::bench_manual_my_mem_writer2_no_escape ... bench:      1493 ns/iter (+/- 39) = 383 MB/s
test bench_log::bench_manual_my_mem_writer_escape     ... bench:      2196 ns/iter (+/- 47) = 260 MB/s
test bench_log::bench_manual_my_mem_writer_no_escape  ... bench:      1402 ns/iter (+/- 85) = 408 MB/s
test bench_log::bench_serializer                      ... bench:      2357 ns/iter (+/- 176) = 204 MB/s
test bench_log::bench_serializer2                     ... bench:      2070 ns/iter (+/- 38) = 233 MB/s
2014-07-05 23:44:43 -07:00
Erick Tryzelaar
076a35075a write spaces in batches 2014-07-04 16:53:23 -07:00
Erick Tryzelaar
c83d38ce79 rewrite escape_bytes to not write each byte individually 2014-07-04 16:30:09 -07:00
Erick Tryzelaar
8f5157407b simplify code, return null if floats are Nan or Inf 2014-07-04 14:39:09 -07:00
Erick Tryzelaar
fa9dbb5a3c bench_manual shouldn't be reallocating 2014-07-03 07:44:34 -07:00
Erick Tryzelaar
0436b74773 Add some manual tests 2014-07-03 07:07:30 -07:00
Erick Tryzelaar
a3f5f46754 Update to rust head 2014-07-02 21:06:28 -07:00
Erick Tryzelaar
48c471c769 json doesn't need an explicit PartialOrd impl 2014-06-30 07:18:08 -07:00
Erick Tryzelaar
89cddbbe1e simplify deserializing collections 2014-06-28 11:34:46 -07:00
Erick Tryzelaar
bf58947037 initial support for #[deriving_deserializable] 2014-06-28 08:39:02 -07:00
Erick Tryzelaar
eaa1fc26d1 add a #[deriving_serializable] macro 2014-06-27 21:43:23 -07:00
Erick Tryzelaar
91d68e256c Finish getting rid of all allocations when serializing. 2014-06-27 17:30:20 -07:00
Erick Tryzelaar
a62d516de9 Update to rust HEAD 2014-06-27 08:07:03 -07:00