57 释放 (26 稳定)
2.13.0 | 2024 年 3 月 28 日 |
---|---|
2.11.1 | 2024 年 1 月 31 日 |
2.10.2 | 2023 年 10 月 19 日 |
2.6.1 | 2023 年 6 月 27 日 |
0.0.4 | 2018 年 12 月 6 日 |
#11 in #sval
1,574 每月下载量
在 4 个 crate (3 directly) 中使用
40KB
936 代码行数(不含注释)
sval derive
自動導出 sval::Value
.
lib.rs
:
#![derive(Value)]
.
このライブラリは、sval::Value
を実装するためにカスタム derive をホストしています。
構造体
コンテナ属性
#[sval(tag = "path::to::TAG")]
: 構造体にタグを設定。デフォルトではタグが使用されません。#[sval(label = "text")]
: 構造体にラベルを設定。デフォルトでは構造体の識別子が使用されます。#[sval(index = 1)]
: 構造体にインデックスを設定。デフォルトではインデックスが使用されません。#[sval(unlabeled_fields)]
:指定所有字段应无标签。这将按元组的形式流式传输结构体。如果也指定了#[sval(unindexed_fields)]
,则将按序列的形式流式传输结构体。#[sval(unindexed_fields]
:指定所有字段应无索引。这将按记录的形式流式传输结构体。如果也指定了#[sval(unlabeled_fields)]
,则将按序列的形式流式传输结构体。
字段属性
#[sval(tag = "path::to::TAG")]
:在结构体字段本身上设置标签。默认不使用标签。如果您想使用标签来表示字段值具有特定的属性,请使用#[sval(data_tag)]
。#[sval(data_tag = "path::to::TAG")]
:在结构体字段值上设置标签。默认不使用标签。#[sval(label = "text")]
:在结构体字段上设置标签。默认使用字段标识符。#[sval(index = 1)]
:在结构体字段上设置索引。默认使用字段的零基偏移量。#[sval(skip)]
:跳过字段。#[sval(flatten)]
: 将字段展平到结构体中。此属性需要flatten
Cargo 功能。
新类型
コンテナ属性
#[sval(tag = "path::to::TAG")]
: 在新类型上设置标签。默认不使用标签。#[sval(label = "text")]
: 在新类型上设置标签。默认使用新类型的标识符。#[sval(index = 1)]
: 在新类型上设置索引。默认不使用索引。#[sval(transparent)]
: 不包装新类型,直接以底层字段的形式流式传输。
枚举
コンテナ属性
#[sval(tag = "path::to::TAG")]
: 在枚举上设置标签。默认不使用标签。#[sval(label = "text")]
: 在枚举上设置标签。默认使用枚举的标识符。#[sval(index = 1)]
: 在枚举上设置索引。默认不使用索引。#[sval(dynamic)]
: 不在枚举中包装变体,直接流式传输。
变体属性
#[sval(tag = "path::to::TAG")]
:在枚举变体本身上设置标签。默认不使用标签。#[sval(label = "text")]
:在枚举变体上设置标签。默认使用变体的标识符。#[sval(index = 1)]
:在枚举变体上设置索引。默认使用变体的零基偏移量。
依赖项
~270–770KB
~18K SLoC