activitypub-types
v1.1.0
Published
ActivityPub Typescript types
Downloads
1,110
Maintainers
Readme
ActivityPub Types
TypeScript typings for ActivityPub
Installation
npm i activitypub-types
# or
yarn add activitypub-types
How to use
Implemented and documented every structure from specification. You can use interfaces and extend them by yourself, or you can use specified fields types.
To specify object use correct type:
import { APAdd } from 'activitypub-types';
const addActivity: APAdd = {
type: 'Add',
actor: 'https://actor.example.org',
// ...
}
Fields in types are pretty flexible, so you can pass different variations:
import { APAdd, APActor } from 'activitypub-types';
const actor1 = 'https://actor.example.org';
const actor2: APActor = {
type: 'Person',
id: 'https://actor2.example.org',
summary: 'Another actor',
inbox: 'https://actor2.example.org/inbox',
outbox: 'https://actor2.example.org/outbox',
};
const addActivity: APAdd = {
type: 'Add',
actor: [actor1, actor2],
// ...
};
To provide @context
field use APRoot
:
import { APAdd, APRoot } from 'activitypub-types';
const addActivity: APRoot<APAdd> = {
'@context': 'https://www.w3.org/ns/activitystreams',
type: 'Add',
// ...
}
If you need field types themselves, you can import as well:
import { TypeField, NameField } from 'activitypub-types';
interface APExample {
type: TypeField;
name?: NameField;
// ...
}
Changelog
v1.1.0
- Update activities and documents types (#3, by @Saiv46)
- Add
APRoot
type and removed@context
fromAPObject
(#5) - Improve AP documentation (#3, by @Saiv46)
- Update README docs
- Refactor (#3, by @Saiv46)
v1.0.3
- Use
orderedItems
instead ofitems
inOrderedCollection
(#1, by @RangerMauve)