@horizon-republic/nestjs-jetstream 2.7.0 → 2.7.1

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/dist/index.cjs CHANGED
@@ -47,9 +47,13 @@ __export(index_exports, {
47
47
  RpcContext: () => RpcContext,
48
48
  StreamKind: () => StreamKind,
49
49
  TransportEvent: () => TransportEvent,
50
+ buildSubject: () => buildSubject,
51
+ consumerName: () => consumerName,
50
52
  getClientToken: () => getClientToken,
53
+ internalName: () => internalName,
51
54
  isCoreRpcMode: () => isCoreRpcMode,
52
55
  isJetStreamRpcMode: () => isJetStreamRpcMode,
56
+ streamName: () => streamName,
53
57
  toNanos: () => toNanos
54
58
  });
55
59
  module.exports = __toCommonJS(index_exports);
@@ -2659,8 +2663,12 @@ JetstreamModule = __decorateClass([
2659
2663
  RpcContext,
2660
2664
  StreamKind,
2661
2665
  TransportEvent,
2666
+ buildSubject,
2667
+ consumerName,
2662
2668
  getClientToken,
2669
+ internalName,
2663
2670
  isCoreRpcMode,
2664
2671
  isJetStreamRpcMode,
2672
+ streamName,
2665
2673
  toNanos
2666
2674
  });
package/dist/index.d.cts CHANGED
@@ -346,6 +346,13 @@ declare enum StreamKind {
346
346
  Broadcast = "broadcast",
347
347
  Ordered = "ordered"
348
348
  }
349
+ /**
350
+ * Subset of {@link StreamKind} used for direct subject building.
351
+ *
352
+ * Excludes `Broadcast` because broadcast subjects use a different
353
+ * naming convention (`broadcast.{pattern}` instead of `{service}.{kind}.{pattern}`).
354
+ */
355
+ type SubjectKind = Exclude<StreamKind, StreamKind.Broadcast>;
349
356
 
350
357
  /** @internal Grouped pattern lists by stream kind, used for stream/consumer setup. */
351
358
  interface PatternsByKind {
@@ -1347,6 +1354,38 @@ declare enum JetstreamHeader {
1347
1354
  /** Set to `'true'` on error responses so the client can distinguish success from failure. */
1348
1355
  Error = "x-error"
1349
1356
  }
1357
+ /**
1358
+ * Build the internal service name with microservice suffix.
1359
+ *
1360
+ * @param name - Service name from `forRoot({ name })`.
1361
+ * @returns `{name}__microservice`
1362
+ */
1363
+ declare const internalName: (name: string) => string;
1364
+ /**
1365
+ * Build a fully-qualified NATS subject for workqueue events, RPC commands, or ordered events.
1366
+ *
1367
+ * @param serviceName - Target service name.
1368
+ * @param kind - Subject kind (`'ev'`, `'cmd'`, or `'ordered'`).
1369
+ * @param pattern - The message pattern (e.g. `'user.created'`).
1370
+ * @returns `{serviceName}__microservice.{kind}.{pattern}`
1371
+ */
1372
+ declare const buildSubject: (serviceName: string, kind: SubjectKind, pattern: string) => string;
1373
+ /**
1374
+ * Build the JetStream stream name for a given service and kind.
1375
+ *
1376
+ * @param serviceName - Service name from `forRoot({ name })`.
1377
+ * @param kind - Stream kind (`'ev'`, `'cmd'`, or `'broadcast'`).
1378
+ * @returns Stream name (e.g. `orders__microservice_ev-stream` or `broadcast-stream`).
1379
+ */
1380
+ declare const streamName: (serviceName: string, kind: StreamKind) => string;
1381
+ /**
1382
+ * Build the JetStream consumer name for a given service and kind.
1383
+ *
1384
+ * @param serviceName - Service name from `forRoot({ name })`.
1385
+ * @param kind - Stream kind (`'ev'`, `'cmd'`, or `'broadcast'`).
1386
+ * @returns Consumer name (e.g. `orders__microservice_ev-consumer`).
1387
+ */
1388
+ declare const consumerName: (serviceName: string, kind: StreamKind) => string;
1350
1389
  /**
1351
1390
  * Prefixes used in event patterns to route to specific stream types.
1352
1391
  * Applied by the user when emitting events (e.g. `client.emit('broadcast:config.updated', data)`).
@@ -1362,4 +1401,4 @@ declare const isJetStreamRpcMode: (rpc: RpcConfig | undefined) => boolean;
1362
1401
  /** Check if the RPC config specifies Core mode (default). */
1363
1402
  declare const isCoreRpcMode: (rpc: RpcConfig | undefined) => boolean;
1364
1403
 
1365
- export { type Codec, type DeadLetterInfo, EventBus, JETSTREAM_CODEC, JETSTREAM_CONNECTION, JETSTREAM_EVENT_BUS, JETSTREAM_OPTIONS, JetstreamClient, type JetstreamFeatureOptions, JetstreamHeader, JetstreamHealthIndicator, type JetstreamHealthStatus, JetstreamModule, type JetstreamModuleAsyncOptions, type JetstreamModuleOptions, JetstreamRecord, JetstreamRecordBuilder, JetstreamStrategy, JsonCodec, MessageKind, type OrderedEventOverrides, PatternPrefix, type RpcConfig, RpcContext, type StreamConsumerOverrides, StreamKind, TransportEvent, type TransportHooks, getClientToken, isCoreRpcMode, isJetStreamRpcMode, toNanos };
1404
+ export { type Codec, type DeadLetterInfo, EventBus, JETSTREAM_CODEC, JETSTREAM_CONNECTION, JETSTREAM_EVENT_BUS, JETSTREAM_OPTIONS, JetstreamClient, type JetstreamFeatureOptions, JetstreamHeader, JetstreamHealthIndicator, type JetstreamHealthStatus, JetstreamModule, type JetstreamModuleAsyncOptions, type JetstreamModuleOptions, JetstreamRecord, JetstreamRecordBuilder, JetstreamStrategy, JsonCodec, MessageKind, type OrderedEventOverrides, PatternPrefix, type RpcConfig, RpcContext, type StreamConsumerOverrides, StreamKind, TransportEvent, type TransportHooks, buildSubject, consumerName, getClientToken, internalName, isCoreRpcMode, isJetStreamRpcMode, streamName, toNanos };
package/dist/index.d.ts CHANGED
@@ -346,6 +346,13 @@ declare enum StreamKind {
346
346
  Broadcast = "broadcast",
347
347
  Ordered = "ordered"
348
348
  }
349
+ /**
350
+ * Subset of {@link StreamKind} used for direct subject building.
351
+ *
352
+ * Excludes `Broadcast` because broadcast subjects use a different
353
+ * naming convention (`broadcast.{pattern}` instead of `{service}.{kind}.{pattern}`).
354
+ */
355
+ type SubjectKind = Exclude<StreamKind, StreamKind.Broadcast>;
349
356
 
350
357
  /** @internal Grouped pattern lists by stream kind, used for stream/consumer setup. */
351
358
  interface PatternsByKind {
@@ -1347,6 +1354,38 @@ declare enum JetstreamHeader {
1347
1354
  /** Set to `'true'` on error responses so the client can distinguish success from failure. */
1348
1355
  Error = "x-error"
1349
1356
  }
1357
+ /**
1358
+ * Build the internal service name with microservice suffix.
1359
+ *
1360
+ * @param name - Service name from `forRoot({ name })`.
1361
+ * @returns `{name}__microservice`
1362
+ */
1363
+ declare const internalName: (name: string) => string;
1364
+ /**
1365
+ * Build a fully-qualified NATS subject for workqueue events, RPC commands, or ordered events.
1366
+ *
1367
+ * @param serviceName - Target service name.
1368
+ * @param kind - Subject kind (`'ev'`, `'cmd'`, or `'ordered'`).
1369
+ * @param pattern - The message pattern (e.g. `'user.created'`).
1370
+ * @returns `{serviceName}__microservice.{kind}.{pattern}`
1371
+ */
1372
+ declare const buildSubject: (serviceName: string, kind: SubjectKind, pattern: string) => string;
1373
+ /**
1374
+ * Build the JetStream stream name for a given service and kind.
1375
+ *
1376
+ * @param serviceName - Service name from `forRoot({ name })`.
1377
+ * @param kind - Stream kind (`'ev'`, `'cmd'`, or `'broadcast'`).
1378
+ * @returns Stream name (e.g. `orders__microservice_ev-stream` or `broadcast-stream`).
1379
+ */
1380
+ declare const streamName: (serviceName: string, kind: StreamKind) => string;
1381
+ /**
1382
+ * Build the JetStream consumer name for a given service and kind.
1383
+ *
1384
+ * @param serviceName - Service name from `forRoot({ name })`.
1385
+ * @param kind - Stream kind (`'ev'`, `'cmd'`, or `'broadcast'`).
1386
+ * @returns Consumer name (e.g. `orders__microservice_ev-consumer`).
1387
+ */
1388
+ declare const consumerName: (serviceName: string, kind: StreamKind) => string;
1350
1389
  /**
1351
1390
  * Prefixes used in event patterns to route to specific stream types.
1352
1391
  * Applied by the user when emitting events (e.g. `client.emit('broadcast:config.updated', data)`).
@@ -1362,4 +1401,4 @@ declare const isJetStreamRpcMode: (rpc: RpcConfig | undefined) => boolean;
1362
1401
  /** Check if the RPC config specifies Core mode (default). */
1363
1402
  declare const isCoreRpcMode: (rpc: RpcConfig | undefined) => boolean;
1364
1403
 
1365
- export { type Codec, type DeadLetterInfo, EventBus, JETSTREAM_CODEC, JETSTREAM_CONNECTION, JETSTREAM_EVENT_BUS, JETSTREAM_OPTIONS, JetstreamClient, type JetstreamFeatureOptions, JetstreamHeader, JetstreamHealthIndicator, type JetstreamHealthStatus, JetstreamModule, type JetstreamModuleAsyncOptions, type JetstreamModuleOptions, JetstreamRecord, JetstreamRecordBuilder, JetstreamStrategy, JsonCodec, MessageKind, type OrderedEventOverrides, PatternPrefix, type RpcConfig, RpcContext, type StreamConsumerOverrides, StreamKind, TransportEvent, type TransportHooks, getClientToken, isCoreRpcMode, isJetStreamRpcMode, toNanos };
1404
+ export { type Codec, type DeadLetterInfo, EventBus, JETSTREAM_CODEC, JETSTREAM_CONNECTION, JETSTREAM_EVENT_BUS, JETSTREAM_OPTIONS, JetstreamClient, type JetstreamFeatureOptions, JetstreamHeader, JetstreamHealthIndicator, type JetstreamHealthStatus, JetstreamModule, type JetstreamModuleAsyncOptions, type JetstreamModuleOptions, JetstreamRecord, JetstreamRecordBuilder, JetstreamStrategy, JsonCodec, MessageKind, type OrderedEventOverrides, PatternPrefix, type RpcConfig, RpcContext, type StreamConsumerOverrides, StreamKind, TransportEvent, type TransportHooks, buildSubject, consumerName, getClientToken, internalName, isCoreRpcMode, isJetStreamRpcMode, streamName, toNanos };
package/dist/index.js CHANGED
@@ -2650,8 +2650,12 @@ export {
2650
2650
  RpcContext,
2651
2651
  StreamKind,
2652
2652
  TransportEvent,
2653
+ buildSubject,
2654
+ consumerName,
2653
2655
  getClientToken,
2656
+ internalName,
2654
2657
  isCoreRpcMode,
2655
2658
  isJetStreamRpcMode,
2659
+ streamName,
2656
2660
  toNanos
2657
2661
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@horizon-republic/nestjs-jetstream",
3
- "version": "2.7.0",
3
+ "version": "2.7.1",
4
4
  "description": "A NestJS transport for NATS with JetStream events, broadcast fan-out, and Core/JetStream RPC.",
5
5
  "repository": {
6
6
  "type": "git",