node-opcua-client 2.178.0 → 2.180.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.
- package/dist/alarms_and_conditions/client_alarm_tools.js +7 -5
- package/dist/alarms_and_conditions/client_alarm_tools.js.map +1 -1
- package/dist/alarms_and_conditions/client_tools.js +38 -28
- package/dist/alarms_and_conditions/client_tools.js.map +1 -1
- package/dist/client_base.js.map +1 -1
- package/dist/client_monitored_item.d.ts +1 -1
- package/dist/client_monitored_item.js +4 -2
- package/dist/client_monitored_item.js.map +1 -1
- package/dist/client_monitored_item_group.d.ts +4 -3
- package/dist/client_monitored_item_group.js +8 -5
- package/dist/client_monitored_item_group.js.map +1 -1
- package/dist/client_monitored_item_toolbox.js +4 -2
- package/dist/client_monitored_item_toolbox.js.map +1 -1
- package/dist/client_session.d.ts +9 -2
- package/dist/client_session_keepalive_manager.d.ts +1 -1
- package/dist/client_session_keepalive_manager.js +50 -29
- package/dist/client_session_keepalive_manager.js.map +1 -1
- package/dist/client_subscription.d.ts +2 -2
- package/dist/client_subscription.js +3 -1
- package/dist/client_subscription.js.map +1 -1
- package/dist/common.d.ts +3 -3
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/opcua_client.js +1 -0
- package/dist/opcua_client.js.map +1 -1
- package/dist/private/client_base_impl.js +125 -65
- package/dist/private/client_base_impl.js.map +1 -1
- package/dist/private/client_monitored_item_group_impl.d.ts +1 -0
- package/dist/private/client_monitored_item_group_impl.js +6 -8
- package/dist/private/client_monitored_item_group_impl.js.map +1 -1
- package/dist/private/client_monitored_item_impl.js +0 -4
- package/dist/private/client_monitored_item_impl.js.map +1 -1
- package/dist/private/client_publish_engine.js +62 -28
- package/dist/private/client_publish_engine.js.map +1 -1
- package/dist/private/client_session_impl.d.ts +49 -17
- package/dist/private/client_session_impl.js +240 -143
- package/dist/private/client_session_impl.js.map +1 -1
- package/dist/private/client_subscription_impl.js +15 -12
- package/dist/private/client_subscription_impl.js.map +1 -1
- package/dist/private/i_private_client.d.ts +1 -1
- package/dist/private/opcua_client_impl.js +12 -10
- package/dist/private/opcua_client_impl.js.map +1 -1
- package/dist/private/reconnection/client_publish_engine_reconnection.js +17 -7
- package/dist/private/reconnection/client_publish_engine_reconnection.js.map +1 -1
- package/dist/private/reconnection/client_subscription_reconnection.js +11 -7
- package/dist/private/reconnection/client_subscription_reconnection.js.map +1 -1
- package/dist/private/reconnection/reconnection.js +31 -14
- package/dist/private/reconnection/reconnection.js.map +1 -1
- package/dist/reverse/client_reverse_connect.js.map +1 -1
- package/dist/tools/findservers.js.map +1 -1
- package/dist/tools/read_history_server_capabilities.d.ts +2 -1
- package/dist/tools/read_history_server_capabilities.js +6 -3
- package/dist/tools/read_history_server_capabilities.js.map +1 -1
- package/package.json +50 -50
- package/source/alarms_and_conditions/client_alarm_tools.ts +10 -8
- package/source/alarms_and_conditions/client_tools.ts +71 -30
- package/source/client_base.ts +0 -1
- package/source/client_monitored_item.ts +10 -9
- package/source/client_monitored_item_base.ts +2 -8
- package/source/client_monitored_item_group.ts +13 -10
- package/source/client_monitored_item_toolbox.ts +4 -2
- package/source/client_session.ts +10 -3
- package/source/client_session_keepalive_manager.ts +72 -55
- package/source/client_subscription.ts +6 -3
- package/source/common.ts +4 -0
- package/source/index.ts +1 -1
- package/source/opcua_client.ts +1 -0
- package/source/private/client_base_impl.ts +179 -102
- package/source/private/client_monitored_item_group_impl.ts +17 -18
- package/source/private/client_monitored_item_impl.ts +0 -4
- package/source/private/client_publish_engine.ts +78 -40
- package/source/private/client_session_impl.ts +393 -236
- package/source/private/client_subscription_impl.ts +20 -25
- package/source/private/i_private_client.ts +1 -1
- package/source/private/opcua_client_impl.ts +13 -10
- package/source/private/reconnection/client_publish_engine_reconnection.ts +22 -21
- package/source/private/reconnection/client_subscription_reconnection.ts +12 -8
- package/source/private/reconnection/reconnection.ts +35 -18
- package/source/reverse/client_reverse_connect.ts +11 -3
- package/source/tools/findservers.ts +0 -1
- package/source/tools/read_history_server_capabilities.ts +9 -7
|
@@ -88,14 +88,16 @@ async function installAlarmMonitoring(session) {
|
|
|
88
88
|
eventMonitoringItem.on("changed", (eventFields) => {
|
|
89
89
|
const pojo = (0, node_opcua_alarm_condition_1.fieldsToJson)(fields, eventFields);
|
|
90
90
|
const { eventType, eventId, conditionId, conditionName } = pojo;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
" " +
|
|
94
|
-
|
|
91
|
+
// c8 ignore next
|
|
92
|
+
doDebug &&
|
|
93
|
+
debugLog("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ---- ALARM RECEIVED " +
|
|
94
|
+
eventType.value.toString() +
|
|
95
|
+
" " +
|
|
96
|
+
eventId.value?.toString("hex"));
|
|
95
97
|
try {
|
|
96
98
|
if (!conditionId?.value || conditionId.dataType === node_opcua_variant_1.DataType.Null) {
|
|
97
99
|
// not a acknowledgeable condition
|
|
98
|
-
warningLog(
|
|
100
|
+
warningLog(` not acknowledgeable condition ---- ${eventType.value.toString()} `, conditionId, conditionName?.value, ` ${eventId.value?.toString("hex")}`);
|
|
99
101
|
return;
|
|
100
102
|
}
|
|
101
103
|
queueEvent.push(pojo);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_alarm_tools.js","sourceRoot":"","sources":["../../source/alarms_and_conditions/client_alarm_tools.ts"],"names":[],"mappings":";;AAmCA,4DAaC;AAeD,
|
|
1
|
+
{"version":3,"file":"client_alarm_tools.js","sourceRoot":"","sources":["../../source/alarms_and_conditions/client_alarm_tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* @module node-opcua-client
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_util_1 = require("node:util");
|
|
6
7
|
const node_opcua_alarm_condition_1 = require("node-opcua-alarm-condition");
|
|
7
8
|
const node_opcua_pseudo_session_1 = require("node-opcua-pseudo-session");
|
|
8
|
-
const util_1 = require("util");
|
|
9
9
|
const client_session_impl_1 = require("../private/client_session_impl");
|
|
10
10
|
client_session_impl_1.ClientSessionImpl.prototype.disableCondition = () => {
|
|
11
11
|
/** */
|
|
@@ -13,39 +13,49 @@ client_session_impl_1.ClientSessionImpl.prototype.disableCondition = () => {
|
|
|
13
13
|
client_session_impl_1.ClientSessionImpl.prototype.enableCondition = () => {
|
|
14
14
|
/** */
|
|
15
15
|
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
function addCommentConditionImpl(conditionId, eventId, comment, callback) {
|
|
17
|
+
if (!callback) {
|
|
18
|
+
return (0, node_opcua_alarm_condition_1.callMethodCondition)(this, "AddComment", conditionId, eventId, comment);
|
|
19
|
+
}
|
|
20
|
+
(0, node_util_1.callbackify)(node_opcua_alarm_condition_1.callMethodCondition)(this, "AddComment", conditionId, eventId, comment, callback);
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
client_session_impl_1.ClientSessionImpl.prototype.addCommentCondition = addCommentConditionImpl;
|
|
24
|
+
function findMethodIdImpl(nodeId, methodName, callback) {
|
|
25
|
+
const promise = (0, node_opcua_pseudo_session_1.findMethodId)(this, nodeId, methodName).then((data) => {
|
|
23
26
|
if (data.methodId) {
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
callback(data.err);
|
|
27
|
+
return data.methodId;
|
|
28
28
|
}
|
|
29
|
-
|
|
29
|
+
throw data.err || new Error("findMethodId: method not found");
|
|
30
|
+
});
|
|
31
|
+
if (!callback) {
|
|
32
|
+
return promise;
|
|
33
|
+
}
|
|
34
|
+
promise
|
|
35
|
+
.then((methodId) => callback(null, methodId))
|
|
30
36
|
.catch((err) => {
|
|
31
37
|
callback(err);
|
|
32
38
|
});
|
|
33
|
-
|
|
34
|
-
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
client_session_impl_1.ClientSessionImpl.prototype.findMethodId = findMethodIdImpl;
|
|
42
|
+
function confirmConditionImpl(conditionId, eventId, comment, callback) {
|
|
35
43
|
// ns=0;i=9113 AcknowledgeableConditionType#Confirm
|
|
36
44
|
// note that confirm method is Optionals on condition
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
45
|
+
if (!callback) {
|
|
46
|
+
return (0, node_opcua_alarm_condition_1.confirmCondition)(this, conditionId, eventId, comment);
|
|
47
|
+
}
|
|
48
|
+
(0, node_util_1.callbackify)(node_opcua_alarm_condition_1.confirmCondition)(this, conditionId, eventId, comment, callback);
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
client_session_impl_1.ClientSessionImpl.prototype.confirmCondition = confirmConditionImpl;
|
|
52
|
+
function acknowledgeConditionImpl(conditionId, eventId, comment, callback) {
|
|
40
53
|
// ns=0;i=9111 AcknowledgeableConditionType#Acknowledge
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
client_session_impl_1.ClientSessionImpl.prototype.
|
|
48
|
-
client_session_impl_1.ClientSessionImpl.prototype.findMethodId = (0, thenify_ex_1.withCallback)(client_session_impl_1.ClientSessionImpl.prototype.findMethodId, opts);
|
|
49
|
-
client_session_impl_1.ClientSessionImpl.prototype.confirmCondition = (0, thenify_ex_1.withCallback)(client_session_impl_1.ClientSessionImpl.prototype.confirmCondition, opts);
|
|
50
|
-
client_session_impl_1.ClientSessionImpl.prototype.acknowledgeCondition = (0, thenify_ex_1.withCallback)(client_session_impl_1.ClientSessionImpl.prototype.acknowledgeCondition, opts);
|
|
54
|
+
if (!callback) {
|
|
55
|
+
return (0, node_opcua_alarm_condition_1.acknowledgeCondition)(this, conditionId, eventId, comment);
|
|
56
|
+
}
|
|
57
|
+
(0, node_util_1.callbackify)(node_opcua_alarm_condition_1.acknowledgeCondition)(this, conditionId, eventId, comment, callback);
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
client_session_impl_1.ClientSessionImpl.prototype.acknowledgeCondition = acknowledgeConditionImpl;
|
|
51
61
|
//# sourceMappingURL=client_tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_tools.js","sourceRoot":"","sources":["../../source/alarms_and_conditions/client_tools.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,2EAAyG;AAGzG,yEAAgF;
|
|
1
|
+
{"version":3,"file":"client_tools.js","sourceRoot":"","sources":["../../source/alarms_and_conditions/client_tools.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,yCAAwC;AACxC,2EAAyG;AAGzG,yEAAgF;AAGhF,wEAAmE;AAEnE,uCAAiB,CAAC,SAAS,CAAC,gBAAgB,GAAG,GAAG,EAAE;IAChD,MAAM;AACV,CAAC,CAAC;AAEF,uCAAiB,CAAC,SAAS,CAAC,eAAe,GAAG,GAAG,EAAE;IAC/C,MAAM;AACV,CAAC,CAAC;AASF,SAAS,uBAAuB,CAE5B,WAAuB,EACvB,OAAe,EACf,OAA0B,EAC1B,QAA+B;IAE/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,IAAA,gDAAmB,EAAC,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAClF,CAAC;IACD,IAAA,uBAAW,EAAC,gDAAmB,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9F,OAAO,SAAS,CAAC;AACrB,CAAC;AACD,uCAAiB,CAAC,SAAS,CAAC,mBAAmB,GAAG,uBAAuB,CAAC;AAK1E,SAAS,gBAAgB,CAErB,MAAkB,EAClB,UAAkB,EAClB,QAAmC;IAEnC,MAAM,OAAO,GAAG,IAAA,wCAAY,EAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACjE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;QACD,MAAM,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,OAAO;SACF,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SAC5C,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACP,OAAO,SAAS,CAAC;AACrB,CAAC;AACD,uCAAiB,CAAC,SAAS,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAS5D,SAAS,oBAAoB,CAEzB,WAAmB,EACnB,OAAe,EACf,OAA0B,EAC1B,QAA+B;IAE/B,mDAAmD;IACnD,qDAAqD;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,IAAA,6CAAgB,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IACD,IAAA,uBAAW,EAAC,6CAAgB,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7E,OAAO,SAAS,CAAC;AACrB,CAAC;AACD,uCAAiB,CAAC,SAAS,CAAC,gBAAgB,GAAG,oBAAoB,CAAC;AASpE,SAAS,wBAAwB,CAE7B,WAAmB,EACnB,OAAe,EACf,OAA0B,EAC1B,QAA+B;IAE/B,uDAAuD;IACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,IAAA,iDAAoB,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IACD,IAAA,uBAAW,EAAC,iDAAoB,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACjF,OAAO,SAAS,CAAC;AACrB,CAAC;AACD,uCAAiB,CAAC,SAAS,CAAC,oBAAoB,GAAG,wBAAwB,CAAC"}
|
package/dist/client_base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_base.js","sourceRoot":"","sources":["../source/client_base.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"client_base.js","sourceRoot":"","sources":["../source/client_base.ts"],"names":[],"mappings":";;;AAOA,2EAA4D;AAga/C,QAAA,eAAe,GAAG;IAC3B,QAAQ,EAAE,IAAI,2CAAc,EAAE;IAC9B,UAAU,EAAE,IAAI,GAAG,CAAC;IAEpB,MAAM,CAAC,OAA+B;QAClC,mBAAmB;QACnB,OAAO,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;CACJ,CAAC"}
|
|
@@ -16,5 +16,5 @@ export interface ClientMonitoredItem extends ClientMonitoredItemBase, ClientMoni
|
|
|
16
16
|
on(event: "err", eventHandler: (message: string) => void): this;
|
|
17
17
|
}
|
|
18
18
|
export declare namespace ClientMonitoredItem {
|
|
19
|
-
let create: (
|
|
19
|
+
let create: (_subscription: ClientSubscription, _itemToMonitor: ReadValueIdOptions, _monitoringParameters: MonitoringParametersOptions, _timestampsToReturn?: TimestampsToReturn) => ClientMonitoredItem;
|
|
20
20
|
}
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ClientMonitoredItem = void 0;
|
|
4
4
|
const node_opcua_data_value_1 = require("node-opcua-data-value");
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
6
5
|
var ClientMonitoredItem;
|
|
7
6
|
(function (ClientMonitoredItem) {
|
|
8
|
-
|
|
7
|
+
// reassigned in private/client_monitored_item_impl.ts to install the real
|
|
8
|
+
// implementation; biome's useConst can't see that cross-module write.
|
|
9
|
+
// biome-ignore lint/style/useConst: intentionally mutable, see above
|
|
10
|
+
ClientMonitoredItem.create = (_subscription, _itemToMonitor, _monitoringParameters, _timestampsToReturn = node_opcua_data_value_1.TimestampsToReturn.Neither) => {
|
|
9
11
|
/* c8 ignore next*/
|
|
10
12
|
throw new Error("unimplemented");
|
|
11
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_monitored_item.js","sourceRoot":"","sources":["../source/client_monitored_item.ts"],"names":[],"mappings":";;;AAKA,iEAA2E;
|
|
1
|
+
{"version":3,"file":"client_monitored_item.js","sourceRoot":"","sources":["../source/client_monitored_item.ts"],"names":[],"mappings":";;;AAKA,iEAA2E;AAkB3E,IAAiB,mBAAmB,CAanC;AAbD,WAAiB,mBAAmB;IAChC,0EAA0E;IAC1E,sEAAsE;IACtE,qEAAqE;IAC1D,0BAAM,GAAG,CAChB,aAAiC,EACjC,cAAkC,EAClC,qBAAkD,EAClD,sBAA0C,0CAAkB,CAAC,OAAO,EACjD,EAAE;QACrB,mBAAmB;QACnB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC,CAAC;AACN,CAAC,EAbgB,mBAAmB,mCAAnB,mBAAmB,QAanC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module node-opcua-client
|
|
3
3
|
*/
|
|
4
|
-
import type { EventEmitter } from "events";
|
|
4
|
+
import type { EventEmitter } from "node:events";
|
|
5
5
|
import type { DataValue, TimestampsToReturn } from "node-opcua-data-value";
|
|
6
|
+
import type { ReadValueIdOptions } from "node-opcua-service-read";
|
|
6
7
|
import type { MonitoringParametersOptions } from "node-opcua-types";
|
|
7
8
|
import type { ClientMonitoredItemBase, ClientMonitoredItemOrGroupAction } from "./client_monitored_item_base";
|
|
8
9
|
import type { ClientSubscription } from "./client_subscription";
|
|
@@ -15,6 +16,6 @@ export interface ClientMonitoredItemGroup extends EventEmitter, ClientMonitoredI
|
|
|
15
16
|
export interface ClientMonitoredItemGroup {
|
|
16
17
|
monitoredItems: ClientMonitoredItemBase[];
|
|
17
18
|
}
|
|
18
|
-
export declare
|
|
19
|
-
|
|
19
|
+
export declare namespace ClientMonitoredItemGroup {
|
|
20
|
+
let create: (_subscription: ClientSubscription, _itemsToMonitor: ReadValueIdOptions[], _monitoringParameters: MonitoringParametersOptions, _timestampsToReturn: TimestampsToReturn) => ClientMonitoredItemGroup;
|
|
20
21
|
}
|
|
@@ -4,11 +4,14 @@
|
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ClientMonitoredItemGroup = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
var ClientMonitoredItemGroup;
|
|
8
|
+
(function (ClientMonitoredItemGroup) {
|
|
9
|
+
// reassigned in private/client_monitored_item_group_impl.ts to install the real
|
|
10
|
+
// implementation; biome's useConst can't see that cross-module write.
|
|
11
|
+
// biome-ignore lint/style/useConst: intentionally mutable, see above
|
|
12
|
+
ClientMonitoredItemGroup.create = (_subscription, _itemsToMonitor, _monitoringParameters, _timestampsToReturn) => {
|
|
9
13
|
/* c8 ignore next*/
|
|
10
14
|
throw new Error("Not implemented");
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.ClientMonitoredItemGroup = ClientMonitoredItemGroup;
|
|
15
|
+
};
|
|
16
|
+
})(ClientMonitoredItemGroup || (exports.ClientMonitoredItemGroup = ClientMonitoredItemGroup = {}));
|
|
14
17
|
//# sourceMappingURL=client_monitored_item_group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_monitored_item_group.js","sourceRoot":"","sources":["../source/client_monitored_item_group.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAwBH,
|
|
1
|
+
{"version":3,"file":"client_monitored_item_group.js","sourceRoot":"","sources":["../source/client_monitored_item_group.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAwBH,IAAiB,wBAAwB,CAaxC;AAbD,WAAiB,wBAAwB;IACrC,gFAAgF;IAChF,sEAAsE;IACtE,qEAAqE;IAC1D,+BAAM,GAAG,CAChB,aAAiC,EACjC,eAAqC,EACrC,qBAAkD,EAClD,mBAAuC,EACf,EAAE;QAC1B,mBAAmB;QACnB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC,CAAC;AACN,CAAC,EAbgB,wBAAwB,wCAAxB,wBAAwB,QAaxC"}
|
|
@@ -12,7 +12,7 @@ const node_opcua_assert_1 = require("node-opcua-assert");
|
|
|
12
12
|
const node_opcua_debug_1 = require("node-opcua-debug");
|
|
13
13
|
const node_opcua_service_subscription_1 = require("node-opcua-service-subscription");
|
|
14
14
|
const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
|
|
15
|
-
const
|
|
15
|
+
const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
|
|
16
16
|
/**
|
|
17
17
|
* @internal
|
|
18
18
|
*/
|
|
@@ -56,7 +56,9 @@ var ClientMonitoredItemToolbox;
|
|
|
56
56
|
session.createMonitoredItems(createMonitorItemsRequest, (err, response) => {
|
|
57
57
|
/* c8 ignore next */
|
|
58
58
|
if (err) {
|
|
59
|
-
|
|
59
|
+
// c8 ignore next
|
|
60
|
+
doDebug &&
|
|
61
|
+
debugLog(chalk_1.default.red("ClientMonitoredItemBase#_toolbox_monitor: ERROR in createMonitoredItems ", err.message));
|
|
60
62
|
}
|
|
61
63
|
else {
|
|
62
64
|
/* c8 ignore next */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_monitored_item_toolbox.js","sourceRoot":"","sources":["../source/client_monitored_item_toolbox.ts"],"names":[],"mappings":";;;;;;AAAA;;GAEG;AACH,kDAA0B;AAE1B,yDAA2C;AAG3C,uDAAiE;AACjE,qFASyC;AASzC,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,
|
|
1
|
+
{"version":3,"file":"client_monitored_item_toolbox.js","sourceRoot":"","sources":["../source/client_monitored_item_toolbox.ts"],"names":[],"mappings":"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"}
|
package/dist/client_session.d.ts
CHANGED
|
@@ -58,7 +58,14 @@ export interface ClientSessionBase {
|
|
|
58
58
|
*/
|
|
59
59
|
lastRequestSentTime: Date;
|
|
60
60
|
/**
|
|
61
|
-
* the time of the latest response received by the client
|
|
61
|
+
* the time of the latest response received by the client from the server.
|
|
62
|
+
*
|
|
63
|
+
* this is only updated when the server has actually answered. A transaction that fails
|
|
64
|
+
* on a timeout or on a broken channel does not update this value, whereas a ServiceFault
|
|
65
|
+
* does: a fault means the server answered and rejected the request, so the session is
|
|
66
|
+
* still in contact with it.
|
|
67
|
+
*
|
|
68
|
+
* before the first answer, this holds the session creation sentinel rather than a real date.
|
|
62
69
|
*/
|
|
63
70
|
lastResponseReceivedTime: Date;
|
|
64
71
|
/**
|
|
@@ -126,7 +133,7 @@ export interface ClientSession extends ClientSessionBase {
|
|
|
126
133
|
}
|
|
127
134
|
export interface ClientSession extends EventEmitter {
|
|
128
135
|
on(event: "keepalive", eventHandler: (lastKnownServerState: ServerState) => void): this;
|
|
129
|
-
on(event: "keepalive_failure", eventHandler: (
|
|
136
|
+
on(event: "keepalive_failure", eventHandler: () => void): this;
|
|
130
137
|
on(event: "session_closed", eventHandler: (statusCode: StatusCode) => void): this;
|
|
131
138
|
/**
|
|
132
139
|
* session_restored is raised when the session and related subscription
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module node-opcua-client
|
|
3
3
|
*/
|
|
4
|
-
import { EventEmitter } from "events";
|
|
4
|
+
import { EventEmitter } from "node:events";
|
|
5
5
|
import { ServerState } from "node-opcua-common";
|
|
6
6
|
import type { ClientSessionImpl } from "./private/client_session_impl";
|
|
7
7
|
export interface ClientSessionKeepAliveManagerEvents {
|
|
@@ -7,8 +7,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.ClientSessionKeepAliveManager = void 0;
|
|
10
|
+
const node_events_1 = require("node:events");
|
|
10
11
|
const chalk_1 = __importDefault(require("chalk"));
|
|
11
|
-
const events_1 = require("events");
|
|
12
12
|
const node_opcua_assert_1 = require("node-opcua-assert");
|
|
13
13
|
const node_opcua_basic_types_1 = require("node-opcua-basic-types");
|
|
14
14
|
const node_opcua_common_1 = require("node-opcua-common");
|
|
@@ -22,7 +22,7 @@ const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
|
|
|
22
22
|
const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
|
|
23
23
|
const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
|
|
24
24
|
const maxBackoffInterval = 60_000;
|
|
25
|
-
class ClientSessionKeepAliveManager extends
|
|
25
|
+
class ClientSessionKeepAliveManager extends node_events_1.EventEmitter {
|
|
26
26
|
session;
|
|
27
27
|
timerId;
|
|
28
28
|
pingTimeout;
|
|
@@ -58,24 +58,35 @@ class ClientSessionKeepAliveManager extends events_1.EventEmitter {
|
|
|
58
58
|
}
|
|
59
59
|
stop() {
|
|
60
60
|
if (this.timerId) {
|
|
61
|
-
|
|
61
|
+
// c8 ignore next
|
|
62
|
+
doDebug && debugLog("ClientSessionKeepAliveManager#stop");
|
|
62
63
|
clearTimeout(this.timerId);
|
|
63
64
|
this.timerId = undefined;
|
|
64
65
|
}
|
|
65
66
|
else {
|
|
66
|
-
|
|
67
|
+
// c8 ignore next
|
|
68
|
+
doDebug && debugLog("warning ClientSessionKeepAliveManager#stop ignore (already stopped)");
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
71
|
ping_server() {
|
|
70
|
-
this._ping_server()
|
|
72
|
+
this._ping_server()
|
|
73
|
+
.catch((err) => {
|
|
74
|
+
// _ping_server must never reject: transactionInProgress would stay latched and the
|
|
75
|
+
// timer chain would stop, silently killing the keep-alive for the life of the
|
|
76
|
+
// session. Recover the cycle instead, and try again at the normal cadence.
|
|
77
|
+
warningLog(chalk_1.default.cyan("ClientSessionKeepAliveManager#ping_server unexpected error "), chalk_1.default.yellow(err instanceof Error ? err.message : String(err)));
|
|
78
|
+
this.transactionInProgress = false;
|
|
79
|
+
return this.checkInterval;
|
|
80
|
+
})
|
|
81
|
+
.then((nextCheckDelay) => {
|
|
71
82
|
if (!this.session || this.session.hasBeenClosed()) {
|
|
72
83
|
return; // stop here
|
|
73
84
|
}
|
|
74
85
|
if (this.timerId) {
|
|
75
|
-
//
|
|
76
|
-
//
|
|
77
|
-
|
|
78
|
-
this.timerId = setTimeout(() => this.ping_server(),
|
|
86
|
+
// _ping_server returns how long to wait before the next check: checkInterval
|
|
87
|
+
// in steady state, the residual wait when it skipped the ping because we heard
|
|
88
|
+
// from the server recently, or an explicit backoff after consecutive faults.
|
|
89
|
+
this.timerId = setTimeout(() => this.ping_server(), Math.max(1, nextCheckDelay));
|
|
79
90
|
}
|
|
80
91
|
});
|
|
81
92
|
}
|
|
@@ -89,31 +100,38 @@ class ClientSessionKeepAliveManager extends events_1.EventEmitter {
|
|
|
89
100
|
async _ping_server() {
|
|
90
101
|
const session = this.session;
|
|
91
102
|
if (!session || session.isReconnecting) {
|
|
92
|
-
|
|
93
|
-
|
|
103
|
+
// c8 ignore next
|
|
104
|
+
doDebug && debugLog("ClientSessionKeepAliveManager#ping_server => no session available");
|
|
105
|
+
return this.checkInterval;
|
|
94
106
|
}
|
|
95
107
|
if (!this.timerId) {
|
|
96
|
-
return
|
|
108
|
+
return this.checkInterval; // keep-alive has been canceled ....
|
|
97
109
|
}
|
|
98
110
|
const now = Date.now();
|
|
99
111
|
const timeSinceLastServerContact = now - session.lastResponseReceivedTime.getTime();
|
|
100
112
|
if (timeSinceLastServerContact < this.pingTimeout) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
113
|
+
// c8 ignore next
|
|
114
|
+
doDebug &&
|
|
115
|
+
debugLog("ClientSessionKeepAliveManager#ping_server skipped because last communication with server was not that long ago ping timeout=", Math.round(this.pingTimeout), "timeSinceLastServerContact = ", timeSinceLastServerContact);
|
|
116
|
+
// no need to send a ping yet: come back when the quiet period is actually over
|
|
117
|
+
return this.pingTimeout - timeSinceLastServerContact;
|
|
104
118
|
}
|
|
105
119
|
if (session.isReconnecting) {
|
|
106
|
-
|
|
107
|
-
|
|
120
|
+
// c8 ignore next
|
|
121
|
+
doDebug && debugLog("ClientSessionKeepAliveManager#ping_server skipped because client is reconnecting");
|
|
122
|
+
return this.checkInterval;
|
|
108
123
|
}
|
|
109
124
|
if (session.hasBeenClosed()) {
|
|
110
|
-
|
|
111
|
-
|
|
125
|
+
// c8 ignore next
|
|
126
|
+
doDebug && debugLog("ClientSessionKeepAliveManager#ping_server skipped because client is reconnecting");
|
|
127
|
+
return this.checkInterval;
|
|
112
128
|
}
|
|
113
|
-
|
|
129
|
+
// c8 ignore next
|
|
130
|
+
doDebug &&
|
|
131
|
+
debugLog("ClientSessionKeepAliveManager#ping_server timeSinceLastServerContact=", timeSinceLastServerContact, "timeout", this.session.timeout);
|
|
114
132
|
if (this.transactionInProgress) {
|
|
115
133
|
// readVariable already taking place ! Ignore
|
|
116
|
-
return
|
|
134
|
+
return this.checkInterval;
|
|
117
135
|
}
|
|
118
136
|
this.transactionInProgress = true;
|
|
119
137
|
// Server_ServerStatus_State
|
|
@@ -132,7 +150,7 @@ class ClientSessionKeepAliveManager extends events_1.EventEmitter {
|
|
|
132
150
|
this.emit("failure");
|
|
133
151
|
warningLog("Keep alive has failed, considering a network outage is in place, forcing a reconnection");
|
|
134
152
|
terminateConnection(session._client);
|
|
135
|
-
resolve(
|
|
153
|
+
resolve(this.checkInterval);
|
|
136
154
|
}
|
|
137
155
|
else {
|
|
138
156
|
if (sc?.equals(node_opcua_status_code_1.StatusCodes.BadInvalidTimestamp)) {
|
|
@@ -157,9 +175,11 @@ class ClientSessionKeepAliveManager extends events_1.EventEmitter {
|
|
|
157
175
|
// See: https://reference.opcfoundation.org/Core/Part4/v105/docs/7.38.2
|
|
158
176
|
// https://reference.opcfoundation.org/Core/Part4/v105/docs/7.32
|
|
159
177
|
this.consecutiveFailures = 0;
|
|
160
|
-
|
|
178
|
+
// c8 ignore next
|
|
179
|
+
doDebug &&
|
|
180
|
+
debugLog("emit keepalive (BadInvalidTimestamp: session alive, clock skew on request timestamp)");
|
|
161
181
|
this.emit("keepalive", this.lastKnownState ?? node_opcua_common_1.ServerState.Unknown, this.count);
|
|
162
|
-
resolve(
|
|
182
|
+
resolve(this.checkInterval);
|
|
163
183
|
return;
|
|
164
184
|
}
|
|
165
185
|
this.consecutiveFailures++;
|
|
@@ -172,11 +192,11 @@ class ClientSessionKeepAliveManager extends events_1.EventEmitter {
|
|
|
172
192
|
this.emit("failure");
|
|
173
193
|
warningLog("Keep alive has failed, considering a network outage is in place, forcing a reconnection");
|
|
174
194
|
terminateConnection(session._client);
|
|
175
|
-
resolve(
|
|
195
|
+
resolve(this.checkInterval);
|
|
176
196
|
}
|
|
177
197
|
return;
|
|
178
198
|
}
|
|
179
|
-
if (!dataValue
|
|
199
|
+
if (!dataValue?.value) {
|
|
180
200
|
/**
|
|
181
201
|
* @event failure
|
|
182
202
|
* raised when the server is not responding or is responding with en error to
|
|
@@ -185,7 +205,7 @@ class ClientSessionKeepAliveManager extends events_1.EventEmitter {
|
|
|
185
205
|
this.emit("failure");
|
|
186
206
|
warningLog("Keep alive has failed, considering a network outage is in place, forcing a reconnection");
|
|
187
207
|
terminateConnection(session._client);
|
|
188
|
-
resolve(
|
|
208
|
+
resolve(this.checkInterval);
|
|
189
209
|
return;
|
|
190
210
|
}
|
|
191
211
|
if (dataValue.statusCode.isGood()) {
|
|
@@ -198,9 +218,10 @@ class ClientSessionKeepAliveManager extends events_1.EventEmitter {
|
|
|
198
218
|
this.count++; // increase successful counter
|
|
199
219
|
}
|
|
200
220
|
this.consecutiveFailures = 0;
|
|
201
|
-
|
|
221
|
+
// c8 ignore next
|
|
222
|
+
doDebug && debugLog("emit keepalive");
|
|
202
223
|
this.emit("keepalive", this.lastKnownState, this.count);
|
|
203
|
-
resolve(
|
|
224
|
+
resolve(this.checkInterval);
|
|
204
225
|
});
|
|
205
226
|
});
|
|
206
227
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_session_keepalive_manager.js","sourceRoot":"","sources":["../source/client_session_keepalive_manager.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,kDAA0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"client_session_keepalive_manager.js","sourceRoot":"","sources":["../source/client_session_keepalive_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module node-opcua-client
|
|
3
3
|
*/
|
|
4
|
-
import type { EventEmitter } from "events";
|
|
4
|
+
import type { EventEmitter } from "node:events";
|
|
5
5
|
import type { Byte, Double, UInt32 } from "node-opcua-basic-types";
|
|
6
6
|
import type { DiagnosticInfo } from "node-opcua-data-model";
|
|
7
7
|
import type { IBasicSubscription } from "node-opcua-pseudo-session";
|
|
@@ -228,6 +228,6 @@ export declare interface ClientSubscription {
|
|
|
228
228
|
_createMonitoredItem(itemToMonitor: ReadValueIdOptions, monitoringParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn): ClientMonitoredItem;
|
|
229
229
|
}
|
|
230
230
|
export declare class ClientSubscription implements IBasicSubscription {
|
|
231
|
-
static create(
|
|
231
|
+
static create(_clientSession: ClientSession, _options: ClientSubscriptionOptions): ClientSubscription;
|
|
232
232
|
static ignoreNextWarning: boolean;
|
|
233
233
|
}
|
|
@@ -4,8 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ClientSubscription = void 0;
|
|
7
|
+
// biome-ignore lint/suspicious/noUnsafeDeclarationMerging: interface adds typed members/overloads for this class
|
|
8
|
+
// biome-ignore lint/complexity/noStaticOnlyClass: class identity is required for the `implements IBasicSubscription` contract; static factory + static flag can't be expressed as a namespace
|
|
7
9
|
class ClientSubscription {
|
|
8
|
-
static create(
|
|
10
|
+
static create(_clientSession, _options) {
|
|
9
11
|
/* c8 ignore next*/
|
|
10
12
|
throw new Error("Not Implemented");
|
|
11
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_subscription.js","sourceRoot":"","sources":["../source/client_subscription.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"client_subscription.js","sourceRoot":"","sources":["../source/client_subscription.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA2SH,iHAAiH;AACjH,8LAA8L;AAC9L,MAAa,kBAAkB;IACpB,MAAM,CAAC,MAAM,CAAC,cAA6B,EAAE,QAAmC;QACnF,mBAAmB;QACnB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IACM,MAAM,CAAC,iBAAiB,GAAG,KAAK,CAAC;;AAL5C,gDAMC"}
|
package/dist/common.d.ts
CHANGED
|
@@ -10,8 +10,8 @@ import type { QueryFirstRequest, QueryFirstResponse, QueryNextRequest, QueryNext
|
|
|
10
10
|
import type { ReadRequest, ReadResponse } from "node-opcua-service-read";
|
|
11
11
|
import type { RegisterNodesRequest, RegisterNodesResponse, UnregisterNodesRequest, UnregisterNodesResponse } from "node-opcua-service-register-node";
|
|
12
12
|
import type { ActivateSessionRequest, ActivateSessionResponse, CloseSessionRequest, CloseSessionResponse, CreateSessionRequest, CreateSessionResponse } from "node-opcua-service-session";
|
|
13
|
-
import type { CreateMonitoredItemsRequest, CreateMonitoredItemsResponse, CreateSubscriptionRequest, CreateSubscriptionResponse, DeleteMonitoredItemsRequest, DeleteMonitoredItemsResponse, DeleteSubscriptionsRequest, DeleteSubscriptionsResponse, ModifyMonitoredItemsRequest, ModifyMonitoredItemsResponse, ModifySubscriptionRequest, ModifySubscriptionResponse, PublishRequest, PublishResponse, RepublishRequest, RepublishResponse, SetMonitoringModeRequest, SetMonitoringModeResponse, SetPublishingModeRequest, SetPublishingModeResponse, TransferSubscriptionsRequest, TransferSubscriptionsResponse } from "node-opcua-service-subscription";
|
|
13
|
+
import type { CreateMonitoredItemsRequest, CreateMonitoredItemsResponse, CreateSubscriptionRequest, CreateSubscriptionResponse, DeleteMonitoredItemsRequest, DeleteMonitoredItemsResponse, DeleteSubscriptionsRequest, DeleteSubscriptionsResponse, ModifyMonitoredItemsRequest, ModifyMonitoredItemsResponse, ModifySubscriptionRequest, ModifySubscriptionResponse, PublishRequest, PublishResponse, RepublishRequest, RepublishResponse, SetMonitoringModeRequest, SetMonitoringModeResponse, SetPublishingModeRequest, SetPublishingModeResponse, SetTriggeringRequest, SetTriggeringResponse, TransferSubscriptionsRequest, TransferSubscriptionsResponse } from "node-opcua-service-subscription";
|
|
14
14
|
import type { TranslateBrowsePathsToNodeIdsRequest, TranslateBrowsePathsToNodeIdsResponse } from "node-opcua-service-translate-browse-path";
|
|
15
15
|
import type { WriteRequest, WriteResponse } from "node-opcua-service-write";
|
|
16
|
-
export type Request = CreateSessionRequest | ActivateSessionRequest | CloseSessionRequest | GetEndpointsRequest | ReadRequest | BrowseRequest | BrowseNextRequest | WriteRequest | CallRequest | TranslateBrowsePathsToNodeIdsRequest | CreateSubscriptionRequest | DeleteSubscriptionsRequest | TransferSubscriptionsRequest | CreateMonitoredItemsRequest | ModifyMonitoredItemsRequest | ModifySubscriptionRequest | SetMonitoringModeRequest | PublishRequest | RepublishRequest | DeleteMonitoredItemsRequest | SetPublishingModeRequest | FindServersOnNetworkRequest | FindServersRequest | HistoryReadRequest | RegisterNodesRequest | UnregisterNodesRequest | QueryFirstRequest | QueryNextRequest;
|
|
17
|
-
export type Response = CreateSessionResponse | ActivateSessionResponse | CloseSessionResponse | GetEndpointsResponse | ReadResponse | BrowseResponse | BrowseNextResponse | WriteResponse | CallResponse | TranslateBrowsePathsToNodeIdsResponse | CreateSubscriptionResponse | DeleteSubscriptionsResponse | TransferSubscriptionsResponse | CreateMonitoredItemsResponse | ModifyMonitoredItemsResponse | ModifySubscriptionResponse | SetMonitoringModeResponse | PublishResponse | RepublishResponse | DeleteMonitoredItemsResponse | SetPublishingModeResponse | FindServersOnNetworkResponse | FindServersResponse | HistoryReadResponse | RegisterNodesResponse | UnregisterNodesResponse | QueryFirstResponse | QueryNextResponse;
|
|
16
|
+
export type Request = CreateSessionRequest | ActivateSessionRequest | CloseSessionRequest | GetEndpointsRequest | ReadRequest | BrowseRequest | BrowseNextRequest | WriteRequest | CallRequest | TranslateBrowsePathsToNodeIdsRequest | CreateSubscriptionRequest | DeleteSubscriptionsRequest | TransferSubscriptionsRequest | CreateMonitoredItemsRequest | ModifyMonitoredItemsRequest | ModifySubscriptionRequest | SetMonitoringModeRequest | PublishRequest | RepublishRequest | DeleteMonitoredItemsRequest | SetPublishingModeRequest | SetTriggeringRequest | FindServersOnNetworkRequest | FindServersRequest | HistoryReadRequest | RegisterNodesRequest | UnregisterNodesRequest | QueryFirstRequest | QueryNextRequest;
|
|
17
|
+
export type Response = CreateSessionResponse | ActivateSessionResponse | CloseSessionResponse | GetEndpointsResponse | ReadResponse | BrowseResponse | BrowseNextResponse | WriteResponse | CallResponse | TranslateBrowsePathsToNodeIdsResponse | CreateSubscriptionResponse | DeleteSubscriptionsResponse | TransferSubscriptionsResponse | CreateMonitoredItemsResponse | ModifyMonitoredItemsResponse | ModifySubscriptionResponse | SetMonitoringModeResponse | PublishResponse | RepublishResponse | DeleteMonitoredItemsResponse | SetPublishingModeResponse | SetTriggeringResponse | FindServersOnNetworkResponse | FindServersResponse | HistoryReadResponse | RegisterNodesResponse | UnregisterNodesResponse | QueryFirstResponse | QueryNextResponse;
|
package/dist/index.d.ts
CHANGED
|
@@ -36,8 +36,8 @@ export * from "./client_session";
|
|
|
36
36
|
export * from "./client_subscription";
|
|
37
37
|
export * from "./client_utils";
|
|
38
38
|
export * from "./opcua_client";
|
|
39
|
-
export * from "./reverse/client_reverse_connect";
|
|
40
39
|
export { ClientSidePublishEngine } from "./private/client_publish_engine";
|
|
40
|
+
export * from "./reverse/client_reverse_connect";
|
|
41
41
|
export * from "./tools/findservers";
|
|
42
42
|
export * from "./tools/read_history_server_capabilities";
|
|
43
43
|
export * from "./user_identity_info";
|
package/dist/index.js
CHANGED
|
@@ -80,9 +80,9 @@ __exportStar(require("./client_session"), exports);
|
|
|
80
80
|
__exportStar(require("./client_subscription"), exports);
|
|
81
81
|
__exportStar(require("./client_utils"), exports);
|
|
82
82
|
__exportStar(require("./opcua_client"), exports);
|
|
83
|
-
__exportStar(require("./reverse/client_reverse_connect"), exports);
|
|
84
83
|
var client_publish_engine_1 = require("./private/client_publish_engine");
|
|
85
84
|
Object.defineProperty(exports, "ClientSidePublishEngine", { enumerable: true, get: function () { return client_publish_engine_1.ClientSidePublishEngine; } });
|
|
85
|
+
__exportStar(require("./reverse/client_reverse_connect"), exports);
|
|
86
86
|
__exportStar(require("./tools/findservers"), exports);
|
|
87
87
|
__exportStar(require("./tools/read_history_server_capabilities"), exports);
|
|
88
88
|
__exportStar(require("./user_identity_info"), exports);
|