@ofload/graphql-mongodb-subscriptions 2.0.3 → 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.
@@ -1,5 +1,6 @@
1
1
  import { PubSubEngine } from 'graphql-subscriptions';
2
2
  import { Db } from 'mongodb';
3
+ import { PubSubAsyncIterableIterator } from 'graphql-subscriptions/dist/pubsub-async-iterable-iterator';
3
4
  type OnMessage<T> = (message: T) => void;
4
5
  export type CommonMessageHandler = (message: any) => any;
5
6
  export interface MongoPubSubChannelOptions {
@@ -15,7 +16,6 @@ export interface PubSubMongoDbOptions {
15
16
  commonMessageHandler?: CommonMessageHandler;
16
17
  }
17
18
  export declare class MongodbPubSub implements PubSubEngine {
18
- private channelName;
19
19
  private channel;
20
20
  private commonMessageHandler;
21
21
  private readonly subscriptionMap;
@@ -26,6 +26,7 @@ export declare class MongodbPubSub implements PubSubEngine {
26
26
  subscribe<T = any>(trigger: string, onMessage: OnMessage<T>): Promise<number>;
27
27
  unsubscribe(subId: number): void;
28
28
  asyncIterator<T>(triggers: string | string[], options?: unknown): AsyncIterator<T>;
29
+ asyncIterableIterator<T>(triggers: string | string[]): PubSubAsyncIterableIterator<T>;
29
30
  close(): void;
30
31
  }
31
32
  export {};
@@ -20,8 +20,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
20
20
  });
21
21
  };
22
22
  var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
25
  function verb(n) { return function (v) { return step([n, v]); }; }
26
26
  function step(op) {
27
27
  if (f) throw new TypeError("Generator is already executing.");
@@ -50,6 +50,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
50
50
  exports.MongodbPubSub = void 0;
51
51
  var pubsub_async_iterator_1 = require("./pubsub-async-iterator");
52
52
  var mongopubsub_1 = require("@ofload/mongopubsub");
53
+ var pubsub_async_iterable_iterator_1 = require("graphql-subscriptions/dist/pubsub-async-iterable-iterator");
53
54
  var defaultCommonMessageHandler = function (message) {
54
55
  console.log("MongodbPubSub.defaultCommonMessageHandler()", message);
55
56
  return message;
@@ -60,7 +61,6 @@ var MongodbPubSub = (function () {
60
61
  this.subscriptionMap = {};
61
62
  this.subsRefsMap = new Map();
62
63
  this.currentSubscriptionId = 0;
63
- this.channelName = channelName;
64
64
  this.commonMessageHandler = commonMessageHandler || defaultCommonMessageHandler;
65
65
  this.channel = new mongopubsub_1.MubSub(__assign(__assign({ mongoDb: connectionDb }, channelOptions), { name: channelName }));
66
66
  if (connectionListener) {
@@ -77,7 +77,7 @@ var MongodbPubSub = (function () {
77
77
  return __generator(this, function (_a) {
78
78
  switch (_a.label) {
79
79
  case 0:
80
- console.log("MongodbPubSub publish()", { trigger: trigger, payload: payload });
80
+ console.log('MongodbPubSub publish()', { trigger: trigger, payload: payload });
81
81
  return [4, this.channel.publish({ event: trigger, message: payload })];
82
82
  case 1:
83
83
  _a.sent();
@@ -88,7 +88,7 @@ var MongodbPubSub = (function () {
88
88
  };
89
89
  MongodbPubSub.prototype.subscribe = function (trigger, onMessage) {
90
90
  var _this = this;
91
- console.log("MongodbPubSub subscribe()", { trigger: trigger });
91
+ console.log('MongodbPubSub subscribe()', { trigger: trigger });
92
92
  var triggerName = trigger;
93
93
  var id = this.currentSubscriptionId++;
94
94
  var callback = function (message) {
@@ -127,6 +127,9 @@ var MongodbPubSub = (function () {
127
127
  MongodbPubSub.prototype.asyncIterator = function (triggers, options) {
128
128
  return new pubsub_async_iterator_1.PubSubAsyncIterator(this, triggers, options);
129
129
  };
130
+ MongodbPubSub.prototype.asyncIterableIterator = function (triggers) {
131
+ return new pubsub_async_iterable_iterator_1.PubSubAsyncIterableIterator(this, triggers);
132
+ };
130
133
  MongodbPubSub.prototype.close = function () {
131
134
  this.channel.close();
132
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mongodb-pub-sub.js","sourceRoot":"","sources":["../src/mongodb-pub-sub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongodb-pub-sub.js","sourceRoot":"","sources":["../src/mongodb-pub-sub.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ofload/graphql-mongodb-subscriptions",
3
- "version": "2.0.3",
3
+ "version": "3.0.0",
4
4
  "description": "A graphql-subscriptions PubSub Engine using MongoDB",
5
5
  "main": "dist/index.js",
6
6
  "repository": {
@@ -46,26 +46,26 @@
46
46
  "prepublishOnly": "npm run test"
47
47
  },
48
48
  "dependencies": {
49
- "@ofload/mongopubsub": "~2.0.4"
49
+ "@ofload/mongopubsub": "~3.0.1"
50
50
  },
51
51
  "peerDependencies": {
52
- "graphql-subscriptions": "^1.0.0 || ^2.0.0",
53
- "mongodb": "^6.3.0"
52
+ "graphql-subscriptions": "^3.0.0",
53
+ "mongodb": "^7.0.0"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/graphql": "^14.5.0",
57
- "@types/jest": "^29.5.1",
58
- "@types/node": "16.11.7",
59
- "@typescript-eslint/eslint-plugin": "^5.36.0",
60
- "@typescript-eslint/parser": "^5.36.0",
61
- "eslint": "8.22.0",
62
- "graphql": "^16.8.1",
63
- "graphql-subscriptions": "^2.0.0",
64
- "mongoose": "^8.0.3",
65
- "ts-jest": "^29.1.0",
66
- "ts-node": "^10.9.1",
67
- "tsc-watch": "^6.0.4",
68
- "typescript": "^5.3.3"
57
+ "@types/jest": "^30.0.0",
58
+ "@types/node": "25.3.0",
59
+ "@typescript-eslint/eslint-plugin": "^8.56.0",
60
+ "@typescript-eslint/parser": "^8.56.0",
61
+ "eslint": "10.0.1",
62
+ "graphql": "^16.12.0",
63
+ "graphql-subscriptions": "^3.0.0",
64
+ "mongoose": "^9.2.1",
65
+ "ts-jest": "^29.4.6",
66
+ "ts-node": "^10.9.2",
67
+ "tsc-watch": "^7.2.0",
68
+ "typescript": "^5.9.3"
69
69
  },
70
70
  "typings": "dist/index.d.ts",
71
71
  "typescript": {