node-opcua-client 2.73.1 → 2.76.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 (83) hide show
  1. package/LICENSE +3 -1
  2. package/README.md +54 -0
  3. package/dist/alarms_and_conditions/client_alarm.d.ts +49 -45
  4. package/dist/alarms_and_conditions/client_alarm.js +109 -101
  5. package/dist/alarms_and_conditions/client_alarm.js.map +1 -1
  6. package/dist/alarms_and_conditions/client_alarm_list.d.ts +25 -25
  7. package/dist/alarms_and_conditions/client_alarm_list.js +97 -97
  8. package/dist/alarms_and_conditions/client_alarm_list.js.map +1 -1
  9. package/dist/alarms_and_conditions/client_alarm_tools.d.ts +4 -4
  10. package/dist/alarms_and_conditions/client_alarm_tools.js +156 -152
  11. package/dist/alarms_and_conditions/client_alarm_tools.js.map +1 -1
  12. package/dist/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.d.ts +18 -18
  13. package/dist/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.js +192 -190
  14. package/dist/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.js.map +1 -1
  15. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.d.ts +9 -9
  16. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.js +73 -73
  17. package/dist/alarms_and_conditions/client_alarm_tools_extractConditionFields.d.ts +3 -8
  18. package/dist/alarms_and_conditions/client_alarm_tools_extractConditionFields.js +118 -120
  19. package/dist/alarms_and_conditions/client_alarm_tools_extractConditionFields.js.map +1 -1
  20. package/dist/alarms_and_conditions/client_tools.d.ts +7 -7
  21. package/dist/alarms_and_conditions/client_tools.js +180 -180
  22. package/dist/client_base.d.ts +277 -277
  23. package/dist/client_base.js +14 -14
  24. package/dist/client_monitored_item.d.ts +21 -21
  25. package/dist/client_monitored_item.js +11 -11
  26. package/dist/client_monitored_item_base.d.ts +39 -39
  27. package/dist/client_monitored_item_base.js +2 -2
  28. package/dist/client_monitored_item_group.d.ts +18 -18
  29. package/dist/client_monitored_item_group.js +13 -13
  30. package/dist/client_monitored_item_toolbox.d.ts +15 -15
  31. package/dist/client_monitored_item_toolbox.js +117 -117
  32. package/dist/client_session.d.ts +484 -484
  33. package/dist/client_session.js +10 -10
  34. package/dist/client_session_keepalive_manager.d.ts +34 -34
  35. package/dist/client_session_keepalive_manager.js +150 -150
  36. package/dist/client_subscription.d.ts +241 -241
  37. package/dist/client_subscription.js +14 -14
  38. package/dist/client_utils.d.ts +22 -22
  39. package/dist/client_utils.js +88 -88
  40. package/dist/common.d.ts +17 -17
  41. package/dist/common.js +5 -5
  42. package/dist/index.d.ts +55 -55
  43. package/dist/index.js +93 -93
  44. package/dist/opcua_client.d.ts +132 -132
  45. package/dist/opcua_client.js +33 -33
  46. package/dist/private/client_base_impl.d.ts +157 -157
  47. package/dist/private/client_base_impl.js +1337 -1337
  48. package/dist/private/client_monitored_item_base_impl.d.ts +3 -3
  49. package/dist/private/client_monitored_item_base_impl.js +4 -4
  50. package/dist/private/client_monitored_item_group_impl.d.ts +53 -53
  51. package/dist/private/client_monitored_item_group_impl.js +159 -159
  52. package/dist/private/client_monitored_item_impl.d.ts +93 -93
  53. package/dist/private/client_monitored_item_impl.js +305 -304
  54. package/dist/private/client_monitored_item_impl.js.map +1 -1
  55. package/dist/private/client_publish_engine.d.ts +62 -62
  56. package/dist/private/client_publish_engine.js +408 -408
  57. package/dist/private/client_session_impl.d.ts +621 -621
  58. package/dist/private/client_session_impl.js +1302 -1301
  59. package/dist/private/client_session_impl.js.map +1 -1
  60. package/dist/private/client_subscription_impl.d.ts +93 -93
  61. package/dist/private/client_subscription_impl.js +748 -743
  62. package/dist/private/client_subscription_impl.js.map +1 -1
  63. package/dist/private/i_private_client.d.ts +18 -18
  64. package/dist/private/i_private_client.js +2 -2
  65. package/dist/private/opcua_client_impl.d.ts +169 -169
  66. package/dist/private/opcua_client_impl.js +981 -981
  67. package/dist/reconnection.d.ts +9 -9
  68. package/dist/reconnection.js +408 -408
  69. package/dist/tools/findservers.d.ts +20 -20
  70. package/dist/tools/findservers.js +61 -61
  71. package/dist/tools/read_history_server_capabilities.d.ts +6 -6
  72. package/dist/tools/read_history_server_capabilities.js +99 -99
  73. package/dist/verify.d.ts +5 -5
  74. package/dist/verify.js +134 -134
  75. package/package.json +48 -48
  76. package/source/alarms_and_conditions/client_alarm.ts +28 -17
  77. package/source/alarms_and_conditions/client_alarm_list.ts +1 -0
  78. package/source/alarms_and_conditions/client_alarm_tools.ts +33 -23
  79. package/source/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.ts +10 -4
  80. package/source/alarms_and_conditions/client_alarm_tools_extractConditionFields.ts +11 -11
  81. package/source/private/client_monitored_item_impl.ts +4 -3
  82. package/source/private/client_session_impl.ts +10 -2
  83. package/source/private/client_subscription_impl.ts +6 -2
@@ -1,39 +1,39 @@
1
- /// <reference types="node" />
2
- /**
3
- * @module node-opcua-client
4
- */
5
- import { EventEmitter } from "events";
6
- import { DataValue } from "node-opcua-data-value";
7
- import { ExtensionObject } from "node-opcua-extension-object";
8
- import { ReadValueId, TimestampsToReturn } from "node-opcua-service-read";
9
- import { MonitoredItemCreateResult, MonitoringMode, MonitoringParameters, MonitoringParametersOptions } from "node-opcua-service-subscription";
10
- import { StatusCode } from "node-opcua-status-code";
11
- import { Callback, ErrorCallback } from "node-opcua-status-code";
12
- import { Variant } from "node-opcua-variant";
13
- import { ClientSubscription } from "./client_subscription";
14
- export interface ClientMonitoredItemOrGroupAction {
15
- modify(parameters: MonitoringParametersOptions, timestampsToReturn?: TimestampsToReturn): Promise<StatusCode>;
16
- modify(parameters: MonitoringParametersOptions, callback: Callback<StatusCode>): void;
17
- modify(parameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn | null, callback: Callback<StatusCode>): void;
18
- setMonitoringMode(monitoringMode: MonitoringMode): Promise<StatusCode>;
19
- setMonitoringMode(monitoringMode: MonitoringMode, callback: Callback<StatusCode>): void;
20
- terminate(): Promise<void>;
21
- terminate(done: ErrorCallback): void;
22
- }
23
- export interface ClientMonitoredItemBase extends EventEmitter, ClientMonitoredItemOrGroupAction {
24
- on(event: "changed", eventHandler: (dataValue: DataValue) => void): this;
25
- on(event: "changed", eventHandler: (values: Variant[]) => void): this;
26
- on(event: "err", eventHandler: (message: string) => void): this;
27
- on(event: "terminated", eventHandler: () => void): this;
28
- on(event: "initialized", eventHandler: () => void): this;
29
- }
30
- export interface ClientMonitoredItemBase {
31
- itemToMonitor: ReadValueId;
32
- monitoringParameters: MonitoringParameters;
33
- subscription: ClientSubscription;
34
- monitoringMode: MonitoringMode;
35
- statusCode: StatusCode;
36
- monitoredItemId?: any;
37
- result?: MonitoredItemCreateResult;
38
- filterResult?: ExtensionObject;
39
- }
1
+ /// <reference types="node" />
2
+ /**
3
+ * @module node-opcua-client
4
+ */
5
+ import { EventEmitter } from "events";
6
+ import { DataValue } from "node-opcua-data-value";
7
+ import { ExtensionObject } from "node-opcua-extension-object";
8
+ import { ReadValueId, TimestampsToReturn } from "node-opcua-service-read";
9
+ import { MonitoredItemCreateResult, MonitoringMode, MonitoringParameters, MonitoringParametersOptions } from "node-opcua-service-subscription";
10
+ import { StatusCode } from "node-opcua-status-code";
11
+ import { Callback, ErrorCallback } from "node-opcua-status-code";
12
+ import { Variant } from "node-opcua-variant";
13
+ import { ClientSubscription } from "./client_subscription";
14
+ export interface ClientMonitoredItemOrGroupAction {
15
+ modify(parameters: MonitoringParametersOptions, timestampsToReturn?: TimestampsToReturn): Promise<StatusCode>;
16
+ modify(parameters: MonitoringParametersOptions, callback: Callback<StatusCode>): void;
17
+ modify(parameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn | null, callback: Callback<StatusCode>): void;
18
+ setMonitoringMode(monitoringMode: MonitoringMode): Promise<StatusCode>;
19
+ setMonitoringMode(monitoringMode: MonitoringMode, callback: Callback<StatusCode>): void;
20
+ terminate(): Promise<void>;
21
+ terminate(done: ErrorCallback): void;
22
+ }
23
+ export interface ClientMonitoredItemBase extends EventEmitter, ClientMonitoredItemOrGroupAction {
24
+ on(event: "changed", eventHandler: (dataValue: DataValue) => void): this;
25
+ on(event: "changed", eventHandler: (values: Variant[]) => void): this;
26
+ on(event: "err", eventHandler: (message: string) => void): this;
27
+ on(event: "terminated", eventHandler: () => void): this;
28
+ on(event: "initialized", eventHandler: () => void): this;
29
+ }
30
+ export interface ClientMonitoredItemBase {
31
+ itemToMonitor: ReadValueId;
32
+ monitoringParameters: MonitoringParameters;
33
+ subscription: ClientSubscription;
34
+ monitoringMode: MonitoringMode;
35
+ statusCode: StatusCode;
36
+ monitoredItemId?: any;
37
+ result?: MonitoredItemCreateResult;
38
+ filterResult?: ExtensionObject;
39
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=client_monitored_item_base.js.map
@@ -1,18 +1,18 @@
1
- /**
2
- * @module node-opcua-client
3
- */
4
- /// <reference types="node" />
5
- import { EventEmitter } from "events";
6
- import { DataValue, TimestampsToReturn } from "node-opcua-data-value";
7
- import { MonitoringParametersOptions } from "node-opcua-types";
8
- import { ClientMonitoredItemBase, ClientMonitoredItemOrGroupAction } from "./client_monitored_item_base";
9
- import { ClientSubscription } from "./client_subscription";
10
- export interface ClientMonitoredItemGroup extends EventEmitter, ClientMonitoredItemOrGroupAction {
11
- on(event: "changed", eventHandler: (monitoredItem: ClientMonitoredItemBase, dataValue: DataValue, index: number) => void): this;
12
- on(event: "err", eventHandler: (message: string) => void): this;
13
- on(event: "terminated", eventHandler: (error: Error) => void): this;
14
- on(event: "initialized", eventHandler: () => void): this;
15
- }
16
- export declare class ClientMonitoredItemGroup {
17
- static create(subscription: ClientSubscription, itemsToMonitor: any[], monitoringParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn): ClientMonitoredItemGroup;
18
- }
1
+ /**
2
+ * @module node-opcua-client
3
+ */
4
+ /// <reference types="node" />
5
+ import { EventEmitter } from "events";
6
+ import { DataValue, TimestampsToReturn } from "node-opcua-data-value";
7
+ import { MonitoringParametersOptions } from "node-opcua-types";
8
+ import { ClientMonitoredItemBase, ClientMonitoredItemOrGroupAction } from "./client_monitored_item_base";
9
+ import { ClientSubscription } from "./client_subscription";
10
+ export interface ClientMonitoredItemGroup extends EventEmitter, ClientMonitoredItemOrGroupAction {
11
+ on(event: "changed", eventHandler: (monitoredItem: ClientMonitoredItemBase, dataValue: DataValue, index: number) => void): this;
12
+ on(event: "err", eventHandler: (message: string) => void): this;
13
+ on(event: "terminated", eventHandler: (error: Error) => void): this;
14
+ on(event: "initialized", eventHandler: () => void): this;
15
+ }
16
+ export declare class ClientMonitoredItemGroup {
17
+ static create(subscription: ClientSubscription, itemsToMonitor: any[], monitoringParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn): ClientMonitoredItemGroup;
18
+ }
@@ -1,14 +1,14 @@
1
- "use strict";
2
- /**
3
- * @module node-opcua-client
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ClientMonitoredItemGroup = void 0;
7
- class ClientMonitoredItemGroup {
8
- static create(subscription, itemsToMonitor, monitoringParameters, timestampsToReturn) {
9
- /* istanbul ignore next*/
10
- throw new Error("Not implemented");
11
- }
12
- }
13
- exports.ClientMonitoredItemGroup = ClientMonitoredItemGroup;
1
+ "use strict";
2
+ /**
3
+ * @module node-opcua-client
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ClientMonitoredItemGroup = void 0;
7
+ class ClientMonitoredItemGroup {
8
+ static create(subscription, itemsToMonitor, monitoringParameters, timestampsToReturn) {
9
+ /* istanbul ignore next*/
10
+ throw new Error("Not implemented");
11
+ }
12
+ }
13
+ exports.ClientMonitoredItemGroup = ClientMonitoredItemGroup;
14
14
  //# sourceMappingURL=client_monitored_item_group.js.map
@@ -1,15 +1,15 @@
1
- import { TimestampsToReturn } from "node-opcua-data-value";
2
- import { MonitoredItemModifyResult, MonitoringMode } from "node-opcua-service-subscription";
3
- import { StatusCode } from "node-opcua-status-code";
4
- import { Callback, ErrorCallback } from "node-opcua-status-code";
5
- import { MonitoringParametersOptions } from "node-opcua-types";
6
- import { ClientMonitoredItemBase } from "./client_monitored_item_base";
7
- import { ClientSubscription } from "./client_subscription";
8
- /**
9
- * @internal
10
- */
11
- export declare class ClientMonitoredItemToolbox {
12
- static _toolbox_monitor(subscription: ClientSubscription, timestampsToReturn: TimestampsToReturn, monitoredItems: ClientMonitoredItemBase[], done: ErrorCallback): void;
13
- static _toolbox_modify(subscription: ClientSubscription, monitoredItems: ClientMonitoredItemBase[], parameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn, callback: Callback<MonitoredItemModifyResult[]>): void;
14
- static _toolbox_setMonitoringMode(subscription: ClientSubscription, monitoredItems: ClientMonitoredItemBase[], monitoringMode: MonitoringMode, callback: Callback<StatusCode[]>): void;
15
- }
1
+ import { TimestampsToReturn } from "node-opcua-data-value";
2
+ import { MonitoredItemModifyResult, MonitoringMode } from "node-opcua-service-subscription";
3
+ import { StatusCode } from "node-opcua-status-code";
4
+ import { Callback, ErrorCallback } from "node-opcua-status-code";
5
+ import { MonitoringParametersOptions } from "node-opcua-types";
6
+ import { ClientMonitoredItemBase } from "./client_monitored_item_base";
7
+ import { ClientSubscription } from "./client_subscription";
8
+ /**
9
+ * @internal
10
+ */
11
+ export declare class ClientMonitoredItemToolbox {
12
+ static _toolbox_monitor(subscription: ClientSubscription, timestampsToReturn: TimestampsToReturn, monitoredItems: ClientMonitoredItemBase[], done: ErrorCallback): void;
13
+ static _toolbox_modify(subscription: ClientSubscription, monitoredItems: ClientMonitoredItemBase[], parameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn, callback: Callback<MonitoredItemModifyResult[]>): void;
14
+ static _toolbox_setMonitoringMode(subscription: ClientSubscription, monitoredItems: ClientMonitoredItemBase[], monitoringMode: MonitoringMode, callback: Callback<StatusCode[]>): void;
15
+ }
@@ -1,118 +1,118 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClientMonitoredItemToolbox = void 0;
4
- /**
5
- * @module node-opcua-client
6
- */
7
- const chalk = require("chalk");
8
- const node_opcua_assert_1 = require("node-opcua-assert");
9
- const node_opcua_debug_1 = require("node-opcua-debug");
10
- const node_opcua_service_subscription_1 = require("node-opcua-service-subscription");
11
- const node_opcua_status_code_1 = require("node-opcua-status-code");
12
- const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
13
- const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
14
- /**
15
- * @internal
16
- */
17
- class ClientMonitoredItemToolbox {
18
- static _toolbox_monitor(subscription, timestampsToReturn, monitoredItems, done) {
19
- (0, node_opcua_assert_1.assert)(typeof done === "function");
20
- const itemsToCreate = [];
21
- for (const monitoredItem of monitoredItems) {
22
- const monitoredItemI = monitoredItem;
23
- const itemToCreate = monitoredItemI._prepare_for_monitoring();
24
- if (typeof itemToCreate.error === "string") {
25
- return done(new Error(itemToCreate.error));
26
- }
27
- itemsToCreate.push(itemToCreate);
28
- }
29
- const createMonitorItemsRequest = new node_opcua_service_subscription_1.CreateMonitoredItemsRequest({
30
- itemsToCreate,
31
- subscriptionId: subscription.subscriptionId,
32
- timestampsToReturn
33
- });
34
- for (let i = 0; i < monitoredItems.length; i++) {
35
- const monitoredItem = monitoredItems[i];
36
- monitoredItem._before_create();
37
- }
38
- const session = subscription.session;
39
- (0, node_opcua_assert_1.assert)(session, "expecting a valid session attached to the subscription ");
40
- session.createMonitoredItems(createMonitorItemsRequest, (err, response) => {
41
- /* istanbul ignore next */
42
- if (err) {
43
- debugLog(chalk.red("ClientMonitoredItemBase#_toolbox_monitor: ERROR in createMonitoredItems ", err.message));
44
- }
45
- else {
46
- /* istanbul ignore next */
47
- if (!response) {
48
- return done(new Error("Internal Error"));
49
- }
50
- response.results = response.results || [];
51
- for (let i = 0; i < response.results.length; i++) {
52
- const monitoredItemResult = response.results[i];
53
- const monitoredItem = monitoredItems[i];
54
- monitoredItem._after_create(monitoredItemResult);
55
- }
56
- }
57
- done(err ? err : undefined);
58
- });
59
- }
60
- static _toolbox_modify(subscription, monitoredItems, parameters, timestampsToReturn, callback) {
61
- (0, node_opcua_assert_1.assert)(callback === undefined || typeof callback === "function");
62
- const itemsToModify = monitoredItems.map((monitoredItem) => {
63
- const clientHandle = monitoredItem.monitoringParameters.clientHandle;
64
- (0, node_opcua_assert_1.assert)(clientHandle !== 4294967295);
65
- return new node_opcua_service_subscription_1.MonitoredItemModifyRequest({
66
- monitoredItemId: monitoredItem.monitoredItemId,
67
- requestedParameters: Object.assign(Object.assign({}, parameters), { clientHandle })
68
- });
69
- });
70
- const modifyMonitoredItemsRequest = new node_opcua_service_subscription_1.ModifyMonitoredItemsRequest({
71
- itemsToModify,
72
- subscriptionId: subscription.subscriptionId,
73
- timestampsToReturn
74
- });
75
- const session = subscription.session;
76
- (0, node_opcua_assert_1.assert)(session, "expecting a valid session attached to the subscription ");
77
- session.modifyMonitoredItems(modifyMonitoredItemsRequest, (err, response) => {
78
- /* istanbul ignore next */
79
- if (err) {
80
- return callback(err);
81
- }
82
- if (!response || !(response instanceof node_opcua_service_subscription_1.ModifyMonitoredItemsResponse)) {
83
- return callback(new Error("internal error"));
84
- }
85
- response.results = response.results || [];
86
- (0, node_opcua_assert_1.assert)(response.results.length === monitoredItems.length);
87
- const res = response.results[0];
88
- /* istanbul ignore next */
89
- if (response.results.length === 1 && res.statusCode !== node_opcua_status_code_1.StatusCodes.Good) {
90
- return callback(new Error("Error" + res.statusCode.toString()));
91
- }
92
- callback(null, response.results);
93
- });
94
- }
95
- static _toolbox_setMonitoringMode(subscription, monitoredItems, monitoringMode, callback) {
96
- const monitoredItemIds = monitoredItems.map((monitoredItem) => monitoredItem.monitoredItemId);
97
- const setMonitoringModeRequest = {
98
- monitoredItemIds,
99
- monitoringMode,
100
- subscriptionId: subscription.subscriptionId
101
- };
102
- const session = subscription.session;
103
- (0, node_opcua_assert_1.assert)(session, "expecting a valid session attached to the subscription ");
104
- session.setMonitoringMode(setMonitoringModeRequest, (err, response) => {
105
- if (err) {
106
- return callback(err);
107
- }
108
- monitoredItems.forEach((monitoredItem) => {
109
- monitoredItem.monitoringMode = monitoringMode;
110
- });
111
- response = response;
112
- response.results = response.results || [];
113
- callback(null, response.results);
114
- });
115
- }
116
- }
117
- exports.ClientMonitoredItemToolbox = ClientMonitoredItemToolbox;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientMonitoredItemToolbox = void 0;
4
+ /**
5
+ * @module node-opcua-client
6
+ */
7
+ const chalk = require("chalk");
8
+ const node_opcua_assert_1 = require("node-opcua-assert");
9
+ const node_opcua_debug_1 = require("node-opcua-debug");
10
+ const node_opcua_service_subscription_1 = require("node-opcua-service-subscription");
11
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
12
+ const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
13
+ const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
14
+ /**
15
+ * @internal
16
+ */
17
+ class ClientMonitoredItemToolbox {
18
+ static _toolbox_monitor(subscription, timestampsToReturn, monitoredItems, done) {
19
+ (0, node_opcua_assert_1.assert)(typeof done === "function");
20
+ const itemsToCreate = [];
21
+ for (const monitoredItem of monitoredItems) {
22
+ const monitoredItemI = monitoredItem;
23
+ const itemToCreate = monitoredItemI._prepare_for_monitoring();
24
+ if (typeof itemToCreate.error === "string") {
25
+ return done(new Error(itemToCreate.error));
26
+ }
27
+ itemsToCreate.push(itemToCreate);
28
+ }
29
+ const createMonitorItemsRequest = new node_opcua_service_subscription_1.CreateMonitoredItemsRequest({
30
+ itemsToCreate,
31
+ subscriptionId: subscription.subscriptionId,
32
+ timestampsToReturn
33
+ });
34
+ for (let i = 0; i < monitoredItems.length; i++) {
35
+ const monitoredItem = monitoredItems[i];
36
+ monitoredItem._before_create();
37
+ }
38
+ const session = subscription.session;
39
+ (0, node_opcua_assert_1.assert)(session, "expecting a valid session attached to the subscription ");
40
+ session.createMonitoredItems(createMonitorItemsRequest, (err, response) => {
41
+ /* istanbul ignore next */
42
+ if (err) {
43
+ debugLog(chalk.red("ClientMonitoredItemBase#_toolbox_monitor: ERROR in createMonitoredItems ", err.message));
44
+ }
45
+ else {
46
+ /* istanbul ignore next */
47
+ if (!response) {
48
+ return done(new Error("Internal Error"));
49
+ }
50
+ response.results = response.results || [];
51
+ for (let i = 0; i < response.results.length; i++) {
52
+ const monitoredItemResult = response.results[i];
53
+ const monitoredItem = monitoredItems[i];
54
+ monitoredItem._after_create(monitoredItemResult);
55
+ }
56
+ }
57
+ done(err ? err : undefined);
58
+ });
59
+ }
60
+ static _toolbox_modify(subscription, monitoredItems, parameters, timestampsToReturn, callback) {
61
+ (0, node_opcua_assert_1.assert)(callback === undefined || typeof callback === "function");
62
+ const itemsToModify = monitoredItems.map((monitoredItem) => {
63
+ const clientHandle = monitoredItem.monitoringParameters.clientHandle;
64
+ (0, node_opcua_assert_1.assert)(clientHandle !== 4294967295);
65
+ return new node_opcua_service_subscription_1.MonitoredItemModifyRequest({
66
+ monitoredItemId: monitoredItem.monitoredItemId,
67
+ requestedParameters: Object.assign(Object.assign({}, parameters), { clientHandle })
68
+ });
69
+ });
70
+ const modifyMonitoredItemsRequest = new node_opcua_service_subscription_1.ModifyMonitoredItemsRequest({
71
+ itemsToModify,
72
+ subscriptionId: subscription.subscriptionId,
73
+ timestampsToReturn
74
+ });
75
+ const session = subscription.session;
76
+ (0, node_opcua_assert_1.assert)(session, "expecting a valid session attached to the subscription ");
77
+ session.modifyMonitoredItems(modifyMonitoredItemsRequest, (err, response) => {
78
+ /* istanbul ignore next */
79
+ if (err) {
80
+ return callback(err);
81
+ }
82
+ if (!response || !(response instanceof node_opcua_service_subscription_1.ModifyMonitoredItemsResponse)) {
83
+ return callback(new Error("internal error"));
84
+ }
85
+ response.results = response.results || [];
86
+ (0, node_opcua_assert_1.assert)(response.results.length === monitoredItems.length);
87
+ const res = response.results[0];
88
+ /* istanbul ignore next */
89
+ if (response.results.length === 1 && res.statusCode !== node_opcua_status_code_1.StatusCodes.Good) {
90
+ return callback(new Error("Error" + res.statusCode.toString()));
91
+ }
92
+ callback(null, response.results);
93
+ });
94
+ }
95
+ static _toolbox_setMonitoringMode(subscription, monitoredItems, monitoringMode, callback) {
96
+ const monitoredItemIds = monitoredItems.map((monitoredItem) => monitoredItem.monitoredItemId);
97
+ const setMonitoringModeRequest = {
98
+ monitoredItemIds,
99
+ monitoringMode,
100
+ subscriptionId: subscription.subscriptionId
101
+ };
102
+ const session = subscription.session;
103
+ (0, node_opcua_assert_1.assert)(session, "expecting a valid session attached to the subscription ");
104
+ session.setMonitoringMode(setMonitoringModeRequest, (err, response) => {
105
+ if (err) {
106
+ return callback(err);
107
+ }
108
+ monitoredItems.forEach((monitoredItem) => {
109
+ monitoredItem.monitoringMode = monitoringMode;
110
+ });
111
+ response = response;
112
+ response.results = response.results || [];
113
+ callback(null, response.results);
114
+ });
115
+ }
116
+ }
117
+ exports.ClientMonitoredItemToolbox = ClientMonitoredItemToolbox;
118
118
  //# sourceMappingURL=client_monitored_item_toolbox.js.map