3 个版本 (破坏性)
0.4.0-alpha.0 | 2020年3月11日 |
---|---|
0.2.0 | 2019年10月30日 |
0.1.0 | 2018年5月14日 |
#1764 在 异步
每月34次 下载
用于 activitystreams-types
17KB
ActivityStreams Traits
Activity Streams 特质
这些特质不提供任何功能,除了为其他项目中创建的类型提供注解。请参阅 activitystreams-types
crate 中的示例,了解这些特质如何使用。
示例
将其添加到您的 Cargo.toml
activitystreams-traits = "0.4.0-alpha.0"
serde = { version = "1.0", features = ["derive"] }
typetag = "0.1.4"
在您的项目中使用它
use activitystreams_traits::{Object, Actor};
#[derive(Clone, Debug, Default, serde::Deserialize, serde::Serialize)]
#[serde(rename_all = "camelCase")]
pub struct Persona {
#[serde(rename = "type")]
kind: String,
}
// TypeTag exists so user-defined types can be deserialized generically in activitystreams-types
#[typetag::serde]
impl Object for Persona {
fn as_any(&self) -> &(dyn Any + 'static) {
self
}
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static) {
self
}
fn duplicate(&self) -> Box<dyn Object + 'static> {
Box::new(self.clone())
}
}
impl Actor for Persona {}
贡献
您可以自由地为您发现的问题提出问题。请注意,任何贡献的代码都将根据 GPLv3 许可。
许可证
版权 © 2020 Riley Trautman
ActivityStreams Traits 是自由软件:您可以在自由软件基金会发布的 GNU 通用公共许可证的条款下重新分配它和/或修改它,无论是许可证的第 3 版,还是(根据您的选择)任何后来的版本。
ActivityStreams Traits 分发时希望它是有用的,但没有提供任何保证;甚至没有隐含的对适销性或特定用途的适用性的保证。有关详细信息,请参阅 GNU 通用公共许可证。此文件是 ActivityStreams Traits 的一部分。
您应该已收到 ActivityStreams Traits 一起的 GNU 通用公共许可证副本。如果没有,请参阅 http://www.gnu.org/licenses/。
依赖项
~2MB
~48K SLoC