node-opcua-client 2.102.0 → 2.104.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.
Files changed (52) hide show
  1. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.js +6 -3
  2. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.js.map +1 -1
  3. package/dist/alarms_and_conditions/client_tools.js +24 -1
  4. package/dist/alarms_and_conditions/client_tools.js.map +1 -1
  5. package/dist/client_base.d.ts +5 -1
  6. package/dist/client_base.js +1 -1
  7. package/dist/client_base.js.map +1 -1
  8. package/dist/client_monitored_item_toolbox.js +5 -2
  9. package/dist/client_monitored_item_toolbox.js.map +1 -1
  10. package/dist/client_session_keepalive_manager.d.ts +1 -1
  11. package/dist/client_session_keepalive_manager.js +10 -6
  12. package/dist/client_session_keepalive_manager.js.map +1 -1
  13. package/dist/client_subscription.js +1 -1
  14. package/dist/client_subscription.js.map +1 -1
  15. package/dist/index.js +14 -2
  16. package/dist/index.js.map +1 -1
  17. package/dist/opcua_client.d.ts +0 -38
  18. package/dist/opcua_client.js.map +1 -1
  19. package/dist/private/client_base_impl.d.ts +2 -0
  20. package/dist/private/client_base_impl.js +78 -34
  21. package/dist/private/client_base_impl.js.map +1 -1
  22. package/dist/private/client_publish_engine.js +39 -13
  23. package/dist/private/client_publish_engine.js.map +1 -1
  24. package/dist/private/client_session_impl.d.ts +1 -1
  25. package/dist/private/client_session_impl.js +26 -23
  26. package/dist/private/client_session_impl.js.map +1 -1
  27. package/dist/private/client_subscription_impl.js +45 -19
  28. package/dist/private/client_subscription_impl.js.map +1 -1
  29. package/dist/private/opcua_client_impl.js +32 -6
  30. package/dist/private/opcua_client_impl.js.map +1 -1
  31. package/dist/reconnection.js +52 -26
  32. package/dist/reconnection.js.map +1 -1
  33. package/dist/tools/findservers.js +24 -1
  34. package/dist/tools/findservers.js.map +1 -1
  35. package/dist/tools/read_history_server_capabilities.js.map +1 -1
  36. package/dist/verify.d.ts +1 -1
  37. package/dist/verify.js +9 -8
  38. package/dist/verify.js.map +1 -1
  39. package/package.json +48 -48
  40. package/source/alarms_and_conditions/client_alarm_tools_dump_event.ts +1 -1
  41. package/source/client_base.ts +5 -1
  42. package/source/client_monitored_item_toolbox.ts +1 -1
  43. package/source/client_session_keepalive_manager.ts +7 -5
  44. package/source/opcua_client.ts +0 -46
  45. package/source/private/client_base_impl.ts +46 -26
  46. package/source/private/client_publish_engine.ts +1 -1
  47. package/source/private/client_session_impl.ts +4 -4
  48. package/source/private/client_subscription_impl.ts +1 -1
  49. package/source/private/opcua_client_impl.ts +2 -3
  50. package/source/reconnection.ts +1 -1
  51. package/source/tools/read_history_server_capabilities.ts +6 -0
  52. package/source/verify.ts +9 -8
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,16 +31,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
31
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
32
  });
10
33
  };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
11
37
  Object.defineProperty(exports, "__esModule", { value: true });
12
38
  exports.ClientBaseImpl = void 0;
13
39
  /**
14
40
  * @module node-opcua-client-private
15
41
  */
16
42
  // tslint:disable:no-unused-expression
17
- const fs = require("fs");
18
- const path = require("path");
19
- const async = require("async");
20
- const chalk = require("chalk");
43
+ const fs = __importStar(require("fs"));
44
+ const path = __importStar(require("path"));
45
+ const async = __importStar(require("async"));
46
+ const chalk_1 = __importDefault(require("chalk"));
21
47
  const global_mutex_1 = require("@ster5/global-mutex");
22
48
  const node_opcua_assert_1 = require("node-opcua-assert");
23
49
  const node_opcua_common_1 = require("node-opcua-common");
@@ -140,7 +166,7 @@ function __findEndpoint(endpointUrl, params, _callback) {
140
166
  }
141
167
  // istanbul ignore next
142
168
  if (doDebug) {
143
- debugLog(chalk.bgWhite.red("xxxxxxxxxxxxxxxxxxxxx => selected EndPoint = "), selectedEndpoint.toString());
169
+ debugLog(chalk_1.default.bgWhite.red("xxxxxxxxxxxxxxxxxxxxx => selected EndPoint = "), selectedEndpoint.toString());
144
170
  }
145
171
  const result = {
146
172
  endpoints: allEndpoints,
@@ -253,13 +279,13 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
253
279
  _setInternalState(internalState) {
254
280
  const previousState = this._internalState;
255
281
  if (doDebug || traceInternalState) {
256
- (traceInternalState ? warningLog : debugLog)(chalk.cyan(` Client ${this._instanceNumber} ${this.clientName} : _internalState from `), chalk.yellow(previousState), "to", chalk.yellow(internalState));
282
+ (traceInternalState ? warningLog : debugLog)(chalk_1.default.cyan(` Client ${this._instanceNumber} ${this.clientName} : _internalState from `), chalk_1.default.yellow(previousState), "to", chalk_1.default.yellow(internalState));
257
283
  }
258
284
  this._internalState = internalState;
259
285
  }
260
286
  emit(eventName, ...others) {
261
287
  if (doDebug) {
262
- debugLog(chalk.cyan(` Client ${this._instanceNumber} ${this.clientName} emitting `), chalk.magentaBright(eventName));
288
+ debugLog(chalk_1.default.cyan(` Client ${this._instanceNumber} ${this.clientName} emitting `), chalk_1.default.magentaBright(eventName));
263
289
  }
264
290
  return super.emit(eventName, ...others);
265
291
  }
@@ -297,6 +323,7 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
297
323
  this.securityPolicy = (0, node_opcua_secure_channel_1.coerceSecurityPolicy)(options.securityPolicy);
298
324
  this.serverCertificate = options.serverCertificate;
299
325
  this.keepSessionAlive = typeof options.keepSessionAlive === "boolean" ? options.keepSessionAlive : false;
326
+ this.keepAliveInterval = options.keepAliveInterval;
300
327
  // statistics...
301
328
  this._byteRead = 0;
302
329
  this._byteWritten = 0;
@@ -311,6 +338,7 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
311
338
  this.discoveryUrl = options.discoveryUrl || "";
312
339
  this._setInternalState("disconnected");
313
340
  this._transportSettings = options.transportSettings || {};
341
+ this._transportTimeout = options.transportTimeout;
314
342
  }
315
343
  _cancel_reconnection(callback) {
316
344
  // _cancel_reconnection is invoked during disconnection
@@ -373,7 +401,7 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
373
401
  this.emit("after_reconnection", null); // send after callback
374
402
  (0, node_opcua_assert_1.assert)(this._secureChannel, "expecting a secureChannel here ");
375
403
  // a new channel has be created and a new connection is established
376
- debugLog(chalk.bgWhite.red("ClientBaseImpl: RECONNECTED !!!"));
404
+ debugLog(chalk_1.default.bgWhite.red("ClientBaseImpl: RECONNECTED !!!"));
377
405
  this._setInternalState("reconnecting_newchannel_connected");
378
406
  return callback();
379
407
  };
@@ -449,8 +477,8 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
449
477
  securityPolicy: this.securityPolicy,
450
478
  serverCertificate: this.serverCertificate,
451
479
  tokenRenewalInterval: this.tokenRenewalInterval,
452
- transportSettings: this._transportSettings
453
- // transportTimeout:
480
+ transportSettings: this._transportSettings,
481
+ transportTimeout: this._transportTimeout
454
482
  });
455
483
  secureChannel.on("backoff", (count, delay) => {
456
484
  this.emit("backoff", count, delay);
@@ -543,8 +571,12 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
543
571
  }
544
572
  this._inCreateDefaultCertificate = true;
545
573
  if (!fs.existsSync(this.certificateFile)) {
546
- const lockfile = path.join(this.certificateFile + ".lock");
547
- yield (0, global_mutex_1.withLock)({ lockfile: lockfile, maxStaleDuration: 60 * 1000, retryInterval: 100 }, () => __awaiter(this, void 0, void 0, function* () {
574
+ yield (0, global_mutex_1.withLock)({ fileToLock: this.certificateFile + ".mutex" }, () => __awaiter(this, void 0, void 0, function* () {
575
+ if (fs.existsSync(this.certificateFile)) {
576
+ // the file may have been created in between
577
+ return;
578
+ }
579
+ console.log("Creating default certificate ... please wait");
548
580
  if (this.disconnecting)
549
581
  return;
550
582
  yield ClientBaseImpl.createCertificate(this.clientCertificateManager, this.certificateFile, this.applicationName, this._getBuiltApplicationUri());
@@ -582,11 +614,8 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
582
614
  }
583
615
  if (this.disconnecting)
584
616
  return;
585
- const lockfile = path.join(this.certificateFile + ".lock");
586
- yield (0, global_mutex_1.withLock)({ lockfile: lockfile, maxStaleDuration: 60 * 1000, retryInterval: 100 }, () => __awaiter(this, void 0, void 0, function* () {
587
- if (this.disconnecting)
588
- return;
589
- yield verify_1.performCertificateSanityCheck.call(this, "client", this.clientCertificateManager, this._getBuiltApplicationUri());
617
+ yield this.clientCertificateManager.withLock2(() => __awaiter(this, void 0, void 0, function* () {
618
+ yield (0, verify_1.performCertificateSanityCheck)(this, "client", this.clientCertificateManager, this._getBuiltApplicationUri());
590
619
  }));
591
620
  });
592
621
  }
@@ -684,14 +713,14 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
684
713
  this._clockAdjuster.dispose();
685
714
  this._clockAdjuster = undefined;
686
715
  }
687
- debugLog(chalk.red("SecureChannel creation has failed with error :", err.message));
716
+ debugLog(chalk_1.default.red("SecureChannel creation has failed with error :", err.message));
688
717
  if (err.message.match(/ECONNABORTED/)) {
689
- debugLog(chalk.yellow("- The client cannot to :" + endpointUrl + ". Connection has been aborted."));
718
+ debugLog(chalk_1.default.yellow("- The client cannot to :" + endpointUrl + ". Connection has been aborted."));
690
719
  err = new Error("The connection has been aborted");
691
720
  this._handleUnrecoverableConnectionFailure(err, callback);
692
721
  }
693
722
  else if (err.message.match(/ECONNREF/)) {
694
- debugLog(chalk.yellow("- The client cannot to :" + endpointUrl + ". Server is not reachable."));
723
+ debugLog(chalk_1.default.yellow("- The client cannot to :" + endpointUrl + ". Server is not reachable."));
695
724
  err = new Error("The connection cannot be established with server " +
696
725
  endpointUrl +
697
726
  " .\n" +
@@ -706,6 +735,7 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
706
735
  this._handleDisconnectionWhileConnecting(err, callback);
707
736
  }
708
737
  else {
738
+ console.log("REMOVE ME", err.stack);
709
739
  err = new Error("The connection may have been rejected by server,\n" + "Err = (" + err.message + ")");
710
740
  this._handleUnrecoverableConnectionFailure(err, callback);
711
741
  }
@@ -876,7 +906,7 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
876
906
  if (!this._secureChannel.isValid()) {
877
907
  return callback(null);
878
908
  }
879
- debugLog(chalk.bgWhite.green("_closeSession ") + this._secureChannel.channelId);
909
+ debugLog(chalk_1.default.bgWhite.green("_closeSession ") + this._secureChannel.channelId);
880
910
  if (this.isReconnecting) {
881
911
  errorLog("OPCUAClientImpl#_closeSession called while reconnection in progress ! What shall we do");
882
912
  return callback(null);
@@ -985,13 +1015,13 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
985
1015
  tmpChannel = null;
986
1016
  this._destroy_secure_channel();
987
1017
  this._setInternalState("disconnected");
988
- setImmediate(callback);
1018
+ callback();
989
1019
  });
990
1020
  }
991
1021
  else {
992
- this.emit("close", null);
993
1022
  this._setInternalState("disconnected");
994
- setImmediate(callback);
1023
+ // this.emit("close", null);
1024
+ callback();
995
1025
  }
996
1026
  }
997
1027
  // override me !
@@ -1097,9 +1127,21 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
1097
1127
  _verify_serverCertificate(this.clientCertificateManager, endpoint.serverCertificate, (err1) => {
1098
1128
  if (err1) {
1099
1129
  warningLog("[NODE-OPCUA-W25] client's server certificate verification has failed ", err1.message);
1100
- warningLog(" ", this.clientCertificateManager.rootDir);
1101
- warningLog(" ", endpoint.serverCertificate.toString("base64").replace(/(.{80})/g, "$1\n "));
1102
- warningLog(" verify that server certificate is trusted or that server certificate issuer's certificate is present in the issuer folder");
1130
+ warningLog(" clientCertificateManager.rootDir = ", this.clientCertificateManager.rootDir);
1131
+ const f = (b) => " " + b.toString("base64").replace(/(.{80})/g, "$1\n ");
1132
+ const chain = (0, node_opcua_crypto_1.split_der)(endpoint.serverCertificate);
1133
+ warningLog(` server certificate contains ${chain.length} elements`);
1134
+ for (let i = 0; i < chain.length; i++) {
1135
+ const c = chain[i];
1136
+ warningLog("certificate", i, "\n" + f(c));
1137
+ }
1138
+ if (chain.length > 1) {
1139
+ warningLog(" verify also that the issuer certificate is trusted and the issuer's certificate is present in the issuer.cert folder\n" +
1140
+ " of the client certificate manager located in ", this.clientCertificateManager.rootDir);
1141
+ }
1142
+ else {
1143
+ warningLog(" verify that the server certificate is trusted or that server certificate issuer's certificate is present in the issuer folder");
1144
+ }
1103
1145
  return callback(err1);
1104
1146
  }
1105
1147
  this.serverCertificate = endpoint.serverCertificate;
@@ -1116,10 +1158,10 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
1116
1158
  this._timedOutRequestCount += this._secureChannel.timedOutRequestCount;
1117
1159
  if (doDebug) {
1118
1160
  const h = `Client ${this._instanceNumber} ${this.clientName}`;
1119
- debugLog(chalk.cyan(`${h} byteWritten = `), this._byteWritten);
1120
- debugLog(chalk.cyan(`${h} byteRead = `), this._byteRead);
1121
- debugLog(chalk.cyan(`${h} transactions = `), this._transactionsPerformed);
1122
- debugLog(chalk.cyan(`${h} timedOutRequestCount = `), this._timedOutRequestCount);
1161
+ debugLog(chalk_1.default.cyan(`${h} byteWritten = `), this._byteWritten);
1162
+ debugLog(chalk_1.default.cyan(`${h} byteRead = `), this._byteRead);
1163
+ debugLog(chalk_1.default.cyan(`${h} transactions = `), this._transactionsPerformed);
1164
+ debugLog(chalk_1.default.cyan(`${h} timedOutRequestCount = `), this._timedOutRequestCount);
1123
1165
  }
1124
1166
  }
1125
1167
  }
@@ -1214,7 +1256,7 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
1214
1256
  if (err) {
1215
1257
  this._setInternalState("panic");
1216
1258
  }
1217
- debugLog(chalk.yellow.bold(" ClientBaseImpl emitting close"), err === null || err === void 0 ? void 0 : err.message);
1259
+ debugLog(chalk_1.default.yellow.bold(" ClientBaseImpl emitting close"), err === null || err === void 0 ? void 0 : err.message);
1218
1260
  this._destroy_secure_channel();
1219
1261
  if (!err || !this.reconnectOnFailure) {
1220
1262
  // this is a normal close operation initiated by us
@@ -1222,13 +1264,15 @@ class ClientBaseImpl extends node_opcua_common_1.OPCUASecureObject {
1222
1264
  * @event close
1223
1265
  * @param error
1224
1266
  */
1225
- this.emit("close", err);
1267
+ if (err) {
1268
+ this.emit("connection_lost", err === null || err === void 0 ? void 0 : err.message); // instead of "close"
1269
+ }
1270
+ this.emit("close", err); // instead of "close"
1226
1271
  }
1227
1272
  else {
1228
1273
  /**
1229
1274
  * @event connection_lost
1230
1275
  */
1231
- // this.emit("close", err);
1232
1276
  if (this.reconnectOnFailure && this._internalState !== "reconnecting") {
1233
1277
  debugLog(" ClientBaseImpl emitting connection_lost");
1234
1278
  this.emit("connection_lost", err === null || err === void 0 ? void 0 : err.message); // instead of "close"
@@ -1 +1 @@
1
- {"version":3,"file":"client_base_impl.js","sourceRoot":"","sources":["../../source/private/client_base_impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client_base_impl.js","sourceRoot":"","sources":["../../source/private/client_base_impl.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,38 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
2
28
  Object.defineProperty(exports, "__esModule", { value: true });
3
29
  exports.ClientSidePublishEngine = void 0;
4
30
  /**
5
31
  * @module node-opcua-client-private
6
32
  */
7
33
  const util_1 = require("util");
8
- const async = require("async");
9
- const chalk = require("chalk");
34
+ const async = __importStar(require("async"));
35
+ const chalk_1 = __importDefault(require("chalk"));
10
36
  const node_opcua_assert_1 = require("node-opcua-assert");
11
37
  const node_opcua_debug_1 = require("node-opcua-debug");
12
38
  const node_opcua_service_subscription_1 = require("node-opcua-service-subscription");
@@ -185,7 +211,7 @@ class ClientSidePublishEngine {
185
211
  internalSendPublishRequest() {
186
212
  (0, node_opcua_assert_1.assert)(this.session, "ClientSidePublishEngine terminated ?");
187
213
  this.nbPendingPublishRequests += 1;
188
- debugLog(chalk.yellow("sending publish request "), this.nbPendingPublishRequests);
214
+ debugLog(chalk_1.default.yellow("sending publish request "), this.nbPendingPublishRequests);
189
215
  const subscriptionAcknowledgements = this.subscriptionAcknowledgements;
190
216
  this.subscriptionAcknowledgements = [];
191
217
  // as started in the spec (Spec 1.02 part 4 page 81 5.13.2.2 Function DequeuePublishReq())
@@ -225,10 +251,10 @@ class ClientSidePublishEngine {
225
251
  session.publish(publishRequest, (err, response) => {
226
252
  this.nbPendingPublishRequests -= 1;
227
253
  if (err) {
228
- debugLog(chalk.cyan("ClientSidePublishEngine.prototype.internalSendPublishRequest callback : "), chalk.yellow(err.message));
254
+ debugLog(chalk_1.default.cyan("ClientSidePublishEngine.prototype.internalSendPublishRequest callback : "), chalk_1.default.yellow(err.message));
229
255
  debugLog("'" + err.message + "'");
230
256
  if (err.message.match("not connected")) {
231
- debugLog(chalk.bgWhite.red(" WARNING : CLIENT IS NOT CONNECTED :" + " MAY BE RECONNECTION IS IN PROGRESS"));
257
+ debugLog(chalk_1.default.bgWhite.red(" WARNING : CLIENT IS NOT CONNECTED :" + " MAY BE RECONNECTION IS IN PROGRESS"));
232
258
  debugLog("this.activeSubscriptionCount =", this.activeSubscriptionCount);
233
259
  // the previous publish request has ended up with an error because
234
260
  // the connection has failed ...
@@ -241,7 +267,7 @@ class ClientSidePublishEngine {
241
267
  // the server tells us that there is no subscription for this session
242
268
  // but the client have some active subscription left.
243
269
  // This could happen if the client has missed or not received the StatusChange Notification
244
- debugLog(chalk.bgWhite.red(" WARNING : SERVER TELLS THAT IT HAS NO SUBSCRIPTION , " + "BUT CLIENT DISAGREE"));
270
+ debugLog(chalk_1.default.bgWhite.red(" WARNING : SERVER TELLS THAT IT HAS NO SUBSCRIPTION , " + "BUT CLIENT DISAGREE"));
245
271
  debugLog("this.activeSubscriptionCount =", this.activeSubscriptionCount);
246
272
  active = false;
247
273
  }
@@ -251,7 +277,7 @@ class ClientSidePublishEngine {
251
277
  // may be the session timeout is shorted than the subscription life time
252
278
  // and the client does not send intermediate keepAlive request to keep the connection working.
253
279
  //
254
- debugLog(chalk.bgWhite.red(" WARNING : SERVER TELLS THAT THE SESSION HAS CLOSED ..."));
280
+ debugLog(chalk_1.default.bgWhite.red(" WARNING : SERVER TELLS THAT THE SESSION HAS CLOSED ..."));
255
281
  debugLog(" the ClientSidePublishEngine shall now be disabled," + " as server will reject any further request");
256
282
  // close all active subscription....
257
283
  active = false;
@@ -267,14 +293,14 @@ class ClientSidePublishEngine {
267
293
  //
268
294
  this.nbMaxPublishRequestsAcceptedByServer = Math.min(this.nbPendingPublishRequests, this.nbMaxPublishRequestsAcceptedByServer);
269
295
  active = false;
270
- warningLog(chalk.bgWhite.red(" WARNING : SERVER TELLS THAT TOO MANY" + " PUBLISH REQUEST HAS BEEN SEND ..."));
296
+ warningLog(chalk_1.default.bgWhite.red(" WARNING : SERVER TELLS THAT TOO MANY" + " PUBLISH REQUEST HAS BEEN SEND ..."));
271
297
  warningLog(" On our side nbPendingPublishRequests = ", this.nbPendingPublishRequests);
272
298
  warningLog(" => nbMaxPublishRequestsAcceptedByServer =", this.nbMaxPublishRequestsAcceptedByServer);
273
299
  }
274
300
  }
275
301
  else {
276
302
  if (doDebug) {
277
- debugLog(chalk.cyan("ClientSidePublishEngine.prototype.internalSendPublishRequest callback "));
303
+ debugLog(chalk_1.default.cyan("ClientSidePublishEngine.prototype.internalSendPublishRequest callback "));
278
304
  }
279
305
  this._receive_publish_response(response);
280
306
  }
@@ -290,7 +316,7 @@ class ClientSidePublishEngine {
290
316
  });
291
317
  }
292
318
  _receive_publish_response(response) {
293
- debugLog(chalk.yellow("receive publish response"));
319
+ debugLog(chalk_1.default.yellow("receive publish response"));
294
320
  // the id of the subscription sending the notification message
295
321
  const subscriptionId = response.subscriptionId;
296
322
  // the sequence numbers available in this subscription
@@ -342,7 +368,7 @@ class ClientSidePublishEngine {
342
368
  });
343
369
  // istanbul ignore next
344
370
  if (doDebug) {
345
- debugLog(chalk.bgCyan.yellow.bold(" republish Request for subscription"), request.subscriptionId, " retransmitSequenceNumber=", request.retransmitSequenceNumber);
371
+ debugLog(chalk_1.default.bgCyan.yellow.bold(" republish Request for subscription"), request.subscriptionId, " retransmitSequenceNumber=", request.retransmitSequenceNumber);
346
372
  }
347
373
  if (!session || session._closeEventHasBeenEmitted) {
348
374
  debugLog("ClientPublishEngine#_republish aborted ");
@@ -397,7 +423,7 @@ class ClientSidePublishEngine {
397
423
  // In this case, Client must recreate a subscription and recreate monitored item without altering
398
424
  // the event handlers
399
425
  //
400
- debugLog(chalk.bgWhite.red("_republish failed " + " subscriptionId is not valid anymore on server side."));
426
+ debugLog(chalk_1.default.bgWhite.red("_republish failed " + " subscriptionId is not valid anymore on server side."));
401
427
  const subscriptionI = subscription;
402
428
  return subscriptionI.recreateSubscriptionAndMonitoredItem(callback);
403
429
  }
@@ -405,6 +431,6 @@ class ClientSidePublishEngine {
405
431
  });
406
432
  }
407
433
  }
408
- ClientSidePublishEngine.publishRequestCountInPipeline = 5;
409
434
  exports.ClientSidePublishEngine = ClientSidePublishEngine;
435
+ ClientSidePublishEngine.publishRequestCountInPipeline = 5;
410
436
  //# sourceMappingURL=client_publish_engine.js.map