@palmetto/nestjs-pubsub 2.0.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,7 +5,7 @@ Provides a NestJS module to provide a PubSub Publisher and automatically discove
5
5
  ## Installation
6
6
 
7
7
  ```sh
8
- yarn add @palmetto/pubsub @palmetto/nestjs-pubsub zod
8
+ yarn add @palmetto/pubsub @palmetto/nestjs-pubsub zod @palmetto/trace dd-trace
9
9
  ```
10
10
 
11
11
  Next, add in the PubSub transports you want to use:
@@ -36,7 +36,10 @@ import {
36
36
  Publisher,
37
37
  } from "@palmetto/pubsub";
38
38
 
39
- import { EventSubscriber } from "@palmetto/nestjs-pubsub";
39
+ import {
40
+ PubSubRabbitSubscriber,
41
+ PubSubBullMqSubscriber,
42
+ } from "@palmetto/nestjs-pubsub";
40
43
 
41
44
  import { Injectable, Module } from "@nestjs/common";
42
45
 
@@ -72,7 +75,7 @@ const MyOtherModelConfig: BullMqQueueConfiguration = {
72
75
  class MyModelHandler {
73
76
  constructor(private readonly publisher: Publisher) {}
74
77
 
75
- @EventSubscriber(MyModelConfig)
78
+ @PubSubRabbitSubscriber(MyModelConfig)
76
79
  async handler(message: MyModel) {
77
80
  // here, we're publishing a new message to bullmq based on the message we received
78
81
  const newMessage: MyOtherModel = {
package/dist/main.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from "./pubsub-module.js";
2
2
  export * from "./pubsub-bullmq-module.js";
3
3
  export * from "./pubsub-rabbitmq-module.js";
4
- export { EventSubscriber } from "./subscriber.js";
4
+ export { type HandlerMethod, PubSubBullMqSubscriber, PubSubRabbitSubscriber, } from "./subscriber.js";
package/dist/main.js CHANGED
@@ -14,9 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.EventSubscriber = void 0;
17
+ exports.PubSubRabbitSubscriber = exports.PubSubBullMqSubscriber = void 0;
18
18
  __exportStar(require("./pubsub-module.js"), exports);
19
19
  __exportStar(require("./pubsub-bullmq-module.js"), exports);
20
20
  __exportStar(require("./pubsub-rabbitmq-module.js"), exports);
21
21
  var subscriber_js_1 = require("./subscriber.js");
22
- Object.defineProperty(exports, "EventSubscriber", { enumerable: true, get: function () { return subscriber_js_1.EventSubscriber; } });
22
+ Object.defineProperty(exports, "PubSubBullMqSubscriber", { enumerable: true, get: function () { return subscriber_js_1.PubSubBullMqSubscriber; } });
23
+ Object.defineProperty(exports, "PubSubRabbitSubscriber", { enumerable: true, get: function () { return subscriber_js_1.PubSubRabbitSubscriber; } });
@@ -1,3 +1,5 @@
1
- import { BullMqQueueConfiguration, PubSubConfiguration, RabbitQueueExchangeConfiguration } from "@palmetto/pubsub";
1
+ import { MessageContext, MessageResult, BullMqMessageContext, BullMqQueueConfiguration, RabbitMqMessageContext, RabbitQueueExchangeConfiguration } from "@palmetto/pubsub";
2
2
  export declare const EVENT_HANDLER: unique symbol;
3
- export declare const EventSubscriber: (config: PubSubConfiguration | RabbitQueueExchangeConfiguration | BullMqQueueConfiguration) => <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
3
+ export type HandlerMethod<TMessageContext extends MessageContext> = (msg: never, context: TMessageContext) => Promise<MessageResult> | MessageResult;
4
+ export declare const PubSubRabbitSubscriber: (config: RabbitQueueExchangeConfiguration) => <T extends HandlerMethod<RabbitMqMessageContext>>(target: object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T>;
5
+ export declare const PubSubBullMqSubscriber: (config: BullMqQueueConfiguration) => <T extends HandlerMethod<BullMqMessageContext>>(target: object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T>;
@@ -1,7 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventSubscriber = exports.EVENT_HANDLER = void 0;
3
+ exports.PubSubBullMqSubscriber = exports.PubSubRabbitSubscriber = exports.EVENT_HANDLER = void 0;
4
+ /* eslint-disable @typescript-eslint/no-unnecessary-type-parameters */
4
5
  const common_1 = require("@nestjs/common");
5
6
  exports.EVENT_HANDLER = Symbol("EVENT_HANDLER");
6
- const makePubSubDecorator = () => (config) => (0, common_1.applyDecorators)((0, common_1.SetMetadata)(exports.EVENT_HANDLER, Object.assign({}, config)));
7
- exports.EventSubscriber = makePubSubDecorator();
7
+ const EventSubscriber = (config) => {
8
+ return function (target, propertyKey, descriptor) {
9
+ (0, common_1.SetMetadata)(exports.EVENT_HANDLER, Object.assign({}, config))(target, propertyKey, descriptor);
10
+ return descriptor;
11
+ };
12
+ };
13
+ exports.PubSubRabbitSubscriber = (EventSubscriber);
14
+ exports.PubSubBullMqSubscriber = (EventSubscriber);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@palmetto/nestjs-pubsub",
3
- "version": "2.0.1",
3
+ "version": "3.0.0",
4
4
  "main": "./dist/main.js",
5
5
  "scripts": {
6
6
  "lint": "yarn run -T eslint --fix ./src",
@@ -24,7 +24,7 @@
24
24
  "@nestjs/core": "^11.1.3",
25
25
  "@nestjs/testing": "^11.1.5",
26
26
  "@palmetto/nestjs-errors": "^2.2.1",
27
- "@palmetto/pubsub": "^2.0.0",
27
+ "@palmetto/pubsub": "^3.0.0",
28
28
  "@swc/core": "^1.13.3",
29
29
  "@types/node": "^24.2.1",
30
30
  "@vitest/coverage-v8": "^3.2.4",
@@ -52,7 +52,7 @@
52
52
  "@nestjs/common": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0",
53
53
  "@nestjs/core": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0",
54
54
  "@palmetto/nestjs-errors": "^2.2.1",
55
- "@palmetto/pubsub": "^2.0.0",
55
+ "@palmetto/pubsub": "^3.0.0",
56
56
  "zod": "^4.1.13"
57
57
  }
58
58
  }