Commit Graph

155 Commits

Author SHA1 Message Date
Dirkjan Ochtman
c983e10a88 Provide field context to Deserializer implementations
Also reorders deserialize() arguments.
2023-02-24 17:33:33 +01:00
Dirkjan Ochtman
7a2e6ac735 Use associated accumulator type to deserialize into 2023-02-24 17:33:33 +01:00
Dirkjan Ochtman
be7902925e Implement transparent mode for serialization 2023-02-24 17:33:33 +01:00
Dirkjan Ochtman
b276ee173f Replace decode() function with an explicit state machine 2023-02-23 13:14:27 +01:00
Dirkjan Ochtman
93d7c3d572 Add benchmarks for string decoding 2023-02-23 13:14:27 +01:00
Dirkjan Ochtman
1e5525c9cf Check character boundaries before comparing string slices 2023-02-23 13:14:27 +01:00
Dirkjan Ochtman
7e05d35ba6 Fix clippy lints 2023-02-21 20:35:39 +01:00
Dirkjan Ochtman
60898cdf16 Improve error message on unexpected root element 2023-02-21 20:35:39 +01:00
Dirkjan Ochtman
88c52e98d2 Don't error on ignored (direct) scalar nodes 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
aa45a74bb4 Improve error for unexpected nodes 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
e186684824 Skip None attributes 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
958790be0b Rename option-vec test to option 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
5eac914cb7 Add public helper functions for custom implementations 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
682f42aacc Better errors for missing values 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
a1d7d826f8 Stop eagerly checking for missing values 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
99dab24219 Add impls for chrono::NaiveDate 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
0bfd37a9d7 Fully qualify calls to FromXml trait methods 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
f4fb07fca6 Improve error reporting, allow 0/1 as bool values 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
fbe513ab5a Add ToXml impl for slices 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
4ad194fc1f Switch from wrapped enums to forward enums 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
0a323ba302 Simplify FromXml::KIND const 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
4eafa193bd Remove unused ToXml::KIND const 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
4768d092ca Apply clippy suggestions 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
6b3fa93f69 Implement matches() directly on FromXml 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
9b2cd415af Remove unused const 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
a2aadde276 Attributes don't inherit the default namespace 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
f8b4364acd Add support for direct fields 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
d2605977aa Add some extra borrowing tests 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
aab73952a1 Improve error reporting some more 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
d5d9c60c53 Add implementations for IpAddr 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
da536d072f Lookup prefixes from local scope 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
8233884207 Better errors for unknown prefixes 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
48450b3700 Correct FromXml for Option<Vec<_>> 2022-12-13 16:52:53 +01:00
Dirkjan Ochtman
0ea0eca53f Add FromXml impl for () 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
89832babe9 Make sure to use similar_asserts in all tests 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
f6a9d66288 Don't fabricate empty string in error case 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