New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@hookdeck/pubsub

Package Overview
Dependencies
Maintainers
0
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hookdeck/pubsub

An experimental SDK providing PubSub abstractions for Hookdeck

  • 0.1.5-alpha
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
6
decreased by-57.14%
Maintainers
0
Weekly downloads
 
Created
Source

Hookdeck Pub/Sub SDK [ALPHA Experiment]

Package Version Dependencies Status Build Status Coverage Status Open Issues Commitizen Friendly

Hookdeck allows for Pub/Sub-type communication, but the platform primitives differ. This library enables the use of Pub/Sub primitives and mapping them to Hookdeck ones.

Here's a mapping of Pub/Sub conventions to Hookdeck ones:

  • Channel: A Hookdeck Source with a unique name where events are published
  • Subscription: A Hookdeck Connection consisting of a Source, Rules, and a Destination. The Destination is where events are delivered to and is the subscriber.

The current plan is only to support Filter rules.

Contents

Usage

const pubsub = new HookdeckPubSub({
  // Hookdeck project API Key
  apiKey,

  // Used when creating all Sources/channels
  publishAuth,
});

// Dynamically creates the Hookdeck Connection
const subscription = channel.subscribe({
  channel: "orders",

  // Where events published on the channel are sent
  url,

  // Optional. Used to authenticate the request to the subscribing url.
  auth,
});

// Creates a Source on the fly if one does not already exist with given name
const channel = pubsub.channel({
  name: "orders",
});

// Performs a POST request to the underlying Source URL
await channel.publish({
  channel: "orders",

  event: {
    type: "order.updated",
    data: {
      status: "PAYMENT_RECEIVED",
    },
  },
});

// Get all subscriptions to the "orders" channel
// Note: This current performs a fuzzy match
const subscriptions = await pubsub.getSubscriptions({
  name: "orders",
});

// Get all events sent to the subscription
const events = await pubsub.getEvents({ subscriptionId, includeBody: true });

// Get all delivery attempts for an event
const attempts = await pubsub.getDeliveryAttempts({
  eventId,
  includeBody: true,
});

Todos

  • Set up CI/CD
  • Add support for filters on subscriptions

Contributing

Ask questions and raise issues in the issues section.

Credits

Keywords

FAQs

Package last updated on 14 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc