Commit Graph

211 Commits

Author SHA1 Message Date
gibbz00 f17e2e0350 feat: impl ToXml for Box<T> 2024-10-22 20:47:50 +00:00
Dirkjan Ochtman 0f641fdc1a Apply clippy suggestions for Rust 1.82 2024-10-22 19:53:46 +00:00
Dirkjan Ochtman 960c44af2f Add FUNDING metadata 2024-10-10 07:31:38 +00:00
Dirkjan Ochtman 209d34184c Update repository URL after move 2024-08-20 18:21:33 +02:00
Beau Hartshorne 677f429afe Update README.md 2024-08-04 22:52:35 +02:00
Beau Hartshorne 4c3ad2cb8f
Update README.md (#66) 2024-07-24 11:56:28 -07:00
Wez Furlong a1610f689f Allow direct String fields to match the empty string
Empty is not the same as missing, and the empty string
crops up a lot in upnp/dlna.
2024-06-07 14:52:42 +02:00
Dirkjan Ochtman dfc5894edf Provide more context in DuplicateValue errors 2024-06-07 13:58:52 +02:00
Wez Furlong 775bad82a4 really fix scalar enum namespace handling
It is actually important to consider the field name when provided,
otherwise we can incorrectly match fields with different names!
2024-06-07 13:39:14 +02:00
Wez Furlong 2156e100ee fix in "URL is not a hyperlinke" in cargo doc
```
warning: this URL is not a hyperlink
   --> /home/wez/wez-personal/instant-xml/instant-xml/src/de.rs:499:32
    |
499 | /// Valid character ranges per https://www.w3.org/TR/xml/#NT-Char
    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `<https://www.w3.org/TR/xml/#NT-Char>`
    |
    = note: bare URLs are not automatically turned into clickable links
    = note: `#[warn(rustdoc::bare_urls)]` on by default
```
2024-05-23 00:01:20 +02:00
Wez Furlong 5c0171b474 emit ::std::result::Result rather than unqualified Result
This fixes an issue where attempting to derive FromXml or ToXml
would fail if the embedding application had used something like

```
pub type Result<T> = std::result::Result<T, Error>;
```
2024-05-23 00:01:20 +02:00
Wez Furlong 3e72aa7ae3 fix erroneous debug assertion in nested namespace case
The assertion was checking to ensure that the emitted tag
had no prefix, which breaks the case where a prefix is
required, but only in debug builds!
2024-05-23 00:01:20 +02:00
Wez Furlong 05de91af02 fixup namespace handling for scalar enums
We need to match the default namespace from the type,
rather than the namespace from the associate id.
2024-05-23 00:01:20 +02:00
Nicholas Rempel c584137ee5 Add support for comments 2024-04-06 14:26:49 -07:00
Nicholas Rempel a199cc7b5c Map default xml prefix 2024-04-04 08:57:35 +02:00
Dirkjan Ochtman 2b691c5131 Extend test to cover . and _, too 2024-04-02 07:19:39 +02:00
Dirkjan Ochtman 6b483b7e6d Bump instant-xml-macros version to 0.4.2 2024-04-02 07:19:39 +02:00
Nicholas Rempel 78ed6a6730 Add test for namespace containing dash 2024-04-02 07:19:39 +02:00
Dirkjan Ochtman 7e3099c915 Enable namespace prefixes containing dashes 2024-04-02 07:19:39 +02:00
Dirkjan Ochtman a0c114ed02 macros: prepare 0.4.1 release 2024-03-18 14:37:21 +01:00
dependabot[bot] 5009655734 Update heck requirement from 0.4 to 0.5
---
updated-dependencies:
- dependency-name: heck
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 14:26:19 +01:00
Beau Hartshorne 1d9b5f62ed
Add cover image (#51) 2024-02-28 11:13:54 -08:00
Dirkjan Ochtman 8e8dc10419 Bump MSRV to 1.61 (for memchr) 2023-10-25 22:36:20 +02:00
Dirkjan Ochtman 173997f07b Bump version for semver-incompatible API changes 2023-10-25 22:36:20 +02:00
Dirkjan Ochtman 3372ccb981 Add basic support for CDATA 2023-10-25 22:36:20 +02:00
Dirkjan Ochtman a6774baef4 Rename entities test case to escaping 2023-10-25 22:36:20 +02:00
Dirkjan Ochtman edad589294 Escape entities in context iterator 2023-10-25 22:36:20 +02:00
Dirkjan Ochtman efdf9334c7 Move decode() into de module 2023-10-25 22:36:20 +02:00
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