1.1.0 • Published 3 months ago

activitypub-types v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

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 from APObject (#5)
  • Improve AP documentation (#3, by @Saiv46)
  • Update README docs
  • Refactor (#3, by @Saiv46)

v1.0.3

  • Use orderedItems instead of items in OrderedCollection (#1, by @RangerMauve)

License

MIT

1.1.0

3 months ago

1.0.2

8 months ago

1.0.3

8 months ago

1.0.1

1 year ago

1.0.0

1 year ago