@fetaoily/nest-mqtt 1.0.7 → 1.0.8

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.
@@ -76,8 +76,11 @@ let MqttExplorer = MqttExplorer_1 = class MqttExplorer {
76
76
  });
77
77
  }
78
78
  explore() {
79
- const providers = this.discoveryService.getProviders();
80
- providers.forEach((wrapper) => {
79
+ const wrappers = [
80
+ ...this.discoveryService.getProviders(),
81
+ ...this.discoveryService.getControllers(),
82
+ ];
83
+ wrappers.forEach((wrapper) => {
81
84
  const { instance } = wrapper;
82
85
  if (!instance) {
83
86
  return;
@@ -90,37 +93,40 @@ let MqttExplorer = MqttExplorer_1 = class MqttExplorer {
90
93
  }
91
94
  });
92
95
  });
93
- this.client.on('message', (topic, payload, packet) => {
96
+ this.client.on('message', async (topic, payload, packet) => {
94
97
  const subscriber = this.getSubscriber(topic);
95
- if (subscriber) {
96
- const parameters = subscriber.parameters || [];
97
- const scatterParameters = [];
98
- for (const parameter of parameters) {
99
- scatterParameters[parameter.index] = parameter;
98
+ if (!subscriber) {
99
+ return;
100
+ }
101
+ const parameters = subscriber.parameters || [];
102
+ const scatterParameters = [];
103
+ for (const parameter of parameters) {
104
+ scatterParameters[parameter.index] = parameter;
105
+ }
106
+ try {
107
+ if (this.options.beforeHandle) {
108
+ await this.options.beforeHandle(topic, payload, packet);
100
109
  }
101
- try {
102
- const transform = (0, mqtt_transform_1.getTransform)(subscriber.options.transform);
103
- if (this.options.beforeHandle) {
104
- this.options.beforeHandle(topic, payload, packet);
110
+ Promise.resolve(subscriber.handle.bind(subscriber.provider)(...scatterParameters.map((parameter) => {
111
+ var _a;
112
+ switch (parameter === null || parameter === void 0 ? void 0 : parameter.type) {
113
+ case 'payload':
114
+ return (0, mqtt_transform_1.getTransform)((_a = parameter.transform) !== null && _a !== void 0 ? _a : subscriber.options.transform)(payload);
115
+ case 'topic':
116
+ return topic;
117
+ case 'packet':
118
+ return packet;
119
+ case 'params':
120
+ return MqttExplorer_1.matchGroups(topic, subscriber.regexp);
121
+ default:
122
+ return null;
105
123
  }
106
- subscriber.handle.bind(subscriber.provider)(...scatterParameters.map((parameter) => {
107
- switch (parameter === null || parameter === void 0 ? void 0 : parameter.type) {
108
- case 'payload':
109
- return transform(payload);
110
- case 'topic':
111
- return topic;
112
- case 'packet':
113
- return packet;
114
- case 'params':
115
- return MqttExplorer_1.matchGroups(topic, subscriber.regexp);
116
- default:
117
- return null;
118
- }
119
- }));
120
- }
121
- catch (err) {
124
+ }))).catch((err) => {
122
125
  this.logger.error(err);
123
- }
126
+ });
127
+ }
128
+ catch (err) {
129
+ this.logger.error(err);
124
130
  }
125
131
  });
126
132
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt.explorer.js","sourceRoot":"","sources":["../src/mqtt.explorer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mqtt.explorer.js","sourceRoot":"","sources":["../src/mqtt.explorer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { IClientOptions, Packet } from 'mqtt';
1
+ import { IClientOptions, IClientSubscribeOptions, IClientSubscribeProperties, Packet } from 'mqtt';
2
2
  import { LoggerService, Type } from '@nestjs/common';
3
3
  import { ModuleMetadata } from '@nestjs/common/interfaces';
4
- import { IClientSubscribeOptions, IClientSubscribeProperties } from 'mqtt/src/lib/client';
5
4
  export type MqttMessageTransformer = (payload: Buffer) => any;
6
5
  export type LoggerConstructor = new (...params: any[]) => LoggerService;
7
6
  export interface MqttSubscribeOptions {
@@ -20,6 +20,7 @@ let MqttModule = MqttModule_1 = class MqttModule {
20
20
  return {
21
21
  module: MqttModule_1,
22
22
  global: options.global,
23
+ imports: [core_1.DiscoveryModule, ...(options.imports || [])],
23
24
  providers: [
24
25
  ...(0, options_provider_1.createOptionProviders)(options),
25
26
  (0, options_provider_1.createLoggerProvider)(options),
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt.module.js","sourceRoot":"","sources":["../src/mqtt.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAC/D,iDAA6C;AAC7C,uDAAyD;AACzD,mDAA+C;AAC/C,uCAA+C;AAC/C,yDAAiF;AAEjF,qDAAwD;AAMjD,IAAM,UAAU,kBAAhB,MAAM,UAAU;IACd,MAAM,CAAC,YAAY,CAAC,OAA+B;QACxD,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE;gBACT,GAAG,IAAA,wCAAqB,EAAC,OAAO,CAAC;gBACjC,IAAA,uCAAoB,EAAC,OAAO,CAAC;gBAC7B,IAAA,sCAAoB,GAAE;gBACtB,4BAAY;gBACZ,0BAAW;aACZ;SACF,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,OAA0B;QAC9C,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,qCAAoB;oBAC7B,QAAQ,EAAE,OAAO;iBAClB;gBACD,IAAA,uCAAoB,EAAC,OAAO,CAAC;gBAC7B,IAAA,sCAAoB,GAAE;gBACtB,4BAAY;gBACZ,0BAAW;aACZ;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AA9BY,gCAAU;qBAAV,UAAU;IAJtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,sBAAe,CAAC;QAC1B,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,UAAU,CA8BtB"}
1
+ {"version":3,"file":"mqtt.module.js","sourceRoot":"","sources":["../src/mqtt.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAC/D,iDAA6C;AAC7C,uDAAyD;AACzD,mDAA+C;AAC/C,uCAA+C;AAC/C,yDAAiF;AAEjF,qDAAwD;AAMjD,IAAM,UAAU,kBAAhB,MAAM,UAAU;IACd,MAAM,CAAC,YAAY,CAAC,OAA+B;QACxD,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,CAAC,sBAAe,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACtD,SAAS,EAAE;gBACT,GAAG,IAAA,wCAAqB,EAAC,OAAO,CAAC;gBACjC,IAAA,uCAAoB,EAAC,OAAO,CAAC;gBAC7B,IAAA,sCAAoB,GAAE;gBACtB,4BAAY;gBACZ,0BAAW;aACZ;SACF,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,OAA0B;QAC9C,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,qCAAoB;oBAC7B,QAAQ,EAAE,OAAO;iBAClB;gBACD,IAAA,uCAAoB,EAAC,OAAO,CAAC;gBAC7B,IAAA,sCAAoB,GAAE;gBACtB,4BAAY;gBACZ,0BAAW;aACZ;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AA/BY,gCAAU;qBAAV,UAAU;IAJtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,sBAAe,CAAC;QAC1B,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,UAAU,CA+BtB"}
@@ -1,7 +1,10 @@
1
+ import { OnApplicationShutdown } from '@nestjs/common';
1
2
  import { IClientPublishOptions, IClientSubscribeOptions, ISubscriptionGrant, MqttClient, Packet } from 'mqtt';
2
- export declare class MqttService {
3
+ export declare class MqttService implements OnApplicationShutdown {
3
4
  private readonly client;
5
+ private static readonly SHUTDOWN_GRACE_MS;
4
6
  constructor(client: MqttClient);
7
+ onApplicationShutdown(): Promise<void>;
5
8
  subscribe(topic: string | string[], opts?: IClientSubscribeOptions): Promise<ISubscriptionGrant[]>;
6
9
  unsubscribe(topic: string, opts?: IClientSubscribeOptions): Promise<Packet>;
7
10
  publish(topic: string, message: string | Buffer | object, opts?: IClientPublishOptions): Promise<Packet>;
@@ -11,15 +11,29 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
+ var MqttService_1;
14
15
  Object.defineProperty(exports, "__esModule", { value: true });
15
16
  exports.MqttService = void 0;
16
17
  const common_1 = require("@nestjs/common");
17
18
  const mqtt_constants_1 = require("./mqtt.constants");
18
19
  const mqtt_1 = require("mqtt");
19
- let MqttService = class MqttService {
20
+ let MqttService = MqttService_1 = class MqttService {
20
21
  constructor(client) {
21
22
  this.client = client;
22
23
  }
24
+ async onApplicationShutdown() {
25
+ if (this.client.connected) {
26
+ await Promise.race([
27
+ this.client.endAsync(),
28
+ new Promise((resolve) => {
29
+ setTimeout(resolve, MqttService_1.SHUTDOWN_GRACE_MS).unref();
30
+ }),
31
+ ]);
32
+ }
33
+ else {
34
+ await this.client.endAsync(true);
35
+ }
36
+ }
23
37
  subscribe(topic, opts) {
24
38
  return new Promise((resolve, reject) => {
25
39
  this.client.subscribe(topic, opts || null, (err, granted) => {
@@ -61,7 +75,8 @@ let MqttService = class MqttService {
61
75
  }
62
76
  };
63
77
  exports.MqttService = MqttService;
64
- exports.MqttService = MqttService = __decorate([
78
+ MqttService.SHUTDOWN_GRACE_MS = 5000;
79
+ exports.MqttService = MqttService = MqttService_1 = __decorate([
65
80
  (0, common_1.Injectable)(),
66
81
  __param(0, (0, common_1.Inject)(mqtt_constants_1.MQTT_CLIENT_INSTANCE)),
67
82
  __metadata("design:paramtypes", [mqtt_1.MqttClient])
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt.service.js","sourceRoot":"","sources":["../src/mqtt.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,qDAAwD;AACxD,+BAA8G;AAGvG,IAAM,WAAW,GAAjB,MAAM,WAAW;IACtB,YAA2D,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEjF,SAAS,CAAC,KAAwB,EAAE,IAA8B;QAChE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;gBAC1D,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,IAA8B;QACvD,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC7D,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,OAAiC,EAAE,IAA4B;QACpF,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAClE,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAzCY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAEE,WAAA,IAAA,eAAM,EAAC,qCAAoB,CAAC,CAAA;qCAA0B,iBAAU;GADlE,WAAW,CAyCvB"}
1
+ {"version":3,"file":"mqtt.service.js","sourceRoot":"","sources":["../src/mqtt.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA2E;AAC3E,qDAAwD;AACxD,+BAA8G;AAGvG,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAMtB,YAA2D,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAiB1E,KAAK,CAAC,qBAAqB;QAChC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACtB,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAC5B,UAAU,CAAC,OAAO,EAAE,aAAW,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC7D,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,SAAS,CAAC,KAAwB,EAAE,IAA8B;QAChE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;gBAC1D,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,IAA8B;QACvD,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC7D,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,OAAiC,EAAE,IAA4B;QACpF,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAClE,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;;AAzEU,kCAAW;AAIE,6BAAiB,GAAG,IAAK,AAAR,CAAS;sBAJvC,WAAW;IADvB,IAAA,mBAAU,GAAE;IAOE,WAAA,IAAA,eAAM,EAAC,qCAAoB,CAAC,CAAA;qCAA0B,iBAAU;GANlE,WAAW,CA0EvB"}
@@ -1,4 +1,4 @@
1
1
  import { MqttMessageTransformer } from './mqtt.interface';
2
2
  export declare const JsonTransform: MqttMessageTransformer;
3
3
  export declare const TextTransform: MqttMessageTransformer;
4
- export declare function getTransform(transform: 'json' | 'text' | MqttMessageTransformer): MqttMessageTransformer;
4
+ export declare function getTransform(transform?: 'json' | 'text' | MqttMessageTransformer): MqttMessageTransformer;
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt.transform.js","sourceRoot":"","sources":["../src/mqtt.transform.ts"],"names":[],"mappings":";;;AAUA,oCAUC;AAlBM,MAAM,aAAa,GAA2B,OAAO,CAAC,EAAE;IAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEK,MAAM,aAAa,GAA2B,OAAO,CAAC,EAAE;IAC7D,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEF,SAAgB,YAAY,CAAC,SAAmD;IAC9E,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,qBAAa,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,OAAO,qBAAa,CAAC;QACvB,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"mqtt.transform.js","sourceRoot":"","sources":["../src/mqtt.transform.ts"],"names":[],"mappings":";;;AAUA,oCAUC;AAlBM,MAAM,aAAa,GAA2B,OAAO,CAAC,EAAE;IAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEK,MAAM,aAAa,GAA2B,OAAO,CAAC,EAAE;IAC7D,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEF,SAAgB,YAAY,CAAC,SAAoD;IAC/E,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,qBAAa,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,OAAO,qBAAa,CAAC;QACvB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -5,6 +5,8 @@ exports.createOptionProviders = createOptionProviders;
5
5
  exports.createLoggerProvider = createLoggerProvider;
6
6
  const common_1 = require("@nestjs/common");
7
7
  const mqtt_constants_1 = require("./mqtt.constants");
8
+ const createMqttOptions = async (optionFactory) => await optionFactory.createMqttConnectOptions();
9
+ const NO_OPTIONS_SOURCE_ERROR = 'MqttModule async options require one of "useFactory", "useExisting" or "useClass".';
8
10
  function createOptionsProvider(options) {
9
11
  if (options.useFactory) {
10
12
  return {
@@ -16,19 +18,23 @@ function createOptionsProvider(options) {
16
18
  if (options.useExisting) {
17
19
  return {
18
20
  provide: mqtt_constants_1.MQTT_OPTION_PROVIDER,
19
- useFactory: async (optionsFactory) => await optionsFactory.createMqttConnectOptions(),
20
- inject: [options.useExisting || options.useClass],
21
+ useFactory: createMqttOptions,
22
+ inject: [options.useExisting],
21
23
  };
22
24
  }
25
+ throw new Error(NO_OPTIONS_SOURCE_ERROR);
23
26
  }
24
27
  function createOptionProviders(options) {
25
28
  if (options.useExisting || options.useFactory) {
26
29
  return [createOptionsProvider(options)];
27
30
  }
31
+ if (!options.useClass) {
32
+ throw new Error(NO_OPTIONS_SOURCE_ERROR);
33
+ }
28
34
  return [
29
35
  {
30
- provide: mqtt_constants_1.MQTT_CLIENT_INSTANCE,
31
- useFactory: async (optionFactory) => await optionFactory.createMqttConnectOptions(),
36
+ provide: mqtt_constants_1.MQTT_OPTION_PROVIDER,
37
+ useFactory: createMqttOptions,
32
38
  inject: [options.useClass],
33
39
  },
34
40
  {
@@ -1 +1 @@
1
- {"version":3,"file":"options.provider.js","sourceRoot":"","sources":["../src/options.provider.ts"],"names":[],"mappings":";;AAIA,sDAgBC;AAED,sDAeC;AAED,oDAmBC;AAzDD,2CAAkD;AAClD,qDAAoG;AAEpG,SAAgB,qBAAqB,CAAC,OAA+B;IACnE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO;YACL,OAAO,EAAE,qCAAoB;YAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO;YACL,OAAO,EAAE,qCAAoB;YAC7B,UAAU,EAAE,KAAK,EAAE,cAAkC,EAAE,EAAE,CAAC,MAAM,cAAc,CAAC,wBAAwB,EAAE;YACzG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;SAClD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAA+B;IACnE,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QAC9C,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO;QACL;YACE,OAAO,EAAE,qCAAoB;YAC7B,UAAU,EAAE,KAAK,EAAE,aAAiC,EAAE,EAAE,CAAC,MAAM,aAAa,CAAC,wBAAwB,EAAE;YACvG,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC3B;QACD;YACE,OAAO,EAAE,OAAO,CAAC,QAAQ;YACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAmD;IACtF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,qCAAoB;YAC7B,QAAQ,EAAE,IAAI,eAAM,CAAC,YAAY,CAAC;SACnC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE,qCAAoB;gBAC7B,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;aAClC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,OAAO,EAAE,qCAAoB;gBAC7B,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;aAClC,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"options.provider.js","sourceRoot":"","sources":["../src/options.provider.ts"],"names":[],"mappings":";;AAWA,sDAkBC;AAED,sDAqBC;AAED,oDAmBC;AAxED,2CAAkD;AAClD,qDAA8E;AAG9E,MAAM,iBAAiB,GAAG,KAAK,EAAE,aAAiC,EAAE,EAAE,CACpE,MAAM,aAAa,CAAC,wBAAwB,EAAE,CAAC;AAEjD,MAAM,uBAAuB,GAC3B,oFAAoF,CAAC;AAEvF,SAAgB,qBAAqB,CAAC,OAA+B;IACnE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO;YACL,OAAO,EAAE,qCAAoB;YAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO;YACL,OAAO,EAAE,qCAAoB;YAC7B,UAAU,EAAE,iBAAiB;YAC7B,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;SAC9B,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAA+B;IACnE,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QAC9C,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO;QACL;YAIE,OAAO,EAAE,qCAAoB;YAC7B,UAAU,EAAE,iBAAiB;YAC7B,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC3B;QACD;YACE,OAAO,EAAE,OAAO,CAAC,QAAQ;YACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAmD;IACtF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,qCAAoB;YAC7B,QAAQ,EAAE,IAAI,eAAM,CAAC,YAAY,CAAC;SACnC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE,qCAAoB;gBAC7B,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;aAClC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,OAAO,EAAE,qCAAoB;gBAC7B,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;aAClC,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,54 +1,76 @@
1
- {
2
- "name": "@fetaoily/nest-mqtt",
3
- "version": "1.0.7",
4
- "description": "A MQTT module for Nest.js",
5
- "author": "microud,fetaoily",
6
- "license": "MIT",
7
- "main": "dist/index.js",
8
- "types": "dist/index.d.ts",
9
- "repository": {
10
- "url": "git+https://github.com/fetaoily/nest-mqtt.git"
11
- },
12
- "keywords": [
13
- "nest-mqtt",
14
- "nestjs-mqtt",
15
- "@nestjs/mqtt",
16
- "mqtt",
17
- "nestjs"
18
- ],
19
- "files": [
20
- "dist",
21
- "!dist/**/*.tsbuildinfo",
22
- "package.json",
23
- "README.md"
24
- ],
25
- "scripts": {
26
- "build": "rimraf dist && tsc -p tsconfig.build.json",
27
- "format": "prettier --write \"src/**/*.ts\"",
28
- "lint": "tslint -p tsconfig.json -c tslint.json",
29
- "login": "npm login --registry=https://registry.npmjs.org",
30
- "prepublishOnly": "npm run build",
31
- "release": "node scripts/publish.mjs"
32
- },
33
- "peerDependencies": {
34
- "@nestjs/common": "^6.10.11 || ^7.0.0 || ^8.0.0 || ^10.0.0 || ^11.0.0",
35
- "@nestjs/core": "^6.10.11 || ^7.0.0 || ^8.0.0 || ^10.0.0 || ^11.0.0",
36
- "mqtt": "^5.0.5"
37
- },
38
- "devDependencies": {
39
- "@nestjs/common": "11.2.3",
40
- "@nestjs/core": "11.2.3",
41
- "@types/node": "20.6.3",
42
- "mqtt": "5.15.2",
43
- "mqtt-packet": "9.0.2",
44
- "prettier": "3.0.3",
45
- "reflect-metadata": "0.1.13",
46
- "rimraf": "5.0.1",
47
- "rxjs": "7.8.1",
48
- "ts-node": "10.9.1",
49
- "tsc-watch": "6.0.4",
50
- "tsconfig-paths": "4.2.0",
51
- "tslint": "6.1.3",
52
- "typescript": "5.7.2"
53
- }
54
- }
1
+ {
2
+ "name": "@fetaoily/nest-mqtt",
3
+ "version": "1.0.8",
4
+ "description": "A MQTT module for Nest.js",
5
+ "author": "microud,fetaoily",
6
+ "license": "MIT",
7
+ "main": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "repository": {
10
+ "url": "git+https://github.com/fetaoily/nest-mqtt.git"
11
+ },
12
+ "keywords": [
13
+ "nest-mqtt",
14
+ "nestjs-mqtt",
15
+ "@nestjs/mqtt",
16
+ "mqtt",
17
+ "nestjs"
18
+ ],
19
+ "files": [
20
+ "dist",
21
+ "!dist/**/*.tsbuildinfo",
22
+ "package.json",
23
+ "README.md"
24
+ ],
25
+ "scripts": {
26
+ "build": "rimraf dist && tsc -p tsconfig.build.json",
27
+ "format": "prettier --write \"src/**/*.ts\"",
28
+ "lint": "tslint -p tsconfig.json -c tslint.json",
29
+ "login": "npm login --registry=https://registry.npmjs.org",
30
+ "prepublishOnly": "npm run build",
31
+ "release": "node scripts/publish.mjs",
32
+ "test": "jest"
33
+ },
34
+ "jest": {
35
+ "moduleFileExtensions": [
36
+ "js",
37
+ "json",
38
+ "ts"
39
+ ],
40
+ "rootDir": ".",
41
+ "testRegex": "test/.*\\.spec\\.ts$",
42
+ "transform": {
43
+ "^.+\\.(t|j)s$": "ts-jest"
44
+ },
45
+ "collectCoverageFrom": [
46
+ "src/**/*.ts"
47
+ ],
48
+ "coverageDirectory": "coverage",
49
+ "testEnvironment": "node"
50
+ },
51
+ "peerDependencies": {
52
+ "@nestjs/common": "^6.10.11 || ^7.0.0 || ^8.0.0 || ^10.0.0 || ^11.0.0",
53
+ "@nestjs/core": "^6.10.11 || ^7.0.0 || ^8.0.0 || ^10.0.0 || ^11.0.0",
54
+ "mqtt": "^5.0.5"
55
+ },
56
+ "devDependencies": {
57
+ "@nestjs/common": "11.2.3",
58
+ "@nestjs/core": "11.2.3",
59
+ "@nestjs/testing": "11.2.3",
60
+ "@types/jest": "29.5.14",
61
+ "@types/node": "20.6.3",
62
+ "jest": "29.7.0",
63
+ "mqtt": "5.15.2",
64
+ "mqtt-packet": "9.0.2",
65
+ "prettier": "3.0.3",
66
+ "reflect-metadata": "0.1.13",
67
+ "rimraf": "5.0.1",
68
+ "rxjs": "7.8.1",
69
+ "ts-jest": "29.4.12",
70
+ "ts-node": "10.9.1",
71
+ "tsc-watch": "6.0.4",
72
+ "tsconfig-paths": "4.2.0",
73
+ "tslint": "6.1.3",
74
+ "typescript": "5.7.2"
75
+ }
76
+ }