5 个版本

0.2.2 2024年7月15日
0.2.1 2024年6月23日
0.2.0 2024年6月23日
0.1.1 2024年4月6日
0.1.0 2024年4月6日

1179网页开发 中排名

Download history 10/week @ 2024-04-22 15/week @ 2024-05-20 2/week @ 2024-06-10 179/week @ 2024-06-17 70/week @ 2024-06-24 110/week @ 2024-07-15 2/week @ 2024-07-22 24/week @ 2024-07-29

每月下载 136

MIT 许可

75KB
1.5K SLoC

apb

实现 ActivityPub 的特性和类型

apb 实现了所有 ActivityStreams 类型作为特性和,这样实现的结构体不需要持有所有可能的字段,而只需实现相关字段的获取器

apb 还提供了一个 Node<T> 枚举,它可以表示 ActivityPub 节点(空、链接、对象、数组)

在 crate 的文档中了解更多

原因

upub 使用这些类型来实现其联盟,但我希望模块化 apb 类型

状态

这个 crate 仍在开发中,优先考虑 upub 的需求,如果您想帮忙或调整 apb 以适应您的项目,请与我联系!


lib.rs:

apb

实现 ActivityPub 的特性和类型

此 crate 暴露的主要类型是 [Node],可以是

节点包含 AP 对象,这些对象实现了一个或多个特性(如 [Object] 或 [Actor])

功能

  • unstructured:所有特性都实现了对 serde_json::Value 的支持,因此可以操纵自由形式的 json 地图作为有效的 AP 对象
  • orm:枚举类型也与 sea-orm 数据库兼容
  • fetch:[Node] 暴露了 Node::fetch 以取消引用远程节点

结构

*: Actor 在技术上只是一个对象,并不是真正的“子类型”

**: PublicKey 在 ActivityPub 中引入,不是 ActivityStream 的一部分

依赖关系

~2–17MB
~159K SLoC