node-opcua-client 2.97.0 → 2.98.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.
Files changed (78) hide show
  1. package/dist/alarms_and_conditions/client_alarm.d.ts +49 -49
  2. package/dist/alarms_and_conditions/client_alarm.js +109 -109
  3. package/dist/alarms_and_conditions/client_alarm_list.d.ts +25 -25
  4. package/dist/alarms_and_conditions/client_alarm_list.js +97 -97
  5. package/dist/alarms_and_conditions/client_alarm_tools.d.ts +4 -4
  6. package/dist/alarms_and_conditions/client_alarm_tools.js +156 -156
  7. package/dist/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.d.ts +18 -18
  8. package/dist/alarms_and_conditions/client_alarm_tools_acknowledge_all_conditions.js +192 -192
  9. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.d.ts +9 -9
  10. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.js +72 -72
  11. package/dist/alarms_and_conditions/client_alarm_tools_dump_event.js.map +1 -1
  12. package/dist/alarms_and_conditions/client_alarm_tools_extractConditionFields.d.ts +3 -3
  13. package/dist/alarms_and_conditions/client_alarm_tools_extractConditionFields.js +118 -118
  14. package/dist/alarms_and_conditions/client_tools.d.ts +7 -7
  15. package/dist/alarms_and_conditions/client_tools.js +179 -179
  16. package/dist/client_base.d.ts +277 -277
  17. package/dist/client_base.js +14 -14
  18. package/dist/client_base.js.map +1 -1
  19. package/dist/client_monitored_item.d.ts +21 -21
  20. package/dist/client_monitored_item.js +11 -11
  21. package/dist/client_monitored_item_base.d.ts +39 -39
  22. package/dist/client_monitored_item_base.js +2 -2
  23. package/dist/client_monitored_item_group.d.ts +21 -21
  24. package/dist/client_monitored_item_group.js +13 -13
  25. package/dist/client_monitored_item_toolbox.d.ts +15 -15
  26. package/dist/client_monitored_item_toolbox.js +116 -116
  27. package/dist/client_session.d.ts +529 -529
  28. package/dist/client_session.js +10 -10
  29. package/dist/client_session_keepalive_manager.d.ts +34 -34
  30. package/dist/client_session_keepalive_manager.js +149 -149
  31. package/dist/client_subscription.d.ts +241 -241
  32. package/dist/client_subscription.js +14 -14
  33. package/dist/client_subscription.js.map +1 -1
  34. package/dist/client_utils.d.ts +22 -22
  35. package/dist/client_utils.js +87 -87
  36. package/dist/common.d.ts +17 -17
  37. package/dist/common.js +5 -5
  38. package/dist/index.d.ts +56 -56
  39. package/dist/index.js +94 -94
  40. package/dist/opcua_client.d.ts +118 -118
  41. package/dist/opcua_client.js +33 -33
  42. package/dist/private/client_base_impl.d.ts +160 -160
  43. package/dist/private/client_base_impl.js +1348 -1348
  44. package/dist/private/client_monitored_item_base_impl.d.ts +3 -3
  45. package/dist/private/client_monitored_item_base_impl.js +4 -4
  46. package/dist/private/client_monitored_item_group_impl.d.ts +53 -53
  47. package/dist/private/client_monitored_item_group_impl.js +159 -159
  48. package/dist/private/client_monitored_item_impl.d.ts +93 -93
  49. package/dist/private/client_monitored_item_impl.js +304 -304
  50. package/dist/private/client_publish_engine.d.ts +62 -62
  51. package/dist/private/client_publish_engine.js +408 -408
  52. package/dist/private/client_publish_engine.js.map +1 -1
  53. package/dist/private/client_session_impl.d.ts +631 -631
  54. package/dist/private/client_session_impl.js +1348 -1348
  55. package/dist/private/client_subscription_impl.d.ts +93 -93
  56. package/dist/private/client_subscription_impl.js +763 -763
  57. package/dist/private/i_private_client.d.ts +21 -21
  58. package/dist/private/i_private_client.js +2 -2
  59. package/dist/private/opcua_client_impl.d.ts +166 -166
  60. package/dist/private/opcua_client_impl.js +1000 -1000
  61. package/dist/private/opcua_client_impl.js.map +1 -1
  62. package/dist/private/performance.d.ts +1 -1
  63. package/dist/private/performance.js +18 -18
  64. package/dist/reconnection.d.ts +9 -9
  65. package/dist/reconnection.js +381 -381
  66. package/dist/tools/findservers.d.ts +20 -20
  67. package/dist/tools/findservers.js +61 -61
  68. package/dist/tools/read_history_server_capabilities.d.ts +6 -6
  69. package/dist/tools/read_history_server_capabilities.js +98 -98
  70. package/dist/user_identity_info.d.ts +1 -1
  71. package/dist/user_identity_info.js +2 -2
  72. package/dist/verify.d.ts +5 -5
  73. package/dist/verify.js +134 -134
  74. package/package.json +49 -45
  75. package/source/alarms_and_conditions/client_alarm_tools_dump_event.ts +1 -1
  76. package/.nycrc.json +0 -14
  77. package/test_helpers/create_certificates.js +0 -1
  78. package/typedoc.js +0 -20
@@ -1,12 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClientMonitoredItem = void 0;
4
- const node_opcua_data_value_1 = require("node-opcua-data-value");
5
- class ClientMonitoredItem {
6
- static create(subscription, itemToMonitor, monitoringParameters, timestampsToReturn = node_opcua_data_value_1.TimestampsToReturn.Neither) {
7
- /* istanbul ignore next*/
8
- throw new Error("unimplemented");
9
- }
10
- }
11
- exports.ClientMonitoredItem = ClientMonitoredItem;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientMonitoredItem = void 0;
4
+ const node_opcua_data_value_1 = require("node-opcua-data-value");
5
+ class ClientMonitoredItem {
6
+ static create(subscription, itemToMonitor, monitoringParameters, timestampsToReturn = node_opcua_data_value_1.TimestampsToReturn.Neither) {
7
+ /* istanbul ignore next*/
8
+ throw new Error("unimplemented");
9
+ }
10
+ }
11
+ exports.ClientMonitoredItem = ClientMonitoredItem;
12
12
  //# sourceMappingURL=client_monitored_item.js.map
@@ -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,21 +1,21 @@
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 interface ClientMonitoredItemGroup {
17
- monitoredItems: ClientMonitoredItemBase[];
18
- }
19
- export declare class ClientMonitoredItemGroup {
20
- static create(subscription: ClientSubscription, itemsToMonitor: any[], monitoringParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn): ClientMonitoredItemGroup;
21
- }
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 interface ClientMonitoredItemGroup {
17
+ monitoredItems: ClientMonitoredItemBase[];
18
+ }
19
+ export declare class ClientMonitoredItemGroup {
20
+ static create(subscription: ClientSubscription, itemsToMonitor: any[], monitoringParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn): ClientMonitoredItemGroup;
21
+ }
@@ -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,117 +1,117 @@
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 debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
12
- const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
13
- /**
14
- * @internal
15
- */
16
- class ClientMonitoredItemToolbox {
17
- static _toolbox_monitor(subscription, timestampsToReturn, monitoredItems, done) {
18
- (0, node_opcua_assert_1.assert)(typeof done === "function");
19
- const itemsToCreate = [];
20
- for (const monitoredItem of monitoredItems) {
21
- const monitoredItemI = monitoredItem;
22
- const itemToCreate = monitoredItemI._prepare_for_monitoring();
23
- if (typeof itemToCreate.error === "string") {
24
- return done(new Error(itemToCreate.error));
25
- }
26
- itemsToCreate.push(itemToCreate);
27
- }
28
- const createMonitorItemsRequest = new node_opcua_service_subscription_1.CreateMonitoredItemsRequest({
29
- itemsToCreate,
30
- subscriptionId: subscription.subscriptionId,
31
- timestampsToReturn
32
- });
33
- for (let i = 0; i < monitoredItems.length; i++) {
34
- const monitoredItem = monitoredItems[i];
35
- monitoredItem._before_create();
36
- }
37
- const session = subscription.session;
38
- (0, node_opcua_assert_1.assert)(session, "expecting a valid session attached to the subscription ");
39
- session.createMonitoredItems(createMonitorItemsRequest, (err, response) => {
40
- /* istanbul ignore next */
41
- if (err) {
42
- debugLog(chalk.red("ClientMonitoredItemBase#_toolbox_monitor: ERROR in createMonitoredItems ", err.message));
43
- }
44
- else {
45
- /* istanbul ignore next */
46
- if (!response) {
47
- return done(new Error("Internal Error"));
48
- }
49
- response.results = response.results || [];
50
- for (let i = 0; i < response.results.length; i++) {
51
- const monitoredItemResult = response.results[i];
52
- const monitoredItem = monitoredItems[i];
53
- monitoredItem._after_create(monitoredItemResult);
54
- }
55
- }
56
- done(err ? err : undefined);
57
- });
58
- }
59
- static _toolbox_modify(subscription, monitoredItems, parameters, timestampsToReturn, callback) {
60
- (0, node_opcua_assert_1.assert)(callback === undefined || typeof callback === "function");
61
- const itemsToModify = monitoredItems.map((monitoredItem) => {
62
- const clientHandle = monitoredItem.monitoringParameters.clientHandle;
63
- (0, node_opcua_assert_1.assert)(clientHandle !== 4294967295);
64
- return new node_opcua_service_subscription_1.MonitoredItemModifyRequest({
65
- monitoredItemId: monitoredItem.monitoredItemId,
66
- requestedParameters: Object.assign(Object.assign({}, parameters), { clientHandle })
67
- });
68
- });
69
- const modifyMonitoredItemsRequest = new node_opcua_service_subscription_1.ModifyMonitoredItemsRequest({
70
- itemsToModify,
71
- subscriptionId: subscription.subscriptionId,
72
- timestampsToReturn
73
- });
74
- const session = subscription.session;
75
- (0, node_opcua_assert_1.assert)(session, "expecting a valid session attached to the subscription ");
76
- session.modifyMonitoredItems(modifyMonitoredItemsRequest, (err, response) => {
77
- /* istanbul ignore next */
78
- if (err) {
79
- return callback(err);
80
- }
81
- if (!response || !(response instanceof node_opcua_service_subscription_1.ModifyMonitoredItemsResponse)) {
82
- return callback(new Error("internal error"));
83
- }
84
- response.results = response.results || [];
85
- (0, node_opcua_assert_1.assert)(response.results.length === monitoredItems.length);
86
- const res = response.results[0];
87
- /* istanbul ignore next */
88
- if (response.results.length === 1 && res.statusCode.isNotGood()) {
89
- return callback(new Error("Error" + res.statusCode.toString()));
90
- }
91
- callback(null, response.results);
92
- });
93
- }
94
- static _toolbox_setMonitoringMode(subscription, monitoredItems, monitoringMode, callback) {
95
- const monitoredItemIds = monitoredItems.map((monitoredItem) => monitoredItem.monitoredItemId);
96
- const setMonitoringModeRequest = {
97
- monitoredItemIds,
98
- monitoringMode,
99
- subscriptionId: subscription.subscriptionId
100
- };
101
- const session = subscription.session;
102
- (0, node_opcua_assert_1.assert)(session, "expecting a valid session attached to the subscription ");
103
- session.setMonitoringMode(setMonitoringModeRequest, (err, response) => {
104
- if (err) {
105
- return callback(err);
106
- }
107
- monitoredItems.forEach((monitoredItem) => {
108
- monitoredItem.monitoringMode = monitoringMode;
109
- });
110
- response = response;
111
- response.results = response.results || [];
112
- callback(null, response.results);
113
- });
114
- }
115
- }
116
- 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 debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
12
+ const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
13
+ /**
14
+ * @internal
15
+ */
16
+ class ClientMonitoredItemToolbox {
17
+ static _toolbox_monitor(subscription, timestampsToReturn, monitoredItems, done) {
18
+ (0, node_opcua_assert_1.assert)(typeof done === "function");
19
+ const itemsToCreate = [];
20
+ for (const monitoredItem of monitoredItems) {
21
+ const monitoredItemI = monitoredItem;
22
+ const itemToCreate = monitoredItemI._prepare_for_monitoring();
23
+ if (typeof itemToCreate.error === "string") {
24
+ return done(new Error(itemToCreate.error));
25
+ }
26
+ itemsToCreate.push(itemToCreate);
27
+ }
28
+ const createMonitorItemsRequest = new node_opcua_service_subscription_1.CreateMonitoredItemsRequest({
29
+ itemsToCreate,
30
+ subscriptionId: subscription.subscriptionId,
31
+ timestampsToReturn
32
+ });
33
+ for (let i = 0; i < monitoredItems.length; i++) {
34
+ const monitoredItem = monitoredItems[i];
35
+ monitoredItem._before_create();
36
+ }
37
+ const session = subscription.session;
38
+ (0, node_opcua_assert_1.assert)(session, "expecting a valid session attached to the subscription ");
39
+ session.createMonitoredItems(createMonitorItemsRequest, (err, response) => {
40
+ /* istanbul ignore next */
41
+ if (err) {
42
+ debugLog(chalk.red("ClientMonitoredItemBase#_toolbox_monitor: ERROR in createMonitoredItems ", err.message));
43
+ }
44
+ else {
45
+ /* istanbul ignore next */
46
+ if (!response) {
47
+ return done(new Error("Internal Error"));
48
+ }
49
+ response.results = response.results || [];
50
+ for (let i = 0; i < response.results.length; i++) {
51
+ const monitoredItemResult = response.results[i];
52
+ const monitoredItem = monitoredItems[i];
53
+ monitoredItem._after_create(monitoredItemResult);
54
+ }
55
+ }
56
+ done(err ? err : undefined);
57
+ });
58
+ }
59
+ static _toolbox_modify(subscription, monitoredItems, parameters, timestampsToReturn, callback) {
60
+ (0, node_opcua_assert_1.assert)(callback === undefined || typeof callback === "function");
61
+ const itemsToModify = monitoredItems.map((monitoredItem) => {
62
+ const clientHandle = monitoredItem.monitoringParameters.clientHandle;
63
+ (0, node_opcua_assert_1.assert)(clientHandle !== 4294967295);
64
+ return new node_opcua_service_subscription_1.MonitoredItemModifyRequest({
65
+ monitoredItemId: monitoredItem.monitoredItemId,
66
+ requestedParameters: Object.assign(Object.assign({}, parameters), { clientHandle })
67
+ });
68
+ });
69
+ const modifyMonitoredItemsRequest = new node_opcua_service_subscription_1.ModifyMonitoredItemsRequest({
70
+ itemsToModify,
71
+ subscriptionId: subscription.subscriptionId,
72
+ timestampsToReturn
73
+ });
74
+ const session = subscription.session;
75
+ (0, node_opcua_assert_1.assert)(session, "expecting a valid session attached to the subscription ");
76
+ session.modifyMonitoredItems(modifyMonitoredItemsRequest, (err, response) => {
77
+ /* istanbul ignore next */
78
+ if (err) {
79
+ return callback(err);
80
+ }
81
+ if (!response || !(response instanceof node_opcua_service_subscription_1.ModifyMonitoredItemsResponse)) {
82
+ return callback(new Error("internal error"));
83
+ }
84
+ response.results = response.results || [];
85
+ (0, node_opcua_assert_1.assert)(response.results.length === monitoredItems.length);
86
+ const res = response.results[0];
87
+ /* istanbul ignore next */
88
+ if (response.results.length === 1 && res.statusCode.isNotGood()) {
89
+ return callback(new Error("Error" + res.statusCode.toString()));
90
+ }
91
+ callback(null, response.results);
92
+ });
93
+ }
94
+ static _toolbox_setMonitoringMode(subscription, monitoredItems, monitoringMode, callback) {
95
+ const monitoredItemIds = monitoredItems.map((monitoredItem) => monitoredItem.monitoredItemId);
96
+ const setMonitoringModeRequest = {
97
+ monitoredItemIds,
98
+ monitoringMode,
99
+ subscriptionId: subscription.subscriptionId
100
+ };
101
+ const session = subscription.session;
102
+ (0, node_opcua_assert_1.assert)(session, "expecting a valid session attached to the subscription ");
103
+ session.setMonitoringMode(setMonitoringModeRequest, (err, response) => {
104
+ if (err) {
105
+ return callback(err);
106
+ }
107
+ monitoredItems.forEach((monitoredItem) => {
108
+ monitoredItem.monitoringMode = monitoringMode;
109
+ });
110
+ response = response;
111
+ response.results = response.results || [];
112
+ callback(null, response.results);
113
+ });
114
+ }
115
+ }
116
+ exports.ClientMonitoredItemToolbox = ClientMonitoredItemToolbox;
117
117
  //# sourceMappingURL=client_monitored_item_toolbox.js.map