Hugo Duncan
c30311153c
Rename fmt to format
2015-05-08 12:43:11 -04:00
Hugo Duncan
a935ebe8b9
Adds serializer format specific field names
...
Allows different field names to be used for different external formats.
Field names are specified using the `rename` field attribute, e.g:
#[serde(rename(xml= "a4", json="a5"))]
Reverts #62
Addresses #61
2015-05-08 12:43:11 -04:00
Erick Tryzelaar
206e19edb4
Fix unquoting arms with latest quasi
2015-05-02 10:44:57 -07:00
Erick Tryzelaar
7cc319acca
Bump version to 0.3.2.
2015-04-26 09:21:26 -07:00
Oliver Schneider
1748831152
missing field errors displayed original field name instead of renamed
...
closes #63
2015-04-23 17:28:42 +02:00
Hugo Duncan
fd6462f8d1
Add serialize, deserialize specific rename
...
Adds the rename_serialize and rename_deserialize field attributes to
specify serialisation and deserialisation specific renames.
2015-04-21 17:58:18 -04:00
Erick Tryzelaar
c90dc9f48f
bump version to 0.3.1
2015-04-12 11:43:35 -07:00
Erick Tryzelaar
e0eff942b1
Add Error::unknown_field_error
2015-04-12 10:32:54 -07:00
Erick Tryzelaar
1da47c0870
Change de::VariantVisitor to let deserializers know the variant kind
...
This allows formats like cbor that encode a unit variant as just a
string to work.
[breaking-change]
2015-04-12 10:32:54 -07:00
Erick Tryzelaar
2cd49060fa
Rename #[serde(alias)] to #[serde(rename)] and add tests
...
Closes #9 and #47 .
2015-04-01 22:14:28 -07:00
Erick Tryzelaar
1b1c605102
Pull deserialization impls into their own file
2015-03-26 07:58:26 -07:00
Sebastian Thiel
2962287703
fix(macros): fully qualified usage of Result
...
Otherwise it was possible for the expanded macro to pickup a
user-defined `Result` type, which didn't fulfill the required type
bounds and cause compilation failure.
2015-03-23 17:04:23 +01:00
Erick Tryzelaar
d17846eff1
Add deserializer type hinting hooks
...
Formats like xml have trouble knowing if they should deserialize
tags into a sequence from the stream they are deserializing from.
This PR adds hooks so the deserializee can inform the deserializer
to provide them a sequence if possible.
Closes #38 .
2015-03-20 08:32:33 -07:00
Erick Tryzelaar
5378d22708
Switch to the new custom_deserialize syntax
2015-03-19 20:19:49 -07:00
Erick Tryzelaar
c8b2ad01b5
Update to rust HEAD
2015-03-19 20:19:49 -07:00
Hugo Duncan
3e63d34c00
Mark serde field attributes as used
...
Prevents unused attribute warnings in code that marks fields with
field level #[serde] attributes.
2015-03-19 11:04:08 -04:00
Erick Tryzelaar
eb4af09456
Simplify the variant deserializer visitor
2015-03-18 07:35:05 -07:00
Erick Tryzelaar
78137ee3a4
Rewrite enum deserialization to not require allocations
2015-03-16 22:42:04 -07:00
Erick Tryzelaar
b40d8f7bac
Remove the first
argument from visit_{seq,map}_elt
2015-03-16 22:30:02 -07:00
Erick Tryzelaar
c6cc2340c8
Rename a variable
2015-03-16 21:11:30 -07:00
Oliver Schneider
f21cbb71e2
MapVisitor::end and SeqVisitor::end were mostly never called
2015-03-16 13:27:00 +01:00
Erick Tryzelaar
f4f8194f46
More cleanup
2015-03-15 18:38:52 -07:00
Erick Tryzelaar
90e02206fe
Cleanup, and move default::Default #[derive_deserialize] support to get called when missing
2015-03-15 18:37:26 -07:00
Erick Tryzelaar
9fc9d1b33a
Get rid of syntax::ext::generic from #[derive_deserialize]
2015-03-15 17:47:25 -07:00
Erick Tryzelaar
b9f5d22630
Spring cleaning
2015-03-15 15:31:31 -07:00
Erick Tryzelaar
cbafc83af4
Cleanup palooza
2015-03-15 15:14:57 -07:00
Erick Tryzelaar
b628446768
Cleanup train
2015-03-15 15:04:11 -07:00
Erick Tryzelaar
aacc14ad7b
More cleanup
2015-03-15 14:50:00 -07:00
Erick Tryzelaar
35eb234c41
More aster driven cleanup
2015-03-15 14:31:05 -07:00
Erick Tryzelaar
9972478066
Fix #35 by not relying on the crate being import in the current module
2015-03-15 13:02:34 -07:00
Erick Tryzelaar
00287bd055
Cleanup
2015-03-14 21:47:23 -07:00
Erick Tryzelaar
11f47bd51f
Minor cleanup
2015-03-14 15:20:00 -07:00
Erick Tryzelaar
5e98a83717
Remove redundant bounds
2015-03-14 15:03:41 -07:00
Erick Tryzelaar
008ce75ae5
Replace #[derive_serialize] syntax::ext::deriving::generic with aster
2015-03-14 14:57:05 -07:00
Erick Tryzelaar
5c62b7ed06
Split serde_macros into multiple files
2015-03-14 13:09:37 -07:00
Erick Tryzelaar
99f4efd313
Merge #[derive_serialize] for structs and struct variants
2015-03-14 12:53:53 -07:00
Erick Tryzelaar
d2bd361d9c
Merge #[derive_serialize] backend for serializing tuple structs and variants
2015-03-14 12:02:21 -07:00
Erick Tryzelaar
5a32d420cd
More cleanup
2015-03-14 00:47:10 -07:00
Erick Tryzelaar
a3b2f00c92
More cleanup
2015-03-14 00:08:23 -07:00
Erick Tryzelaar
13fcf1ad5b
More cleanup
2015-03-14 00:04:25 -07:00
Erick Tryzelaar
c917941ec3
More cleanup
2015-03-13 23:43:21 -07:00
Erick Tryzelaar
f699d29fb3
More cleanup
2015-03-13 23:38:12 -07:00
Erick Tryzelaar
6723097a3f
More cleanup
2015-03-13 23:26:38 -07:00
Erick Tryzelaar
80e27344f1
More cleanup
2015-03-13 23:17:44 -07:00
Erick Tryzelaar
f244e0f522
More cleanup
2015-03-13 23:11:05 -07:00
Erick Tryzelaar
61317f5935
Replace some aster with quasi in serde_macros
2015-03-13 22:46:21 -07:00
Erick Tryzelaar
9ca1e2a8f7
Bump aster and quasi
2015-03-13 19:37:01 -07:00
Erick Tryzelaar
dc87288f48
Allow json missing fields to be treated as a null
...
Closes #34 .
2015-03-12 20:44:16 -07:00
Erick Tryzelaar
5dd53e7ea3
Change ser::{Seq,Map}Visitor to return an optional exact length
...
This is necessary for formats that serialize the length in the
format stream. Those formats need the exact length, so the
iterator-style size_hint has the wrong semantics.
2015-03-12 19:40:46 -07:00
Erick Tryzelaar
9e454a243a
Rename Serialize::visit to Serialize::serialize
2015-03-12 07:33:34 -07:00
Erick Tryzelaar
3f62b6d2bf
Merge ser::Serializer and ser::Visitor
2015-03-11 11:05:46 -07:00
Erick Tryzelaar
fbd6d1974a
Remove the unused Serializer::Value associated type
2015-03-11 10:15:27 -07:00
Erick Tryzelaar
5d22be26d8
Fixed the description
2015-03-08 23:12:33 -07:00
Erick Tryzelaar
28f43993f2
Add cargo metadata
2015-03-08 23:02:44 -07:00
Erick Tryzelaar
e798108785
Bump quasi and aster dependencies
2015-03-08 22:59:25 -07:00
Erick Tryzelaar
805a3435cf
Replace serde1 with serde2!
...
Closes #26 !
2015-03-08 22:56:33 -07:00
Erick Tryzelaar
c327eb50fd
get serde to compile
2015-02-15 22:03:32 -08:00
Erick Tryzelaar
4dccf8cdec
Clean up warnings in serde
2015-02-13 10:26:13 -08:00
Erick Tryzelaar
b70d77b5c9
Cleanup code, fix some incompatibilites with rust head
2015-02-13 09:40:47 -08:00
Thomas Bahn
81f84a4ea4
Remove unneeded mut
specifiers
2015-02-06 22:23:16 +01:00
Thomas Bahn
5dd077969c
Use slicing syntax instead of .as_slice()
2015-02-06 22:23:16 +01:00
Thomas Bahn
3022d7301a
Use deref coercions when possible
2015-02-06 22:23:15 +01:00
Thomas Bahn
3b5d71fbb5
Add empty associated_types
in expand_derive
2015-02-06 16:51:11 +01:00
Dan Burkert
460dbce8cc
Update for rustc 1.0.0-nightly (8903c21d6 2015-01-15 22:42:58 +0000)
2015-01-17 16:36:15 -08:00
Erick Tryzelaar
8715a41158
Update to rust HEAD
2015-01-07 09:30:11 -08:00
Erick Tryzelaar
b98719a4a0
update to rust HEAD, switch to rustc_serialize
2015-01-04 17:18:50 -08:00
Thomas Bahn
d09b9eb72c
Unboxed closures: function signature of expand* changed
2015-01-02 13:32:54 +01:00
Thomas Bahn
ae665a1c05
Syntax extension internals in rust changed
...
See e656081b70
2015-01-01 14:22:23 +01:00
Erick Tryzelaar
29242ee6a6
update to rust head
2014-12-17 23:00:05 -08:00
Erick Tryzelaar
246396fdb4
update to rust HEAD, fix the tests
2014-12-13 16:55:42 -08:00
Erick Tryzelaar
857723dff6
Fix serde to compile on master again
2014-11-22 16:27:01 -08:00
Erick Tryzelaar
21a58e86e4
Rename Serializable to Serialize, Deserializable to Deserialize
2014-11-13 07:54:44 -08:00
Erick Tryzelaar
23f3173ded
update to rust HEAD
2014-11-03 12:58:36 -08:00
Erick Tryzelaar
475fd50564
rewrite deserialization to allow for copy-less struct fields
2014-10-23 10:26:52 -07:00
kvark
bfd1fb0ee9
Fixed String and Option conflicts for the latest Rust
2014-09-29 21:50:24 -04:00
kvark
e4916fc4c5
Updated macros to use P instead of Gc
2014-09-15 23:01:45 -04:00
kvark
2224e9afdf
Fixed the struct map interaction with serial_name. Added a separarte JSON test for serial_name.
2014-09-07 10:43:15 -04:00
kvark
b3ac319530
Implemented serializer support for serial_name attribute
2014-09-07 09:55:27 -04:00
kvark
394d0e987c
Implemented serial_name attribute
2014-09-07 09:55:27 -04:00
Erick Tryzelaar
3a6eb83da6
typarameterize Serializer
2014-09-01 13:14:52 -07:00
Erick Tryzelaar
a24075559f
Move the Deserializer typarams onto from the method to the Deserializable trait
2014-08-19 15:18:47 -07:00
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
6cd71e3e1d
deserializing from maps should ignore unknown values
2014-08-15 09:02:30 -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
d689bc8b85
initial support for more full error messages
2014-08-03 12:35:15 -07:00
Erick Tryzelaar
d68710ea09
fix improper deserializing structs-as-maps
2014-08-02 15:39:16 -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