@crossdelta/cloudevents 0.7.13 → 0.7.15

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/bin/cli.js CHANGED
@@ -748,7 +748,7 @@ __export(nats_publisher_exports, {
748
748
  publishNatsRawEvent: () => publishNatsRawEvent,
749
749
  request: () => request
750
750
  });
751
- var sc, natsConnectionPromise, deriveSubjectFromEventType, connectionConfig, configureNatsPublisher, getNatsConnection, closeConnection, connectNats, isNatsConnected, __resetNatsPublisher, deriveSubjectFromType, deriveStreamFromType, publishNatsRawEvent, publishNatsEvent, publish, DEFAULT_REQUEST_TIMEOUT, request;
751
+ var sc, natsConnectionPromise, deriveSubjectFromEventType, connectionConfig, configureNatsPublisher, natsConnected, getNatsConnection, closeConnection, connectNats, isNatsConnected, __resetNatsPublisher, deriveSubjectFromType, deriveStreamFromType, publishNatsRawEvent, publishNatsEvent, publish, DEFAULT_REQUEST_TIMEOUT, request;
752
752
  var init_nats_publisher = __esm({
753
753
  "src/publishing/nats.publisher.ts"() {
754
754
  init_domain();
@@ -767,18 +767,21 @@ var init_nats_publisher = __esm({
767
767
  configureNatsPublisher = (config) => {
768
768
  connectionConfig = config;
769
769
  };
770
+ natsConnected = false;
770
771
  getNatsConnection = async (servers) => {
771
772
  if (!natsConnectionPromise) {
772
773
  const url = servers ?? process.env.NATS_URL ?? "nats://localhost:4222";
773
774
  natsConnectionPromise = connect({
774
775
  servers: url,
775
- waitOnFirstConnect: connectionConfig?.waitOnFirstConnect ?? false,
776
+ waitOnFirstConnect: connectionConfig?.waitOnFirstConnect ?? true,
776
777
  maxReconnectAttempts: connectionConfig?.maxReconnectAttempts ?? -1
777
778
  }).then((connection) => {
779
+ natsConnected = true;
778
780
  logger.debug(`[NATS] connected to ${url}`);
779
781
  return connection;
780
782
  }).catch((error) => {
781
783
  logger.error("[NATS] connection error", error);
784
+ natsConnected = false;
782
785
  natsConnectionPromise = null;
783
786
  throw error;
784
787
  });
@@ -799,20 +802,14 @@ var init_nats_publisher = __esm({
799
802
  }
800
803
  }
801
804
  };
802
- connectNats = async () => {
803
- await getNatsConnection();
804
- };
805
- isNatsConnected = async () => {
806
- if (!natsConnectionPromise) return false;
807
- try {
808
- const nc = await natsConnectionPromise;
809
- return !nc.isClosed() && !nc.isDraining();
810
- } catch {
811
- return false;
812
- }
805
+ connectNats = () => {
806
+ getNatsConnection().catch(() => {
807
+ });
813
808
  };
809
+ isNatsConnected = () => natsConnected;
814
810
  __resetNatsPublisher = async () => {
815
811
  await closeConnection();
812
+ natsConnected = false;
816
813
  connectionConfig = void 0;
817
814
  };
818
815
  deriveSubjectFromType = (eventType, config) => {
package/dist/index.cjs CHANGED
@@ -1382,7 +1382,7 @@ __export(nats_publisher_exports, {
1382
1382
  publishNatsRawEvent: () => exports.publishNatsRawEvent,
1383
1383
  request: () => exports.request
1384
1384
  });
1385
- var sc, natsConnectionPromise, deriveSubjectFromEventType, connectionConfig; exports.configureNatsPublisher = void 0; var getNatsConnection; exports.closeConnection = void 0; exports.connectNats = void 0; exports.isNatsConnected = void 0; exports.__resetNatsPublisher = void 0; exports.deriveSubjectFromType = void 0; exports.deriveStreamFromType = void 0; exports.publishNatsRawEvent = void 0; exports.publishNatsEvent = void 0; exports.publish = void 0; var DEFAULT_REQUEST_TIMEOUT; exports.request = void 0;
1385
+ var sc, natsConnectionPromise, deriveSubjectFromEventType, connectionConfig; exports.configureNatsPublisher = void 0; var natsConnected, getNatsConnection; exports.closeConnection = void 0; exports.connectNats = void 0; exports.isNatsConnected = void 0; exports.__resetNatsPublisher = void 0; exports.deriveSubjectFromType = void 0; exports.deriveStreamFromType = void 0; exports.publishNatsRawEvent = void 0; exports.publishNatsEvent = void 0; exports.publish = void 0; var DEFAULT_REQUEST_TIMEOUT; exports.request = void 0;
1386
1386
  var init_nats_publisher = __esm({
1387
1387
  "src/publishing/nats.publisher.ts"() {
1388
1388
  init_domain();
@@ -1401,18 +1401,21 @@ var init_nats_publisher = __esm({
1401
1401
  exports.configureNatsPublisher = (config) => {
1402
1402
  connectionConfig = config;
1403
1403
  };
1404
+ natsConnected = false;
1404
1405
  getNatsConnection = async (servers) => {
1405
1406
  if (!natsConnectionPromise) {
1406
1407
  const url = servers ?? process.env.NATS_URL ?? "nats://localhost:4222";
1407
1408
  natsConnectionPromise = nats.connect({
1408
1409
  servers: url,
1409
- waitOnFirstConnect: connectionConfig?.waitOnFirstConnect ?? false,
1410
+ waitOnFirstConnect: connectionConfig?.waitOnFirstConnect ?? true,
1410
1411
  maxReconnectAttempts: connectionConfig?.maxReconnectAttempts ?? -1
1411
1412
  }).then((connection) => {
1413
+ natsConnected = true;
1412
1414
  logger.debug(`[NATS] connected to ${url}`);
1413
1415
  return connection;
1414
1416
  }).catch((error) => {
1415
1417
  logger.error("[NATS] connection error", error);
1418
+ natsConnected = false;
1416
1419
  natsConnectionPromise = null;
1417
1420
  throw error;
1418
1421
  });
@@ -1433,20 +1436,14 @@ var init_nats_publisher = __esm({
1433
1436
  }
1434
1437
  }
1435
1438
  };
1436
- exports.connectNats = async () => {
1437
- await getNatsConnection();
1438
- };
1439
- exports.isNatsConnected = async () => {
1440
- if (!natsConnectionPromise) return false;
1441
- try {
1442
- const nc = await natsConnectionPromise;
1443
- return !nc.isClosed() && !nc.isDraining();
1444
- } catch {
1445
- return false;
1446
- }
1439
+ exports.connectNats = () => {
1440
+ getNatsConnection().catch(() => {
1441
+ });
1447
1442
  };
1443
+ exports.isNatsConnected = () => natsConnected;
1448
1444
  exports.__resetNatsPublisher = async () => {
1449
1445
  await exports.closeConnection();
1446
+ natsConnected = false;
1450
1447
  connectionConfig = void 0;
1451
1448
  };
1452
1449
  exports.deriveSubjectFromType = (eventType, config) => {
@@ -2191,7 +2188,7 @@ function cloudEvents(options = {}) {
2191
2188
  // package.json
2192
2189
  var package_default = {
2193
2190
  name: "@crossdelta/cloudevents",
2194
- version: "0.7.13",
2191
+ version: "0.7.15",
2195
2192
  description: "CloudEvents toolkit for TypeScript - Zod validation, handler discovery, NATS JetStream & Core"};
2196
2193
 
2197
2194
  // src/plugin.ts
package/dist/index.d.cts CHANGED
@@ -1336,14 +1336,16 @@ declare const configureNatsPublisher: (config: NatsConnectionConfig) => void;
1336
1336
  */
1337
1337
  declare const closeConnection: () => Promise<void>;
1338
1338
  /**
1339
- * Eagerly establishes the NATS connection. Call this on application startup
1340
- * so that `isNatsConnected()` reflects real connectivity from the first probe.
1339
+ * Starts the NATS connection in the background (fire-and-forget).
1340
+ * Does NOT block nats.js retries internally via `waitOnFirstConnect: true`.
1341
+ * Call on startup so `isNatsConnected()` reflects connectivity once established.
1341
1342
  */
1342
- declare const connectNats: () => Promise<void>;
1343
+ declare const connectNats: () => void;
1343
1344
  /**
1344
1345
  * Returns true if a NATS connection is currently established and healthy.
1346
+ * Non-blocking — checks a flag set when `connect()` resolves.
1345
1347
  */
1346
- declare const isNatsConnected: () => Promise<boolean>;
1348
+ declare const isNatsConnected: () => boolean;
1347
1349
  /**
1348
1350
  * Reset publisher state (for testing only)
1349
1351
  * @internal
package/dist/index.d.ts CHANGED
@@ -1336,14 +1336,16 @@ declare const configureNatsPublisher: (config: NatsConnectionConfig) => void;
1336
1336
  */
1337
1337
  declare const closeConnection: () => Promise<void>;
1338
1338
  /**
1339
- * Eagerly establishes the NATS connection. Call this on application startup
1340
- * so that `isNatsConnected()` reflects real connectivity from the first probe.
1339
+ * Starts the NATS connection in the background (fire-and-forget).
1340
+ * Does NOT block nats.js retries internally via `waitOnFirstConnect: true`.
1341
+ * Call on startup so `isNatsConnected()` reflects connectivity once established.
1341
1342
  */
1342
- declare const connectNats: () => Promise<void>;
1343
+ declare const connectNats: () => void;
1343
1344
  /**
1344
1345
  * Returns true if a NATS connection is currently established and healthy.
1346
+ * Non-blocking — checks a flag set when `connect()` resolves.
1345
1347
  */
1346
- declare const isNatsConnected: () => Promise<boolean>;
1348
+ declare const isNatsConnected: () => boolean;
1347
1349
  /**
1348
1350
  * Reset publisher state (for testing only)
1349
1351
  * @internal
package/dist/index.js CHANGED
@@ -1357,7 +1357,7 @@ __export(nats_publisher_exports, {
1357
1357
  publishNatsRawEvent: () => publishNatsRawEvent,
1358
1358
  request: () => request
1359
1359
  });
1360
- var sc, natsConnectionPromise, deriveSubjectFromEventType, connectionConfig, configureNatsPublisher, getNatsConnection, closeConnection, connectNats, isNatsConnected, __resetNatsPublisher, deriveSubjectFromType, deriveStreamFromType, publishNatsRawEvent, publishNatsEvent, publish, DEFAULT_REQUEST_TIMEOUT, request;
1360
+ var sc, natsConnectionPromise, deriveSubjectFromEventType, connectionConfig, configureNatsPublisher, natsConnected, getNatsConnection, closeConnection, connectNats, isNatsConnected, __resetNatsPublisher, deriveSubjectFromType, deriveStreamFromType, publishNatsRawEvent, publishNatsEvent, publish, DEFAULT_REQUEST_TIMEOUT, request;
1361
1361
  var init_nats_publisher = __esm({
1362
1362
  "src/publishing/nats.publisher.ts"() {
1363
1363
  init_domain();
@@ -1376,18 +1376,21 @@ var init_nats_publisher = __esm({
1376
1376
  configureNatsPublisher = (config) => {
1377
1377
  connectionConfig = config;
1378
1378
  };
1379
+ natsConnected = false;
1379
1380
  getNatsConnection = async (servers) => {
1380
1381
  if (!natsConnectionPromise) {
1381
1382
  const url = servers ?? process.env.NATS_URL ?? "nats://localhost:4222";
1382
1383
  natsConnectionPromise = connect({
1383
1384
  servers: url,
1384
- waitOnFirstConnect: connectionConfig?.waitOnFirstConnect ?? false,
1385
+ waitOnFirstConnect: connectionConfig?.waitOnFirstConnect ?? true,
1385
1386
  maxReconnectAttempts: connectionConfig?.maxReconnectAttempts ?? -1
1386
1387
  }).then((connection) => {
1388
+ natsConnected = true;
1387
1389
  logger.debug(`[NATS] connected to ${url}`);
1388
1390
  return connection;
1389
1391
  }).catch((error) => {
1390
1392
  logger.error("[NATS] connection error", error);
1393
+ natsConnected = false;
1391
1394
  natsConnectionPromise = null;
1392
1395
  throw error;
1393
1396
  });
@@ -1408,20 +1411,14 @@ var init_nats_publisher = __esm({
1408
1411
  }
1409
1412
  }
1410
1413
  };
1411
- connectNats = async () => {
1412
- await getNatsConnection();
1413
- };
1414
- isNatsConnected = async () => {
1415
- if (!natsConnectionPromise) return false;
1416
- try {
1417
- const nc = await natsConnectionPromise;
1418
- return !nc.isClosed() && !nc.isDraining();
1419
- } catch {
1420
- return false;
1421
- }
1414
+ connectNats = () => {
1415
+ getNatsConnection().catch(() => {
1416
+ });
1422
1417
  };
1418
+ isNatsConnected = () => natsConnected;
1423
1419
  __resetNatsPublisher = async () => {
1424
1420
  await closeConnection();
1421
+ natsConnected = false;
1425
1422
  connectionConfig = void 0;
1426
1423
  };
1427
1424
  deriveSubjectFromType = (eventType, config) => {
@@ -2166,7 +2163,7 @@ function cloudEvents(options = {}) {
2166
2163
  // package.json
2167
2164
  var package_default = {
2168
2165
  name: "@crossdelta/cloudevents",
2169
- version: "0.7.13",
2166
+ version: "0.7.15",
2170
2167
  description: "CloudEvents toolkit for TypeScript - Zod validation, handler discovery, NATS JetStream & Core"};
2171
2168
 
2172
2169
  // src/plugin.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossdelta/cloudevents",
3
- "version": "0.7.13",
3
+ "version": "0.7.15",
4
4
  "description": "CloudEvents toolkit for TypeScript - Zod validation, handler discovery, NATS JetStream & Core",
5
5
  "author": "crossdelta",
6
6
  "license": "MIT",