ActivityPub Typescript types
npm install activitypub-typesbash
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:
`ts
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:
`ts
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:
`typescript
import { APAdd, APRoot } from 'activitypub-types';const addActivity: APRoot = {
'@context': 'https://www.w3.org/ns/activitystreams',
type: 'Add',
// ...
}
`If you need field types themselves, you can import as well:
`typescript
import { TypeField, NameField } from 'activitypub-types';interface APExample {
type: TypeField;
name?: NameField;
// ...
}
`Changelog
$3
- Update activities and documents types (#3, by @Saiv46)
- Add APRoot type and removed @context from APObject (#5)
- Improve AP documentation (#3, by @Saiv46)
- Update README docs
- Refactor (#3, by @Saiv46)$3
- Use orderedItems instead of items in OrderedCollection` (#1, by @RangerMauve)