@lokative/messaging 1.1.1 → 1.1.2
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 +49 -12
- package/dist/cjs/index.d.ts +0 -3
- package/dist/cjs/index.js +1 -7
- package/dist/cjs/kafka.d.ts +1 -0
- package/dist/cjs/kafka.js +5 -0
- package/dist/cjs/nats.d.ts +1 -0
- package/dist/cjs/nats.js +5 -0
- package/dist/cjs/redis.d.ts +1 -0
- package/dist/cjs/redis.js +5 -0
- package/dist/esm/index.d.ts +0 -3
- package/dist/esm/index.js +0 -3
- package/dist/esm/kafka.d.ts +1 -0
- package/dist/esm/kafka.js +1 -0
- package/dist/esm/nats.d.ts +1 -0
- package/dist/esm/nats.js +1 -0
- package/dist/esm/redis.d.ts +1 -0
- package/dist/esm/redis.js +1 -0
- package/package.json +19 -1
package/README.md
CHANGED
|
@@ -23,13 +23,30 @@ npm install redis
|
|
|
23
23
|
|
|
24
24
|
---
|
|
25
25
|
|
|
26
|
+
## Imports
|
|
27
|
+
|
|
28
|
+
Transports are isolated behind subpath exports so only the dependency you use gets loaded:
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
// Core (always needed)
|
|
32
|
+
import { MessagingModule, MessagingPublisher, Incoming, Outgoing } from '@lokative/messaging';
|
|
33
|
+
|
|
34
|
+
// Pick one transport
|
|
35
|
+
import { NatsTransport } from '@lokative/messaging/nats';
|
|
36
|
+
import { KafkaTransport } from '@lokative/messaging/kafka';
|
|
37
|
+
import { RedisTransport } from '@lokative/messaging/redis';
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
26
42
|
## Quick Start
|
|
27
43
|
|
|
28
44
|
### NATS JetStream
|
|
29
45
|
|
|
30
46
|
```typescript
|
|
31
47
|
import { Module } from '@nestjs/common';
|
|
32
|
-
import { MessagingModule
|
|
48
|
+
import { MessagingModule } from '@lokative/messaging';
|
|
49
|
+
import { NatsTransport } from '@lokative/messaging/nats';
|
|
33
50
|
|
|
34
51
|
@Module({
|
|
35
52
|
imports: [
|
|
@@ -54,7 +71,8 @@ export class AppModule {}
|
|
|
54
71
|
|
|
55
72
|
```typescript
|
|
56
73
|
import { Module } from '@nestjs/common';
|
|
57
|
-
import { MessagingModule
|
|
74
|
+
import { MessagingModule } from '@lokative/messaging';
|
|
75
|
+
import { KafkaTransport } from '@lokative/messaging/kafka';
|
|
58
76
|
|
|
59
77
|
@Module({
|
|
60
78
|
imports: [
|
|
@@ -77,7 +95,8 @@ export class AppModule {}
|
|
|
77
95
|
|
|
78
96
|
```typescript
|
|
79
97
|
import { Module } from '@nestjs/common';
|
|
80
|
-
import { MessagingModule
|
|
98
|
+
import { MessagingModule } from '@lokative/messaging';
|
|
99
|
+
import { RedisTransport } from '@lokative/messaging/redis';
|
|
81
100
|
|
|
82
101
|
@Module({
|
|
83
102
|
imports: [
|
|
@@ -309,7 +328,8 @@ interface SubscribeOptions {
|
|
|
309
328
|
```typescript
|
|
310
329
|
// app.module.ts
|
|
311
330
|
import { Module } from '@nestjs/common';
|
|
312
|
-
import { MessagingModule
|
|
331
|
+
import { MessagingModule } from '@lokative/messaging';
|
|
332
|
+
import { NatsTransport } from '@lokative/messaging/nats';
|
|
313
333
|
import { OrderModule } from './order/order.module';
|
|
314
334
|
|
|
315
335
|
@Module({
|
|
@@ -390,7 +410,7 @@ export class OrderHandler {
|
|
|
390
410
|
To switch this app to Kafka, change only the module registration:
|
|
391
411
|
|
|
392
412
|
```typescript
|
|
393
|
-
import { KafkaTransport } from '@lokative/messaging';
|
|
413
|
+
import { KafkaTransport } from '@lokative/messaging/kafka';
|
|
394
414
|
|
|
395
415
|
MessagingModule.register({
|
|
396
416
|
transport: KafkaTransport,
|
|
@@ -405,7 +425,7 @@ MessagingModule.register({
|
|
|
405
425
|
Or to Redis:
|
|
406
426
|
|
|
407
427
|
```typescript
|
|
408
|
-
import { RedisTransport } from '@lokative/messaging';
|
|
428
|
+
import { RedisTransport } from '@lokative/messaging/redis';
|
|
409
429
|
|
|
410
430
|
MessagingModule.register({
|
|
411
431
|
transport: RedisTransport,
|
|
@@ -421,6 +441,8 @@ No changes needed in services or handlers.
|
|
|
421
441
|
|
|
422
442
|
### Exports
|
|
423
443
|
|
|
444
|
+
From `@lokative/messaging`:
|
|
445
|
+
|
|
424
446
|
| Export | Type | Description |
|
|
425
447
|
| -------------------------- | ----------- | ---------------------------------------------- |
|
|
426
448
|
| `MessagingModule` | Module | NestJS dynamic module |
|
|
@@ -432,15 +454,30 @@ No changes needed in services or handlers.
|
|
|
432
454
|
| `Subscription` | Interface | Async-iterable subscription |
|
|
433
455
|
| `SubscribeOptions` | Interface | Options passed to `subscribe()` |
|
|
434
456
|
| `MESSAGING_TRANSPORT` | Token | DI token for the transport provider |
|
|
435
|
-
| `NatsTransport` | Injectable | Built-in NATS JetStream transport |
|
|
436
|
-
| `NatsTransportOptions` | Interface | Options for `NatsTransport` |
|
|
437
|
-
| `KafkaTransport` | Injectable | Built-in Kafka transport |
|
|
438
|
-
| `KafkaTransportOptions` | Interface | Options for `KafkaTransport` |
|
|
439
|
-
| `RedisTransport` | Injectable | Built-in Redis Pub/Sub transport |
|
|
440
|
-
| `RedisTransportOptions` | Interface | Options for `RedisTransport` |
|
|
441
457
|
| `Incoming` | Decorator | Subscribe a method to a subject |
|
|
442
458
|
| `Outgoing` | Decorator | Auto-publish a method's return value |
|
|
443
459
|
|
|
460
|
+
From `@lokative/messaging/nats`:
|
|
461
|
+
|
|
462
|
+
| Export | Type | Description |
|
|
463
|
+
| --------------------- | ----------- | --------------------------------- |
|
|
464
|
+
| `NatsTransport` | Injectable | Built-in NATS JetStream transport |
|
|
465
|
+
| `NatsTransportOptions`| Interface | Options for `NatsTransport` |
|
|
466
|
+
|
|
467
|
+
From `@lokative/messaging/kafka`:
|
|
468
|
+
|
|
469
|
+
| Export | Type | Description |
|
|
470
|
+
| ---------------------- | ----------- | -------------------------- |
|
|
471
|
+
| `KafkaTransport` | Injectable | Built-in Kafka transport |
|
|
472
|
+
| `KafkaTransportOptions`| Interface | Options for `KafkaTransport` |
|
|
473
|
+
|
|
474
|
+
From `@lokative/messaging/redis`:
|
|
475
|
+
|
|
476
|
+
| Export | Type | Description |
|
|
477
|
+
| ---------------------- | ----------- | -------------------------------- |
|
|
478
|
+
| `RedisTransport` | Injectable | Built-in Redis Pub/Sub transport |
|
|
479
|
+
| `RedisTransportOptions`| Interface | Options for `RedisTransport` |
|
|
480
|
+
|
|
444
481
|
### Injection
|
|
445
482
|
|
|
446
483
|
```typescript
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -4,6 +4,3 @@ export { Incoming, Outgoing } from './messaging.decorator';
|
|
|
4
4
|
export { MessagingModule } from './messaging.module';
|
|
5
5
|
export { MessagingPublisher } from './messaging.publisher';
|
|
6
6
|
export { MessagingConsumerRegistry } from './messaging.registry';
|
|
7
|
-
export { NatsTransport, NatsTransportOptions } from './transports/nats.transport';
|
|
8
|
-
export { KafkaTransport, KafkaTransportOptions } from './transports/kafka.transport';
|
|
9
|
-
export { RedisTransport, RedisTransportOptions } from './transports/redis.transport';
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.MessagingConsumerRegistry = exports.MessagingPublisher = exports.MessagingModule = exports.Outgoing = exports.Incoming = exports.MESSAGING_TRANSPORT = void 0;
|
|
4
4
|
var transport_interface_1 = require("./transport.interface");
|
|
5
5
|
Object.defineProperty(exports, "MESSAGING_TRANSPORT", { enumerable: true, get: function () { return transport_interface_1.MESSAGING_TRANSPORT; } });
|
|
6
6
|
var messaging_decorator_1 = require("./messaging.decorator");
|
|
@@ -12,9 +12,3 @@ var messaging_publisher_1 = require("./messaging.publisher");
|
|
|
12
12
|
Object.defineProperty(exports, "MessagingPublisher", { enumerable: true, get: function () { return messaging_publisher_1.MessagingPublisher; } });
|
|
13
13
|
var messaging_registry_1 = require("./messaging.registry");
|
|
14
14
|
Object.defineProperty(exports, "MessagingConsumerRegistry", { enumerable: true, get: function () { return messaging_registry_1.MessagingConsumerRegistry; } });
|
|
15
|
-
var nats_transport_1 = require("./transports/nats.transport");
|
|
16
|
-
Object.defineProperty(exports, "NatsTransport", { enumerable: true, get: function () { return nats_transport_1.NatsTransport; } });
|
|
17
|
-
var kafka_transport_1 = require("./transports/kafka.transport");
|
|
18
|
-
Object.defineProperty(exports, "KafkaTransport", { enumerable: true, get: function () { return kafka_transport_1.KafkaTransport; } });
|
|
19
|
-
var redis_transport_1 = require("./transports/redis.transport");
|
|
20
|
-
Object.defineProperty(exports, "RedisTransport", { enumerable: true, get: function () { return redis_transport_1.RedisTransport; } });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { KafkaTransport, KafkaTransportOptions } from './transports/kafka.transport';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KafkaTransport = void 0;
|
|
4
|
+
var kafka_transport_1 = require("./transports/kafka.transport");
|
|
5
|
+
Object.defineProperty(exports, "KafkaTransport", { enumerable: true, get: function () { return kafka_transport_1.KafkaTransport; } });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { NatsTransport, NatsTransportOptions } from './transports/nats.transport';
|
package/dist/cjs/nats.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NatsTransport = void 0;
|
|
4
|
+
var nats_transport_1 = require("./transports/nats.transport");
|
|
5
|
+
Object.defineProperty(exports, "NatsTransport", { enumerable: true, get: function () { return nats_transport_1.NatsTransport; } });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RedisTransport, RedisTransportOptions } from './transports/redis.transport';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RedisTransport = void 0;
|
|
4
|
+
var redis_transport_1 = require("./transports/redis.transport");
|
|
5
|
+
Object.defineProperty(exports, "RedisTransport", { enumerable: true, get: function () { return redis_transport_1.RedisTransport; } });
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -4,6 +4,3 @@ export { Incoming, Outgoing } from './messaging.decorator';
|
|
|
4
4
|
export { MessagingModule } from './messaging.module';
|
|
5
5
|
export { MessagingPublisher } from './messaging.publisher';
|
|
6
6
|
export { MessagingConsumerRegistry } from './messaging.registry';
|
|
7
|
-
export { NatsTransport, NatsTransportOptions } from './transports/nats.transport';
|
|
8
|
-
export { KafkaTransport, KafkaTransportOptions } from './transports/kafka.transport';
|
|
9
|
-
export { RedisTransport, RedisTransportOptions } from './transports/redis.transport';
|
package/dist/esm/index.js
CHANGED
|
@@ -3,6 +3,3 @@ export { Incoming, Outgoing } from './messaging.decorator';
|
|
|
3
3
|
export { MessagingModule } from './messaging.module';
|
|
4
4
|
export { MessagingPublisher } from './messaging.publisher';
|
|
5
5
|
export { MessagingConsumerRegistry } from './messaging.registry';
|
|
6
|
-
export { NatsTransport } from './transports/nats.transport';
|
|
7
|
-
export { KafkaTransport } from './transports/kafka.transport';
|
|
8
|
-
export { RedisTransport } from './transports/redis.transport';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { KafkaTransport, KafkaTransportOptions } from './transports/kafka.transport';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { KafkaTransport } from './transports/kafka.transport';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { NatsTransport, NatsTransportOptions } from './transports/nats.transport';
|
package/dist/esm/nats.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { NatsTransport } from './transports/nats.transport';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RedisTransport, RedisTransportOptions } from './transports/redis.transport';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { RedisTransport } from './transports/redis.transport';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lokative/messaging",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -11,6 +11,24 @@
|
|
|
11
11
|
"import": "./dist/esm/index.js",
|
|
12
12
|
"require": "./dist/cjs/index.js",
|
|
13
13
|
"default": "./dist/cjs/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./nats": {
|
|
16
|
+
"types": "./dist/esm/nats.d.ts",
|
|
17
|
+
"import": "./dist/esm/nats.js",
|
|
18
|
+
"require": "./dist/cjs/nats.js",
|
|
19
|
+
"default": "./dist/cjs/nats.js"
|
|
20
|
+
},
|
|
21
|
+
"./kafka": {
|
|
22
|
+
"types": "./dist/esm/kafka.d.ts",
|
|
23
|
+
"import": "./dist/esm/kafka.js",
|
|
24
|
+
"require": "./dist/cjs/kafka.js",
|
|
25
|
+
"default": "./dist/cjs/kafka.js"
|
|
26
|
+
},
|
|
27
|
+
"./redis": {
|
|
28
|
+
"types": "./dist/esm/redis.d.ts",
|
|
29
|
+
"import": "./dist/esm/redis.js",
|
|
30
|
+
"require": "./dist/cjs/redis.js",
|
|
31
|
+
"default": "./dist/cjs/redis.js"
|
|
14
32
|
}
|
|
15
33
|
},
|
|
16
34
|
"files": [
|