Erick Tryzelaar
00cd2900e7
Merge pull request #155 from erickt/skip
...
Add skip serializing fields if empty or none
2015-10-05 14:51:46 -07:00
Erick Tryzelaar
05a238fac4
Merge pull request #164 from serde-rs/oli-obk-patch-1
...
add link to the README from the docs
2015-10-05 14:49:46 -07:00
Erick Tryzelaar
72af0896e8
docs(codegen): Document annotations
2015-09-07 16:59:11 -07:00
Erick Tryzelaar
c4392ff256
feat(codegen): Add more attributes to skip serializing
...
These attributes are `#[serde(skip_serializing_if_none)]` and
`#[serde(skip_serializing_if_empty)]`.
2015-09-07 16:58:52 -07:00
Erick Tryzelaar
c68ab508c0
refactor(codegen): Simplify parsing attributes
2015-09-07 16:58:52 -07:00
Erick Tryzelaar
76cca814f0
docs(readme): Improve the readme
2015-09-07 16:58:46 -07:00
Erick Tryzelaar
22b69fc5c9
docs(serde): Fix typo
2015-09-07 13:02:53 -07:00
Erick Tryzelaar
48ea75fddc
Bump version
...
This is because I removed some public, but unused things
2015-09-02 08:54:01 -07:00
Erick Tryzelaar
4b49f716b9
Document serde::de::impls.
2015-09-02 08:36:14 -07:00
Erick Tryzelaar
55f5f397d7
Document serde::de::value
2015-09-02 08:36:14 -07:00
Erick Tryzelaar
4be4f60f21
Document serde::de::mod.
2015-09-02 08:36:14 -07:00
Erick Tryzelaar
9a8037bbf2
Remove unused Enum{Seq,Map}Visitor
2015-09-02 08:36:14 -07:00
Erick Tryzelaar
c7f1af90b2
Document serde::iter
2015-09-02 08:36:14 -07:00
Erick Tryzelaar
902d3a0aa5
Document serde::bytes.
2015-09-02 08:36:14 -07:00
Erick Tryzelaar
c14eb28223
Remove unused buf module.
2015-09-02 08:36:14 -07:00
Erick Tryzelaar
2722a04e52
Document serde::ser::impls
2015-09-02 08:36:14 -07:00
Erick Tryzelaar
5dbcd7957a
Start documenting everything, starting with serde::ser.
2015-09-01 08:02:17 -07:00
Erick Tryzelaar
7511eeae7b
Version bump
...
Closes #149
2015-08-31 10:04:34 -07:00
Erick Tryzelaar
5f4a7e54bc
Fix README deserialization-without-macros example
...
Closes #150 .
2015-08-31 09:23:33 -07:00
Erick Tryzelaar
b7e3058078
Add coverage badge
2015-08-29 21:09:20 -07:00
Erick Tryzelaar
f3358cc377
Merge pull request #144 from erickt/master
...
Factor serde_json out into it's own module
2015-08-29 21:06:21 -07:00
Erick Tryzelaar
fa3460e0a7
Migrate serde_json into it's own repo
...
New location is https://github.com/serde-rs/json .
2015-08-29 18:09:51 -07:00
Erick Tryzelaar
42069ca669
Refactor tests to not use serde_json
2015-08-29 17:29:42 -07:00
Erick Tryzelaar
3e1b950b14
Merge pull request #147 from jmesmon/fix-readme
...
readme: fix example code so it builds
2015-08-28 08:31:17 -07:00
Erick Tryzelaar
caddd11c15
Travis work
2015-08-27 22:51:11 -07:00
Erick Tryzelaar
5711e3d860
Merge pull request #143 from 3Hren/master
...
Add a Sized requirement to the Deserialize trait.
2015-08-24 21:41:58 -07:00
Erick Tryzelaar
092ba6dae2
Merge pull request #139 from erickt/str-keys
...
Reject serializing maps to JSON with non-string keys
2015-08-19 09:01:27 -07:00
Erick Tryzelaar
cab653e7c7
Version bump
2015-08-18 12:50:39 -07:00
Erick Tryzelaar
8d999a8edd
VecMap was removed from libcollections
2015-08-18 12:49:50 -07:00
Erick Tryzelaar
7b773ac088
Merge pull request #138 from erickt/master
...
Expose serde_json::from_{iter,reader,slice}
2015-08-13 22:32:34 -07:00
Erick Tryzelaar
4f6b27eec1
Black box json benchmark numbers
...
This prevents the optimizer from optimizing away the thing
we're benchmarking.
2015-08-13 22:30:02 -07:00
Erick Tryzelaar
fe20852b2c
Reject serializing maps to JSON with non-string keys
...
Closes #122 . This is a breaking change since it modifies the
return type of serde_json::to_vec{,pretty}, so it'll require a major
version bump of serde_json.
2015-08-13 22:29:13 -07:00
Erick Tryzelaar
fc58ea7487
Expose serde_json::from_{iter,reader,slice}
2015-08-13 21:19:27 -07:00
Erick Tryzelaar
c61cea0eb1
Merge pull request #136 from erickt/visit
...
Have deserializer numeric visits chain
2015-08-13 21:19:19 -07:00
Erick Tryzelaar
764b25bd07
Have Deserializer::visit_{usize,u8,...,isize,i8,...,f32} call visit_{u64,i64,f64}
...
This cuts down the amount of overloading needed by a format like
toml which wants to prevent casting a float to an integer and
vice versa.
2015-08-13 08:40:19 -07:00
Erick Tryzelaar
a66cd25787
Merge pull request #135 from erickt/doc
...
Add a table pointing to the serializers that support serde
2015-08-11 07:02:22 -07:00
Erick Tryzelaar
0e8d94750b
Add a table pointing to the serializers that support serde
2015-08-11 07:00:59 -07:00
Erick Tryzelaar
3c915189f4
version bump
2015-08-10 10:09:37 -07:00
Erick Tryzelaar
c5541cddeb
Merge pull request #134 from erickt/err
...
Add Error::length_mismatch, Error::type_mismatch, and de::Type
2015-08-10 10:07:51 -07:00
Erick Tryzelaar
63561609a6
Add Error::length_mismatch, Error::type_mismatch, and de::Type
...
This improves error handling to match the needs of msgpack
2015-08-09 21:42:42 -07:00
Erick Tryzelaar
5dc356ddb0
Merge pull request #133 from erickt/fixup
...
Fix doc links, recover some json deserialization speed
2015-08-09 18:17:02 -07:00
Erick Tryzelaar
dc36fd38d6
Gain back 10MB/s on the json deserialization benchmark
2015-08-09 16:45:55 -07:00
Erick Tryzelaar
26873bf3d5
Don't use sudo in the travis
2015-08-09 16:40:35 -07:00
Erick Tryzelaar
ff53323790
Correct the documentation links in the crates
2015-08-09 16:38:10 -07:00
Erick Tryzelaar
fd3869d380
Update the README
2015-08-09 16:37:21 -07:00
Erick Tryzelaar
1d538bc59d
Merge pull request #132 from Byron/fix-codegen
...
Use fully qualified `Result` type
2015-08-08 15:48:49 -07:00
Erick Tryzelaar
a142d319e7
Point the serde_json readme at the root readme
2015-08-07 12:05:01 -07:00
Erick Tryzelaar
da3bf3c20a
Merge pull request #130 from oli-obk/fix
...
json deser from Value adjusted to be equal to deser from strings
2015-08-07 09:45:37 -07:00
Erick Tryzelaar
1672306fa1
Merge pull request #129 from erickt/remove-error
...
Remove "_error" from de::Error methods, add string argument to Error::syntax()
2015-08-07 09:45:11 -07:00
Erick Tryzelaar
7fb2bd50bf
Add a string argument to Error::syntax()
2015-08-07 08:08:56 -07:00
Erick Tryzelaar
2aeb51ad51
Remove "_error" from de::Error::*_error
2015-08-07 07:53:22 -07:00
Erick Tryzelaar
0482b756e8
Merge pull request #127 from erickt/json3
...
Rewrite json parser to not require consuming the full stream
2015-08-07 07:52:52 -07:00
Erick Tryzelaar
1d9c707a76
Rewrite json parser to not require consuming the full stream
...
Closes #89
2015-08-06 11:12:37 -07:00
Erick Tryzelaar
199ed417bd
Merge pull request #126 from erickt/json-f64
...
Update json number parsing to switch to floats if the number gets too big
2015-08-06 10:08:31 -07:00
Erick Tryzelaar
199a02cb68
i64::wrapping_neg is not stable yet
2015-08-06 09:31:37 -07:00
Erick Tryzelaar
b6371f045f
Simplify parsing a number
2015-08-06 07:12:00 -07:00
Erick Tryzelaar
fd84aec485
Fix parsing min, max, and epsilon f64 values
2015-08-05 08:15:47 -07:00
Erick Tryzelaar
ed6777e59f
Fix json parsing i64::MIN, add tests for min and max i64 and u64 values
2015-08-03 09:09:44 -07:00
Erick Tryzelaar
22024a2b71
Simplify parsing floating point decimals and exponents
2015-08-01 14:26:53 -07:00
Erick Tryzelaar
8eff38b6f6
Eliminate some code duplication parsing an exponent as an integer
2015-08-01 13:50:42 -07:00
Erick Tryzelaar
fa562d449d
Minor optimization to not check if JSON number starts with '-' twice
2015-08-01 13:50:24 -07:00
Erick Tryzelaar
c9d55362d6
Add a serde_json::Result helper type
2015-08-01 13:49:57 -07:00
Erick Tryzelaar
23031d057f
Add test for parsing json "0" and "0.0"
2015-07-31 07:33:23 -07:00
Erick Tryzelaar
882d394352
Remove a debug comment
2015-07-31 07:28:07 -07:00
Erick Tryzelaar
fbdede68a4
Build the serde_json docs
2015-07-31 07:24:05 -07:00
Erick Tryzelaar
e88ef4715c
Explicitly make the visit_struct_{,variant}_elt key a &'static str
2015-07-31 07:22:14 -07:00
Erick Tryzelaar
94f3dd25d8
Allow VariantVisitor::visit_newtype to default to calling visit_tuple
2015-07-31 07:22:13 -07:00
Erick Tryzelaar
2c58a9c11d
Expose TupleVisitor*::new
2015-07-31 07:22:13 -07:00
Erick Tryzelaar
97528b59cf
Add support for serializing newtype structs
...
This enables formats like JSON to serialize newtype wrapper
structs without the normal object wrapper. Consider types like:
```rust
struct Point {
x: u32,
y: u32,
}
stuct MyPoint(Point);
```
Before this patch, `MyPoint(1,2)` would get serialized as
`[{"x":1,"y":2}]`, but now it gets serialized as `{"x":1,"y"2}`.
2015-07-31 07:22:13 -07:00
Erick Tryzelaar
6715fb6652
Rename visit_simple to visit_newtype
2015-07-31 07:22:13 -07:00
Erick Tryzelaar
fefc010deb
Rename visit_enum_simple to visit_newtype_variant
2015-07-31 07:22:13 -07:00
Erick Tryzelaar
6cbb72decf
Inlne the visit_seq method
2015-07-31 07:22:13 -07:00
Erick Tryzelaar
7e25ed863c
Merge pull request #120 from erickt/enum-fields
...
Add enum fields and tuple length to deserialization visitor methods, renamed some more methods
2015-07-30 09:51:01 -07:00
Erick Tryzelaar
5a56394814
Add test to deserialize variants from usize and &[u8]
2015-07-30 08:06:04 -07:00
Erick Tryzelaar
de1059f648
Allow Result<T, E> to use usize variant names
2015-07-30 08:06:04 -07:00
Erick Tryzelaar
97f08086dd
Have visit_enum_simple default to calling visit_tuple_variant
2015-07-30 08:06:04 -07:00
Erick Tryzelaar
0348a3914d
Pass variant index to visit_enum_simple
2015-07-30 08:06:04 -07:00
Erick Tryzelaar
5dc245d2ce
Switch serializing Result to using simple enums
2015-07-30 08:06:04 -07:00
Erick Tryzelaar
71cc95248c
Allow Option<T> to be used directly as a ser::SeqVisitor
2015-07-30 08:06:04 -07:00
Erick Tryzelaar
2cb7d66767
Add test for deserializing a simple enum
2015-07-30 08:06:04 -07:00
Erick Tryzelaar
49fa208242
Minor cleanup
2015-07-30 08:06:04 -07:00
Erick Tryzelaar
d2fef27721
Rename ser::Serializer::visit_enum_{unit,seq,map} to visit_{unit,tuple,struct}_variant
2015-07-30 06:45:21 -07:00
Erick Tryzelaar
351b7039a8
Rename de::VariantVisitor::visit_{map,seq} to visit_{struct,tuple}
2015-07-30 06:45:21 -07:00
Erick Tryzelaar
7585ce9ed4
Re-indent
2015-07-30 06:45:21 -07:00
Erick Tryzelaar
578a0178b5
Make sure the visit_{enum,struct,tuple_struct} name is a &'static str
2015-07-30 06:45:21 -07:00
Erick Tryzelaar
6c9cebdcc3
Pass the variant fields and tuple lengths into visit_{enum,tuple,tuple_struct}
2015-07-30 06:45:21 -07:00
Erick Tryzelaar
35e2022e9a
Point at github.com/serde-rs/serde
2015-07-30 06:43:20 -07:00
Erick Tryzelaar
0058e3a8d4
Merge pull request #111 from oli-obk/master
...
tuple enums with single element should not be a json-array
2015-07-29 13:35:43 -07:00
Erick Tryzelaar
abf28ee167
Merge pull request #118 from erickt/ignore-fields
...
Add `#[serde(skip_serializing)] to skip serializing some fields
2015-07-29 10:08:19 -07:00
Erick Tryzelaar
b1cb5379de
Add `#[serde(skip_serializing)] to skip serializing some fields
...
Closes #99
2015-07-23 08:07:49 -07:00
Erick Tryzelaar
447d08bd91
Merge pull request #117 from erickt/fix-json
...
Fix deriving traits for fully generic types.
2015-07-23 08:04:46 -07:00
Erick Tryzelaar
b0512a4479
Fix deriving traits for fully generic types.
...
Closes #100
2015-07-23 07:25:27 -07:00
Erick Tryzelaar
8663435a05
Merge remote-tracking branch 'remotes/origin/master' into v5-5
...
# Conflicts:
# serde_tests/tests/test_json.rs
2015-07-23 07:04:10 -07:00
Erick Tryzelaar
327990bc5f
Merge pull request #115 from erickt/fix-json
...
Fix serializing maps/sequences with no size hint
2015-07-23 06:58:18 -07:00
Erick Tryzelaar
57753c9044
Fix references to serde::json
2015-07-22 10:44:43 -07:00
Erick Tryzelaar
e35603eb85
Fix serializing maps/sequences with no size hint
...
Closes #101
2015-07-22 10:44:43 -07:00
Erick Tryzelaar
8fa40fe7e1
Move json into it's own crate
...
Not everyone needs json, so no reason to force people to build
it.
2015-07-22 10:44:43 -07:00
Erick Tryzelaar
d4c20829f6
Inline enum visit_map
2015-07-22 10:44:43 -07:00
Erick Tryzelaar
dbe2beacb0
Allow structs to be deserialized from sequences
...
This relies on the sequence to have the same ordering as the
struct field order.
2015-07-22 10:44:43 -07:00
Erick Tryzelaar
b9a938a01c
Some default de::Visitor::visit* should proxy to other methods
2015-07-22 10:44:43 -07:00