Commit Graph

91 Commits

Author SHA1 Message Date
Dirkjan Ochtman
f8b4364acd Add support for direct fields 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
20f73b7e01 Add support for deserialize_with and borrow 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
5bd58698d7 Simplify logic for serializing prefixes 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
12402fb381 Serialize empty elements more efficiently 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
357fd50a9b Ignore remaining unnamed field contents 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
0dca1bbe14 Discard ignored nodes after unnamed field element 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
ff8c0c2886 Remove unnecessary workaround 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
72b8a21b4d Add support for elements in unnamed fields 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
c24d2cdaac Remove unnecessary Deserializer lifetime 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
508d29ccaa Generalize for_attr() to for_node() 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
894da25f8b Add support for unnamed fields 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
69eca9c2a5 Improve error reporting for missing values 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
cd7e3b4224 Simplify named field handling code 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
c15a0a985c Enable support for scalar Vec elements 2022-11-25 21:47:25 -08:00
Dirkjan Ochtman
526414cd4b Refactor macros crate 2022-11-25 21:47:25 -08:00
Dirkjan Ochtman
aace036ea9 Improve support for Vec fields 2022-11-25 21:47:25 -08:00
Dirkjan Ochtman
1e3ae38b25 Implement matches() method on Kind 2022-11-25 21:47:25 -08:00
Dirkjan Ochtman
32426d77ba Report kind of missing value 2022-11-25 21:47:25 -08:00
Dirkjan Ochtman
eb2cfd59f9 Improve error reporting 2022-11-25 21:47:25 -08:00
Dirkjan Ochtman
f6e22b3e31 Add support for serialize_with attribute 2022-11-25 21:47:25 -08:00
Dirkjan Ochtman
61df3a7835 Sanitize macro unit tests 2022-11-23 12:23:51 -08:00
Dirkjan Ochtman
0be0b6cc45 Implement support for wrapped enum mode 2022-11-23 12:23:51 -08:00
Dirkjan Ochtman
1190c5c345 Allow Kind to be variant over lifetime 2022-11-23 12:23:51 -08:00
Dirkjan Ochtman
433b0197bb Fix formatting 2022-11-23 12:23:51 -08:00
Dirkjan Ochtman
a4f35e5daa Generalize scalar to enum mode 2022-11-23 12:23:51 -08:00
Dirkjan Ochtman
055a654a3d Add support for generic type arguments 2022-11-22 05:50:31 +01:00
Dirkjan Ochtman
413ec05c52 Avoid consts for deserialization field recognition 2022-11-22 05:50:31 +01:00
Dirkjan Ochtman
0be3c92d27 Fix formatting 2022-11-22 05:50:31 +01:00
rsdy
4d627b514a Use field name as tag for Vec serialization 2022-10-03 11:23:07 +02:00
rsdy
44f8a2cc6d
Reduce code redundancy (#28) 2022-09-27 18:23:28 +02:00
rsdy
4a61982792 Add enum integration test and fix ser/de logic 2022-09-27 14:03:09 +02:00
rsdy
5890676710 Implement better error reporting using spans of token subtrees 2022-09-26 15:09:06 +02:00
rsdy
23ac36b559 Review follow-ups 2022-09-26 14:15:00 +02:00
rsdy
0d29741b6f Use string literals instead of idents for rename_all 2022-09-26 14:15:00 +02:00
rsdy
92dc3c8e73 Clippy lint error 2022-09-26 14:15:00 +02:00
rsdy
7cf93d15eb Enable rename_all attribute on fields and structs 2022-09-26 14:15:00 +02:00
rsdy
f017331a69 Add serde renamer 2022-09-26 14:15:00 +02:00
rsdy
1a6be5e46f Add scalar enum management 2022-09-22 15:04:48 +02:00
rsdy
cfd5d48841 Extract struct handling for ser/de macros 2022-09-22 15:04:48 +02:00
Dirkjan Ochtman
fb7570056d Add support for rename annotations 2022-09-07 22:35:36 +02:00
Dirkjan Ochtman
f64634155e Fix support for attributes with no default namespace fallback 2022-09-07 22:35:36 +02:00
Dirkjan Ochtman
b30859929b Mandate that attribute namespaces are valid prefixes 2022-09-07 21:38:44 +02:00
Dirkjan Ochtman
570cdc81a5 Fix prefixes on close tags 2022-09-07 21:38:44 +02:00
Dirkjan Ochtman
7d241959d8 Centralize serializer prefix logic in one place 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman
110605ba99 Handle namespaces in serializer in a more principled way 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman
6238ed87c5 Turn serializer API into a proper abstraction 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman
c8cc5f5a48 Simplify output token stream for ToXml macro 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman
cd37e306ad Rename fields to raw keywords 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman
674039a791 Simplify deserializer macro setup 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman
01c896a9b2 Remove indirection through Visitor 2022-09-07 13:06:44 +02:00