node-opcua-client 2.166.0 → 2.167.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 (102) hide show
  1. package/dist/alarms_and_conditions/client_alarm_tools.d.ts +1 -1
  2. package/dist/alarms_and_conditions/client_alarm_tools.js +2 -2
  3. package/dist/alarms_and_conditions/client_alarm_tools.js.map +1 -1
  4. package/dist/alarms_and_conditions/client_tools.d.ts +3 -0
  5. package/dist/alarms_and_conditions/client_tools.js +2 -2
  6. package/dist/alarms_and_conditions/client_tools.js.map +1 -1
  7. package/dist/client_base.d.ts +47 -40
  8. package/dist/client_base.js +5 -6
  9. package/dist/client_base.js.map +1 -1
  10. package/dist/client_monitored_item.d.ts +7 -7
  11. package/dist/client_monitored_item.js.map +1 -1
  12. package/dist/client_monitored_item_base.d.ts +12 -13
  13. package/dist/client_monitored_item_group.d.ts +5 -5
  14. package/dist/client_monitored_item_toolbox.d.ts +6 -7
  15. package/dist/client_monitored_item_toolbox.js.map +1 -1
  16. package/dist/client_session.d.ts +19 -23
  17. package/dist/client_session.js.map +1 -1
  18. package/dist/client_session_keepalive_manager.d.ts +1 -1
  19. package/dist/client_session_keepalive_manager.js +6 -6
  20. package/dist/client_session_keepalive_manager.js.map +1 -1
  21. package/dist/client_subscription.d.ts +11 -12
  22. package/dist/client_subscription.js.map +1 -1
  23. package/dist/client_utils.d.ts +3 -3
  24. package/dist/client_utils.js.map +1 -1
  25. package/dist/common.d.ts +12 -12
  26. package/dist/index.d.ts +26 -27
  27. package/dist/index.js +65 -66
  28. package/dist/index.js.map +1 -1
  29. package/dist/opcua_client.d.ts +17 -19
  30. package/dist/opcua_client.js.map +1 -1
  31. package/dist/private/client_base_impl.d.ts +19 -18
  32. package/dist/private/client_base_impl.js +140 -119
  33. package/dist/private/client_base_impl.js.map +1 -1
  34. package/dist/private/client_monitored_item_group_impl.d.ts +4 -5
  35. package/dist/private/client_monitored_item_group_impl.js +1 -1
  36. package/dist/private/client_monitored_item_group_impl.js.map +1 -1
  37. package/dist/private/client_monitored_item_impl.d.ts +9 -10
  38. package/dist/private/client_monitored_item_impl.js.map +1 -1
  39. package/dist/private/client_publish_engine.d.ts +3 -3
  40. package/dist/private/client_publish_engine.js +6 -7
  41. package/dist/private/client_publish_engine.js.map +1 -1
  42. package/dist/private/client_session_impl.d.ts +24 -25
  43. package/dist/private/client_session_impl.js +14 -10
  44. package/dist/private/client_session_impl.js.map +1 -1
  45. package/dist/private/client_subscription_impl.d.ts +10 -11
  46. package/dist/private/client_subscription_impl.js +12 -11
  47. package/dist/private/client_subscription_impl.js.map +1 -1
  48. package/dist/private/i_private_client.d.ts +7 -7
  49. package/dist/private/opcua_client_impl.d.ts +12 -9
  50. package/dist/private/opcua_client_impl.js +58 -48
  51. package/dist/private/opcua_client_impl.js.map +1 -1
  52. package/dist/private/performance.js.map +1 -1
  53. package/dist/private/reconnection/client_publish_engine_reconnection.d.ts +1 -1
  54. package/dist/private/reconnection/client_publish_engine_reconnection.js +4 -2
  55. package/dist/private/reconnection/client_publish_engine_reconnection.js.map +1 -1
  56. package/dist/private/reconnection/client_reconnection.d.ts +1 -1
  57. package/dist/private/reconnection/client_subscription_reconnection.d.ts +1 -1
  58. package/dist/private/reconnection/client_subscription_reconnection.js +2 -2
  59. package/dist/private/reconnection/client_subscription_reconnection.js.map +1 -1
  60. package/dist/private/reconnection/reconnection.d.ts +3 -3
  61. package/dist/private/reconnection/reconnection.js +1 -1
  62. package/dist/private/reconnection/reconnection.js.map +1 -1
  63. package/dist/tools/findservers.d.ts +7 -2
  64. package/dist/tools/findservers.js +41 -53
  65. package/dist/tools/findservers.js.map +1 -1
  66. package/dist/tools/read_history_server_capabilities.d.ts +1 -1
  67. package/dist/tools/read_history_server_capabilities.js +9 -8
  68. package/dist/tools/read_history_server_capabilities.js.map +1 -1
  69. package/dist/user_identity_info.d.ts +1 -1
  70. package/dist/verify.js.map +1 -1
  71. package/package.json +41 -40
  72. package/source/alarms_and_conditions/client_alarm_tools.ts +14 -8
  73. package/source/alarms_and_conditions/client_tools.ts +7 -6
  74. package/source/client_base.ts +93 -79
  75. package/source/client_monitored_item.ts +7 -8
  76. package/source/client_monitored_item_base.ts +12 -14
  77. package/source/client_monitored_item_group.ts +5 -5
  78. package/source/client_monitored_item_toolbox.ts +13 -14
  79. package/source/client_session.ts +37 -40
  80. package/source/client_session_keepalive_manager.ts +7 -10
  81. package/source/client_subscription.ts +11 -12
  82. package/source/client_utils.ts +6 -6
  83. package/source/common.ts +12 -12
  84. package/source/index.ts +44 -40
  85. package/source/opcua_client.ts +24 -23
  86. package/source/private/client_base_impl.ts +276 -186
  87. package/source/private/client_monitored_item_group_impl.ts +10 -14
  88. package/source/private/client_monitored_item_impl.ts +17 -17
  89. package/source/private/client_publish_engine.ts +11 -12
  90. package/source/private/client_session_impl.ts +85 -82
  91. package/source/private/client_subscription_impl.ts +42 -41
  92. package/source/private/i_private_client.ts +8 -8
  93. package/source/private/opcua_client_impl.ts +118 -97
  94. package/source/private/performance.ts +2 -3
  95. package/source/private/reconnection/client_publish_engine_reconnection.ts +16 -15
  96. package/source/private/reconnection/client_reconnection.ts +1 -1
  97. package/source/private/reconnection/client_subscription_reconnection.ts +16 -13
  98. package/source/private/reconnection/reconnection.ts +130 -33
  99. package/source/tools/findservers.ts +43 -62
  100. package/source/tools/read_history_server_capabilities.ts +20 -22
  101. package/source/user_identity_info.ts +5 -5
  102. package/source/verify.ts +25 -25
@@ -2,55 +2,52 @@
2
2
  * @module node-opcua-client-private
3
3
  */
4
4
  // tslint:disable:unified-signatures
5
- import { EventEmitter } from "events";
5
+
6
6
  import chalk from "chalk";
7
+ import { EventEmitter } from "events";
7
8
 
8
9
  import { assert } from "node-opcua-assert";
10
+ import { promoteOpaqueStructureInNotificationData } from "node-opcua-client-dynamic-extension-object";
9
11
  import { AttributeIds } from "node-opcua-data-model";
10
12
  import { checkDebugFlag, make_debugLog, make_warningLog } from "node-opcua-debug";
11
13
  import { resolveNodeId } from "node-opcua-nodeid";
12
-
13
- import { ReadValueIdOptions, TimestampsToReturn } from "node-opcua-service-read";
14
+ import type { ReadValueIdOptions, TimestampsToReturn } from "node-opcua-service-read";
14
15
  import {
15
16
  CreateSubscriptionRequest,
16
- CreateSubscriptionResponse,
17
- DataChangeNotification,
18
- DeleteMonitoredItemsResponse,
19
- DeleteSubscriptionsResponse,
20
- MonitoringParametersOptions,
21
- NotificationMessage,
22
- StatusChangeNotification,
23
- NotificationData,
24
- EventNotificationList,
25
- SetTriggeringResponse,
26
- SetTriggeringRequest,
17
+ type CreateSubscriptionResponse,
18
+ type DataChangeNotification,
19
+ type DeleteMonitoredItemsResponse,
20
+ type DeleteSubscriptionsResponse,
21
+ type EventNotificationList,
22
+ type ModifySubscriptionRequestOptions,
23
+ type ModifySubscriptionResponse,
27
24
  MonitoringMode,
28
- ModifySubscriptionRequestOptions,
29
- ModifySubscriptionResponse
25
+ type MonitoringParametersOptions,
26
+ type NotificationData,
27
+ type NotificationMessage,
28
+ SetTriggeringRequest,
29
+ type SetTriggeringResponse,
30
+ type StatusChangeNotification
30
31
  } from "node-opcua-service-subscription";
31
-
32
- import { StatusCode, StatusCodes } from "node-opcua-status-code";
33
- import { Callback, ErrorCallback } from "node-opcua-status-code";
32
+ import { type Callback, type ErrorCallback, type StatusCode, StatusCodes } from "node-opcua-status-code";
34
33
  import { isNullOrUndefined } from "node-opcua-utils";
35
- import { promoteOpaqueStructureInNotificationData } from "node-opcua-client-dynamic-extension-object";
36
-
37
- import { ClientMonitoredItemBase } from "../client_monitored_item_base";
38
- import { ClientMonitoredItemGroup } from "../client_monitored_item_group";
39
- import { ClientSession, MonitoredItemData, SubscriptionId } from "../client_session";
34
+ import type { ClientMonitoredItem } from "../client_monitored_item";
35
+ import type { ClientMonitoredItemBase } from "../client_monitored_item_base";
36
+ import type { ClientMonitoredItemGroup } from "../client_monitored_item_group";
37
+ import { ClientMonitoredItemToolbox } from "../client_monitored_item_toolbox";
38
+ import type { ClientSession, MonitoredItemData, SubscriptionId } from "../client_session";
40
39
  import {
41
- ClientHandle,
42
- ClientMonitoredItemBaseMap,
40
+ type ClientHandle,
41
+ type ClientMonitoredItemBaseMap,
43
42
  ClientSubscription,
44
- ClientSubscriptionOptions,
45
- ModifySubscriptionOptions,
46
- ModifySubscriptionResult
43
+ type ClientSubscriptionOptions,
44
+ type ModifySubscriptionOptions,
45
+ type ModifySubscriptionResult
47
46
  } from "../client_subscription";
48
- import { ClientMonitoredItem } from "../client_monitored_item";
49
- import { ClientMonitoredItemToolbox } from "../client_monitored_item_toolbox";
50
47
  import { ClientMonitoredItemGroupImpl } from "./client_monitored_item_group_impl";
51
48
  import { ClientMonitoredItemImpl } from "./client_monitored_item_impl";
52
- import { ClientSidePublishEngine } from "./client_publish_engine";
53
- import { ClientSessionImpl } from "./client_session_impl";
49
+ import type { ClientSidePublishEngine } from "./client_publish_engine";
50
+ import type { ClientSessionImpl } from "./client_session_impl";
54
51
  import { detectLongOperation } from "./performance";
55
52
 
56
53
  const debugLog = make_debugLog("CLIENT_SUBSCRIPTION");
@@ -130,11 +127,13 @@ export class ClientSubscriptionImpl extends EventEmitter implements ClientSubscr
130
127
  return !!this.publishEngine?.session;
131
128
  }
132
129
  public get isActive(): boolean {
133
- return this.hasSession && !(
134
- this.subscriptionId === PENDING_SUBSCRIPTION_ID ||
135
- this.subscriptionId === TERMINATED_SUBSCRIPTION_ID ||
136
- this.subscriptionId === TERMINATING_SUBSCRIPTION_ID
137
-
130
+ return (
131
+ this.hasSession &&
132
+ !(
133
+ this.subscriptionId === PENDING_SUBSCRIPTION_ID ||
134
+ this.subscriptionId === TERMINATED_SUBSCRIPTION_ID ||
135
+ this.subscriptionId === TERMINATING_SUBSCRIPTION_ID
136
+ )
138
137
  );
139
138
  }
140
139
 
@@ -695,7 +694,7 @@ export class ClientSubscriptionImpl extends EventEmitter implements ClientSubscr
695
694
  }
696
695
 
697
696
  public onNotificationMessage(notificationMessage: NotificationMessage): void {
698
- assert(Object.prototype.hasOwnProperty.call(notificationMessage, "sequenceNumber"));
697
+ assert(Object.hasOwn(notificationMessage, "sequenceNumber"));
699
698
 
700
699
  this.lastSequenceNumber = notificationMessage.sequenceNumber;
701
700
 
@@ -758,7 +757,8 @@ export class ClientSubscriptionImpl extends EventEmitter implements ClientSubscr
758
757
  if (s(this).$_slowNotifCount > 0 && s(this).$_slowNotifCount % 1000 !== 0) return;
759
758
  s(this).$_slowNotifCount++;
760
759
  warningLog(
761
- `[NODE-OPCUA-W32]}: monitored.item event handler takes too much time : operation duration ${duration} ms [repeated ${s(this).$_slowNotifCount
760
+ `[NODE-OPCUA-W32]}: monitored.item event handler takes too much time : operation duration ${duration} ms [repeated ${
761
+ s(this).$_slowNotifCount
762
762
  } times]\n please ensure that your monitoredItem event handler is not blocking the event loop.`
763
763
  );
764
764
  }
@@ -840,7 +840,6 @@ export function ClientMonitoredItem_create(
840
840
  monitoringMode: MonitoringMode = MonitoringMode.Reporting,
841
841
  callback?: (err3?: Error | null, monitoredItem?: ClientMonitoredItem) => void
842
842
  ): ClientMonitoredItem {
843
-
844
843
  const subscriptionImpl = subscription as ClientSubscriptionImpl;
845
844
  if (!subscriptionImpl) {
846
845
  throw new Error("Invalid subscription");
@@ -875,9 +874,11 @@ export function ClientMonitoredItem_create(
875
874
  });
876
875
  return monitoredItem;
877
876
  }
877
+
878
878
  // tslint:disable:no-var-requires
879
879
  // tslint:disable:max-line-length
880
880
  import { withCallback } from "thenify-ex";
881
+
881
882
  const opts = { multiArgs: false };
882
883
 
883
884
  ClientSubscriptionImpl.prototype.setPublishingMode = withCallback(ClientSubscriptionImpl.prototype.setPublishingMode);
@@ -1,11 +1,11 @@
1
- import { ClientSecureChannelLayer } from "node-opcua-secure-channel";
2
- import { EndpointDescription } from "node-opcua-service-endpoints";
3
- import { IBasicTransportSettings, ResponseCallback } from "node-opcua-pseudo-session";
1
+ import type { IBasicTransportSettings, ResponseCallback } from "node-opcua-pseudo-session";
2
+ import type { ClientSecureChannelLayer } from "node-opcua-secure-channel";
3
+ import type { EndpointDescription } from "node-opcua-service-endpoints";
4
4
 
5
- import { ClientSession } from "../client_session";
6
- import { Request, Response } from "../common";
7
- import { UserIdentityInfo } from "../user_identity_info";
8
- import { ClientSessionImpl } from "./client_session_impl";
5
+ import type { ClientSession } from "../client_session";
6
+ import type { Request, Response } from "../common";
7
+ import type { UserIdentityInfo } from "../user_identity_info";
8
+ import type { ClientSessionImpl } from "./client_session_impl";
9
9
 
10
10
  export interface IClientBase {
11
11
  __createSession_step2(session: ClientSessionImpl, callback: (err: Error | null, session?: ClientSessionImpl) => void): void;
@@ -29,5 +29,5 @@ export interface IClientBase {
29
29
 
30
30
  isUnusable(): boolean;
31
31
 
32
- beforeSubscriptionRecreate?: (session: ClientSession) => Promise<Error | undefined>
32
+ beforeSubscriptionRecreate?: (session: ClientSession) => Promise<Error | undefined>;
33
33
  }