upub/apb
alemi a3cf7a17e8
feat(apb): allow upcasting from object
basically now object.as_actor() or object.as_collection() returns an
option which is full with a self ref only if the type is correct, so
that we can assume flexible json behavior from anything implementing our
apb traits, and we don't need to rely anymore on knowing the underlying
type
also little import refactor
2024-04-29 20:01:39 +02:00
..
src feat(apb): allow upcasting from object 2024-04-29 20:01:39 +02:00
Cargo.lock feat: separated apb types into crate, reworked 2024-04-06 16:56:13 +02:00
Cargo.toml feat(apb): restructured, added target and server 2024-04-11 00:27:17 +02:00
README.md docs: document crate a little 2024-04-06 19:16:15 +02:00

apb

traits and types for implementing ActivityPub

apb implements all ActivityStreams types as traits, so that implementing structs don't need to hold all possible fields, but only implement getters for relevant ones

apb also provides a Node<T> enum, which can represent ActivityPub nodes (empty, link, object, array)

read more in this crate's docs

why

upub uses these types to implement its federation, but I wanted to modularize apb types

state

this crate is still work in progress and favors upub's needs, get in touch if you'd like to help or tune apb to your project!