Dirkjan Ochtman
6ea31b721f
Remove impl FromXml for &str
...
This is a bit opinionated, but it helps avoid run-time panics from
doing the simple thing (&str) which is wrong in the face of
escaping strings. The overhead from `Cow` (both in terms of developer
experience and run-time performance) seems limited enough.
This also makes the next part a little easier.
2023-10-25 22:36:20 +02:00
Dirkjan Ochtman
4c04d71224
Add some test helpers
2023-10-25 22:36:20 +02:00
Craig Bester
2595da57ce
Decode hexadecimal character references
2023-10-23 12:38:39 +02:00
Craig Bester
366cc05b08
Decode decimal character references
2023-10-23 12:38:39 +02:00
Craig Bester
86784d7794
Reject unterminated ampersand entities
2023-10-23 12:38:39 +02:00
Dirkjan Ochtman
c89afc2553
Apply some clippy suggestions
2023-09-15 13:04:46 +02:00
Dirkjan Ochtman
6515ad2b4f
Bump versions to 0.3.2
2023-09-15 13:04:46 +02:00
Dirkjan Ochtman
c73a852e07
Avoid warnings for non-snake_case variable names
2023-09-15 13:04:46 +02:00
Dirkjan Ochtman
cd7a863d90
Explicitly set workspace resolver
2023-09-15 13:04:46 +02:00
Dirkjan Ochtman
82ca8a224e
Correctly handle multi-byte characters in string encoding
2023-09-15 13:04:46 +02:00
Dirkjan Ochtman
8be61f6017
Ignore macOS cruft
2023-09-15 13:04:46 +02:00
Dirkjan Ochtman
18396f4aa5
Bump version numbers for new release
2023-03-22 13:10:20 +01:00
Dirkjan Ochtman
27b39b6125
Refer to README from Cargo metadata
2023-03-22 13:10:20 +01:00
Dirkjan Ochtman
083cd567a1
Upgrade to syn 2
2023-03-21 15:28:10 +01:00
Dirkjan Ochtman
ff00c96ac9
Bump version to 0.3 for semver-incompatible change
2023-03-03 13:17:41 +01:00
Dirkjan Ochtman
5f6091528f
Implement ToXml for str instead of &str
2023-03-03 13:17:41 +01:00
Dirkjan Ochtman
3cfd2e4706
Initial version of README
2023-03-02 13:50:08 +01:00
Dirkjan Ochtman
a47e90038b
Bump version to 0.2
2023-02-28 17:29:59 +01:00
Dirkjan Ochtman
5058699765
Give inline accumulator type the same visibility as the target
2023-02-28 17:12:31 +01:00
Dirkjan Ochtman
f51e6ae063
Fix use of lifetimes in fields of transparent structs
2023-02-28 17:12:31 +01:00
Dirkjan Ochtman
a5795b9b2d
Add support for Cow<'_, [T]>
2023-02-28 17:06:49 +01:00
Dirkjan Ochtman
2e7a48a212
Add basic Cargo metadata
2023-02-27 10:53:34 +01:00
Dirkjan Ochtman
8cbb29b388
Avoid usage of bool::then_some()
2023-02-27 10:35:06 +01:00
Dirkjan Ochtman
8a958342d6
Check MSRV in CI
2023-02-27 10:35:06 +01:00
Dirkjan Ochtman
8c618ada79
Ignore attributes when looking for scalar values
2023-02-24 17:33:33 +01:00
Dirkjan Ochtman
8c2964b318
Improve support for raw identifier field names
2023-02-24 17:33:33 +01:00
Dirkjan Ochtman
6c4cd8bd55
Add test for incorrectly nested elements with transparent
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
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