#data-model #quick #helper #subset #unsupported #reduced

serde_serializer_quick_unsupported

实现支持 serde 数据模型子集的序列化器的辅助工具

3 个版本

0.1.2 2022 年 12 月 22 日
0.1.1 2022 年 10 月 21 日
0.1.0 2022 年 10 月 21 日

#1355 in 编码

Download history • Rust 包仓库 206/week @ 2024-03-15 • Rust 包仓库 195/week @ 2024-03-22 • Rust 包仓库 216/week @ 2024-03-29 • Rust 包仓库 315/week @ 2024-04-05 • Rust 包仓库 167/week @ 2024-04-12 • Rust 包仓库 250/week @ 2024-04-19 • Rust 包仓库 295/week @ 2024-04-26 • Rust 包仓库 272/week @ 2024-05-03 • Rust 包仓库 365/week @ 2024-05-10 • Rust 包仓库 339/week @ 2024-05-17 • Rust 包仓库 284/week @ 2024-05-24 • Rust 包仓库 279/week @ 2024-05-31 • Rust 包仓库 415/week @ 2024-06-07 • Rust 包仓库 1014/week @ 2024-06-14 • Rust 包仓库 1343/week @ 2024-06-21 • Rust 包仓库 963/week @ 2024-06-28 • Rust 包仓库

3,810 次每月下载
3 个包中使用 (2 直接)

LGPL-3.0-only

13KB
270

serde_serializer_quick_unsupported

Crates.io License

实现支持 serde 数据模型子集的序列化器的辅助工具

通常需要实现一个序列化器,其中包含许多意外的/不支持的输入类型。这个便利宏可以让你更容易地声明这些类型。

use serde_serializer_quick_unsupported::serializer_unsupported;

struct MySerializer;
impl serde::Serializer for MySerializer {
	type Ok = ();
	type Error = serde::de::value::Error;
	serializer_unsupported! {
		err = (<Self::Error as serde::ser::Error>::custom("Unexpected input"));
		bool i8 i16 i32 i64 u8 u16 u32 u64 f32 f64 char str bytes none some unit unit_struct
		unit_variant newtype_struct newtype_variant seq tuple tuple_struct tuple_variant map struct
		struct_variant i128 u128
	}
}

只需删除你不想产生错误的代码。

无运行时依赖