1.8.0 • Published 7 months ago

@sebspark/pubsub v1.8.0

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
7 months ago

@sebspark/pubsub

A wrapper around @google-cloud/pubsub adding simple methods for publishing and subscribing with typed messages.

Examples

type ExampleMessage = {
  messageType: string;
  message: string;
};

type ExamplePubsubChannels = {
  example: ExampleMessage;
};

SubscriptionClient

// Instantiate subscriber.
const subscriber = createSubscriber<ExamplePubsubChannels>({
  projectId: "test",
});

// Ensure
await subscriber.topic("example").initiate("example_subscription", {
  autoAck: false, // false means you need to call acc or nack in the message event handler.
  expirationPolicy: 3600 * 24, // Seconds.
  messageRetentionDuration: 3600 * 27 * 7, // Seconds
});

await subscriber.topic("example").subscribe("example_subscription", {
  onMessage: async (message: TypedMessage<ExampleMessage>) => {
    try {
      // Do something.

      // Ack message.
      message.ack();
    } catch (err) {
      console.error(err);

      // Nack message.
      message.nack();
    }
  },
});

PubSubOptions

SubscriptionClient supports a simplified subset of the options from @google-cloud/pubsub and a custom parameter that decides the ack/nack behavior of messages.

export type PubSubOptions = {
  expirationPolicy: number;
  messageRetentionDuration: number;
  autoAck?: boolean; // Default true
};

Set autoAck to false if you want to ack/nack messages manually in your message handler.

1.5.5

1 year ago

1.7.2

7 months ago

1.5.4

1 year ago

1.8.0

7 months ago

1.7.1

9 months ago

1.6.2

10 months ago

1.5.3

1 year ago

1.7.0

9 months ago

1.6.1

11 months ago

1.5.2

1 year ago

1.6.0

11 months ago

1.5.1

1 year ago

1.5.0

1 year ago

1.4.0

1 year ago

1.3.1

1 year ago

1.3.0

1 year ago

1.5.6

1 year ago

1.2.0

1 year ago

1.1.1

1 year ago

1.1.2

1 year ago

1.1.0

1 year ago

1.0.0

1 year ago

0.6.3

1 year ago

0.6.2

1 year ago

0.6.1

2 years ago

0.3.0

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.5.0

2 years ago

0.2.3

2 years ago

0.4.0

2 years ago

0.2.2

2 years ago

0.6.0

2 years ago

0.5.1

2 years ago

0.2.4

2 years ago

0.1.1

2 years ago

0.1.0

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago