Never Paint Mohawks

    @sockethub/activity-streams

    4.4.0-alpha.3 • Public • Published

    @sockethub/activity-streams.js

    License Downloads

    A simple tool to facilitate handling and referencing activity streams and it's objects, cutting down on verbosity.

    Designed to run in both node.js and the browser.

    I am learning about JSON-LD and ActivityStreams2 as I write this library, so suggestions for improvement are very welcome.

    Install

    Node.js

    $ npm install @sockethub/activity-streams

    const ASFactory = require('@sockethub/activity-streams');
    const ActivityStreams = ASFactory({
      failOnUnkownObjectProperties: false // default
    });

    Browser

    <script src="http://example.com/activity-streams.js"></script>

    Once included in a web-page, the ActivityStreams base object should be on the global scope, with the sub-properties ActivityStreams.Object and ActivityStreams.Stream.

    Example

    const ActivityStreams = ASFactory();
    
    ActivityStreams.Object.create({
      id: 'irc://exampleUser@irc.freenode.net',
      type: "person",
      name: 'Example User',
      url: "http://activitystrea.ms",
      image: {
        url: "http://activitystrea.ms/avatar.jpg",
        mediaType: "image/jpeg",
        width: 250,
        height: 250
      }
    });
    
    ActivityStreams.on('activity-object-create', function (obj) {
      console.log('this object was just created: ', obj);
    });
    
    ActivityStreams.Object.create({
      id: 'irc://irc.freenode.net/activitystreams',
      type: "chatroom",
      name: '#activitystreams'
    });
    
    const exampleUser = ActivityStreams.Object.get('irc://exampleUser@irc.freenode.net');
        // ... returns:
        //  {
        //    id: 'irc://exampleUser@irc.freenode.net',
        //    type: "person",
        //    name: 'Example User',
        //    url: "http://activitystrea.ms",
        //    image: {
        //      url: "http://activitystrea.ms/avatar.jpg",
        //      mediaType: "image/jpeg",
        //      width: 250,
        //      height: 250
        //    }
        //  }
    
    ActivityStreams.Stream({
      context: 'send',
      actor: 'irc://exampleUser@irc.freenode.net',
      object: {
        type: "message",
        content: "hello world!"
      },
      target: 'irc://irc.freenode.net/activitystreams'
    });
        // ... returns:
        //  {
        //    '@context': 'send',
        //    actor: {
        //      id: 'irc://exampleUser@irc.freenode.net',
        //      type: "person",
        //      name: 'Example User',
        //      url: "http://activitystrea.ms",
        //      image: {
        //        url: "http://activitystrea.ms/avatar.jpg",
        //        mediaType: "image/jpeg",
        //        width: 250,
        //        height: 250
        //      }
        //    },
        //    object: {
        //      type: "message",
        //      content: "hello world!"
        //    },
        //    target: {
        //      id: 'irc://irc.freenode.net/activitystreams',
        //      type: "chatroom",
        //      name: '#activitystreams'
        //    }
        //  }

    Install

    npm i @sockethub/activity-streams

    DownloadsWeekly Downloads

    1

    Version

    4.4.0-alpha.3

    License

    MIT

    Unpacked Size

    661 kB

    Total Files

    11

    Last publish

    Collaborators

    • skddc
    • galfert
    • silverbucket