Commit Graph

108 Commits

Author SHA1 Message Date
Dirkjan Ochtman 8c2964b318 Improve support for raw identifier field names 2023-02-24 17:33:33 +01:00
Dirkjan Ochtman 786f035f76 Implement transparent mode for deserialization 2023-02-24 17:33:33 +01:00
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 7e05d35ba6 Fix clippy lints 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 682f42aacc Better errors for missing values 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 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 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 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