@synonymdev/slashtags-actions
TypeScript icon, indicating that this package has built-in type declarations

0.1.2 • Public • Published

Slashtags Actions

Packaged handlers for Slashtags actions.

Install

npm i @synonymdev/slashtags-actions @synonymdev/slashtags-core

Usage

Setup

import { Core } from '@synonymdev/slashtags-core';
import { Actions } from '@synonymdev/slashtags-actions';

// Node environment
const node = await Core();
// Browser environment
// Use a community DHT relay or run your own https://github.com/hyperswarm/dht-relay
const node = await Core({
  relays: ['ws://trusted.dht-relay.instance.com'],
});

// Initialize the actions module using the Slashtags node
const actions = Actions(node);

Handle action urls

// Instantiate a slashtags
await actions.handle(
  scannedURL,
  {
    ACT1: {
      onResponse: (
        profile, // Responder's profile
        additionalItems, // Optional additionalItems from the authenticated Responder
      ) => {
        // Optionally Prompt the user to confirm the action,
        //  and choose what persona to use for authentication

        return {
          initiator: {
            keyPair, // {publicKey, secretKey}
            profile: InitiatorProfile, // Initiator's profile A Thing (see schema.org)
          },
          // Optional additional items to be sent to the user _before_ authentication
          additionalItems: [],
        };
      },
      onSuccess: (
        connection, // {local: Initiator's profile, remote: Responder's profile}
        additionalItems, // Optional additionalItems from the Responder _after_ authenticating the Initiator
      ) => {
        // Do something with the connection and possibly the additionalItems
      },
    },
  },
  (error) => {
    // Do something with unexpected errors (display in UI for example)
  },
);

Package Sidebar

Install

npm i @synonymdev/slashtags-actions

Weekly Downloads

85

Version

0.1.2

License

MIT

Unpacked Size

17.7 kB

Total Files

24

Last publish

Collaborators

  • rbndg
  • jayvdb
  • nzh