node-opcua-alias-name-server 2.183.1 → 2.184.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.
- package/dist/add_alias.d.ts +1 -0
- package/dist/add_alias.d.ts.map +1 -0
- package/dist/add_alias.js +33 -40
- package/dist/add_alias.js.map +1 -1
- package/dist/address_space_alias_store.d.ts +1 -0
- package/dist/address_space_alias_store.d.ts.map +1 -0
- package/dist/address_space_alias_store.js +47 -51
- package/dist/address_space_alias_store.js.map +1 -1
- package/dist/alias_hierarchy.d.ts +1 -0
- package/dist/alias_hierarchy.d.ts.map +1 -0
- package/dist/alias_hierarchy.js +17 -27
- package/dist/alias_hierarchy.js.map +1 -1
- package/dist/alias_index.d.ts +1 -0
- package/dist/alias_index.d.ts.map +1 -0
- package/dist/alias_index.js +10 -16
- package/dist/alias_index.js.map +1 -1
- package/dist/alias_name_archive.d.ts +1 -0
- package/dist/alias_name_archive.d.ts.map +1 -0
- package/dist/alias_name_archive.js +11 -16
- package/dist/alias_name_archive.js.map +1 -1
- package/dist/bind_alias_category.d.ts +1 -0
- package/dist/bind_alias_category.d.ts.map +1 -0
- package/dist/bind_alias_category.js +44 -55
- package/dist/bind_alias_category.js.map +1 -1
- package/dist/bind_configuration_methods.d.ts +1 -0
- package/dist/bind_configuration_methods.d.ts.map +1 -0
- package/dist/bind_configuration_methods.js +23 -27
- package/dist/bind_configuration_methods.js.map +1 -1
- package/dist/bind_find_alias.d.ts +1 -0
- package/dist/bind_find_alias.d.ts.map +1 -0
- package/dist/bind_find_alias.js +26 -31
- package/dist/bind_find_alias.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -54
- package/dist/index.js.map +1 -1
- package/dist/install_alias_names.d.ts +1 -0
- package/dist/install_alias_names.d.ts.map +1 -0
- package/dist/install_alias_names.js +21 -28
- package/dist/install_alias_names.js.map +1 -1
- package/dist/last_change.d.ts +1 -0
- package/dist/last_change.d.ts.map +1 -0
- package/dist/last_change.js +20 -24
- package/dist/last_change.js.map +1 -1
- package/dist/well_known.d.ts +1 -0
- package/dist/well_known.d.ts.map +1 -0
- package/dist/well_known.js +32 -35
- package/dist/well_known.js.map +1 -1
- package/package.json +15 -14
- package/source/bind_find_alias.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install_alias_names.js","sourceRoot":"","sources":["../source/install_alias_names.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install_alias_names.js","sourceRoot":"","sources":["../source/install_alias_names.ts"],"names":[],"mappings":"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"}
|
package/dist/last_change.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"last_change.d.ts","sourceRoot":"","sources":["../source/last_change.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAY,aAAa,EAAwB,MAAM,+BAA+B,CAAC;AAGnG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAUhD,4DAA4D;AAC5D,eAAO,MAAM,uBAAuB,eAAe,CAAC;AAEpD,MAAM,WAAW,wBAAwB;IACrC,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,4EAA4E;IAC5E,OAAO,CAAC,WAAW,CAAoC;IAEvD,YAAY,YAAY,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,wBAAwB,EAI1E;IAED,2DAA2D;IACpD,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAEzC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACU,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAShF;IAED,sEAAsE;IACzD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAepC;IAED,0EAA0E;IACnE,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAIjD;IAED,8CAA8C;IACvC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAExC;IAED,4EAA4E;IAC/D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAQjC;IAED,gFAAgF;IAChF,OAAO,CAAC,aAAa;IAkBrB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;CAgC3B"}
|
package/dist/last_change.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* @module node-opcua-alias-name-server
|
|
4
3
|
*
|
|
@@ -30,20 +29,18 @@
|
|
|
30
29
|
* clear the cache. This is a property of `VersionTime`, not of this
|
|
31
30
|
* implementation, and there is nothing a Server can do about it.
|
|
32
31
|
*/
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const alias_name_archive_js_1 = require("./alias_name_archive.js");
|
|
39
|
-
const well_known_js_1 = require("./well_known.js");
|
|
32
|
+
import { maxVersionTime, nowVersionTime } from "node-opcua-alias-name-common";
|
|
33
|
+
import { BrowseDirection, NodeClass } from "node-opcua-data-model";
|
|
34
|
+
import { DataType } from "node-opcua-variant";
|
|
35
|
+
import { ALIAS_NAME_ARCHIVE_VERSION, readAliasNameArchive, writeAliasNameArchive } from "./alias_name_archive.js";
|
|
36
|
+
import { WellKnownCategories } from "./well_known.js";
|
|
40
37
|
/** BrowseName of the Property, per clause 6.3.1 Table 2. */
|
|
41
|
-
|
|
38
|
+
export const LAST_CHANGE_BROWSE_NAME = "LastChange";
|
|
42
39
|
/**
|
|
43
40
|
* Keeps every category's `LastChange` Property correct, including the rollup to
|
|
44
41
|
* ancestors, and persists the values across restart.
|
|
45
42
|
*/
|
|
46
|
-
class LastChangeTracker {
|
|
43
|
+
export class LastChangeTracker {
|
|
47
44
|
addressSpace;
|
|
48
45
|
persistencePath;
|
|
49
46
|
now;
|
|
@@ -54,7 +51,7 @@ class LastChangeTracker {
|
|
|
54
51
|
constructor(addressSpace, options) {
|
|
55
52
|
this.addressSpace = addressSpace;
|
|
56
53
|
this.persistencePath = options?.persistencePath;
|
|
57
|
-
this.now = options?.now ??
|
|
54
|
+
this.now = options?.now ?? nowVersionTime;
|
|
58
55
|
}
|
|
59
56
|
/** The `VersionTime` currently recorded for a category. */
|
|
60
57
|
get(categoryNodeId) {
|
|
@@ -82,7 +79,7 @@ class LastChangeTracker {
|
|
|
82
79
|
const value = versionTime ?? this.now();
|
|
83
80
|
for (const nodeId of this.selfAndAncestors(categoryNodeId)) {
|
|
84
81
|
const key = nodeId.toString();
|
|
85
|
-
this.values.set(key,
|
|
82
|
+
this.values.set(key, maxVersionTime(this.values.get(key) ?? 0, value));
|
|
86
83
|
this.writeProperty(nodeId);
|
|
87
84
|
}
|
|
88
85
|
await this.save();
|
|
@@ -91,7 +88,7 @@ class LastChangeTracker {
|
|
|
91
88
|
/** Restore persisted values and publish them to the address space. */
|
|
92
89
|
async restore() {
|
|
93
90
|
if (this.persistencePath) {
|
|
94
|
-
const archive = await
|
|
91
|
+
const archive = await readAliasNameArchive(this.persistencePath);
|
|
95
92
|
if (archive) {
|
|
96
93
|
for (const [key, value] of Object.entries(archive.lastChange)) {
|
|
97
94
|
this.values.set(key, value);
|
|
@@ -121,17 +118,17 @@ class LastChangeTracker {
|
|
|
121
118
|
return;
|
|
122
119
|
}
|
|
123
120
|
const path = this.persistencePath;
|
|
124
|
-
const archive = { version:
|
|
125
|
-
this.savingChain = this.savingChain.then(() =>
|
|
121
|
+
const archive = { version: ALIAS_NAME_ARCHIVE_VERSION, lastChange: this.snapshot() };
|
|
122
|
+
this.savingChain = this.savingChain.then(() => writeAliasNameArchive(path, archive));
|
|
126
123
|
await this.savingChain;
|
|
127
124
|
}
|
|
128
125
|
/** Write the value onto the category's `LastChange` Property, if it has one. */
|
|
129
126
|
writeProperty(categoryNodeId) {
|
|
130
127
|
const node = this.addressSpace.findNode(categoryNodeId);
|
|
131
|
-
if (!node || node.nodeClass !==
|
|
128
|
+
if (!node || node.nodeClass !== NodeClass.Object) {
|
|
132
129
|
return;
|
|
133
130
|
}
|
|
134
|
-
const property = node.getPropertyByName(
|
|
131
|
+
const property = node.getPropertyByName(LAST_CHANGE_BROWSE_NAME);
|
|
135
132
|
if (!property) {
|
|
136
133
|
// LastChange is Optional on AliasNameCategoryType; a category
|
|
137
134
|
// without one simply does not publish its version
|
|
@@ -139,7 +136,7 @@ class LastChangeTracker {
|
|
|
139
136
|
}
|
|
140
137
|
// VersionTime (i=20998) is a UInt32 subtype - not a DateTime
|
|
141
138
|
property.setValueFromSource({
|
|
142
|
-
dataType:
|
|
139
|
+
dataType: DataType.UInt32,
|
|
143
140
|
value: this.values.get(categoryNodeId.toString()) ?? 0
|
|
144
141
|
});
|
|
145
142
|
}
|
|
@@ -164,8 +161,8 @@ class LastChangeTracker {
|
|
|
164
161
|
if (!node) {
|
|
165
162
|
return;
|
|
166
163
|
}
|
|
167
|
-
for (const parent of node.findReferencesExAsObject("HierarchicalReferences",
|
|
168
|
-
if (parent.nodeClass ===
|
|
164
|
+
for (const parent of node.findReferencesExAsObject("HierarchicalReferences", BrowseDirection.Inverse)) {
|
|
165
|
+
if (parent.nodeClass === NodeClass.Object) {
|
|
169
166
|
visit(parent.nodeId);
|
|
170
167
|
}
|
|
171
168
|
}
|
|
@@ -173,12 +170,11 @@ class LastChangeTracker {
|
|
|
173
170
|
visit(categoryNodeId);
|
|
174
171
|
// the root is always included even when the category was reached by a
|
|
175
172
|
// path that does not pass through it
|
|
176
|
-
const rootKey =
|
|
177
|
-
if (!seen.has(rootKey) && this.addressSpace.findNode(
|
|
178
|
-
result.push(
|
|
173
|
+
const rootKey = WellKnownCategories.Aliases.toString();
|
|
174
|
+
if (!seen.has(rootKey) && this.addressSpace.findNode(WellKnownCategories.Aliases)) {
|
|
175
|
+
result.push(WellKnownCategories.Aliases);
|
|
179
176
|
}
|
|
180
177
|
return result;
|
|
181
178
|
}
|
|
182
179
|
}
|
|
183
|
-
exports.LastChangeTracker = LastChangeTracker;
|
|
184
180
|
//# sourceMappingURL=last_change.js.map
|
package/dist/last_change.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"last_change.js","sourceRoot":"","sources":["../source/last_change.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"last_change.js","sourceRoot":"","sources":["../source/last_change.ts"],"names":[],"mappings":"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"}
|
package/dist/well_known.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"well_known.d.ts","sourceRoot":"","sources":["../source/well_known.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,mBAAmB,CAAC;AAE/D;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,+CAA+C;AAC/C,eAAO,MAAM,eAAe,EAAE,MAAmD,CAAC;AAElF,uDAAuD;AACvD,eAAO,MAAM,wBAAwB,EAAE,MAA2D,CAAC;AAEnG,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,EAAE,MAA+C,CAAC;AAErF,gFAAgF;AAChF,eAAO,MAAM,SAAS,EAAE,MAAiD,CAAC;AAE1E,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,EAAE,MAA0D,CAAC;AAEjG,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB;IAC5B,yDAAyD;aACzD,OAAO;IACP,oEAAoE;aACpE,YAAY;IACZ,yEAAyE;aACzE,MAAM;CACA,CAAC;AAEX,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB;aAC5B,OAAO;aACP,YAAY;aACZ,MAAM;CACA,CAAC;AAEX,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB;aAC3B,SAAS;aACT,gBAAgB;aAChB,oBAAoB;aACpB,yBAAyB;CACnB,CAAC;AAEX;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB;aACjC,OAAO;iBACH,gBAAgB;iBAChB,oBAAoB;iBACpB,yBAAyB;;aAE7B,YAAY;iBACR,gBAAgB;iBAChB,oBAAoB;iBACpB,yBAAyB;;aAE7B,MAAM;iBACF,gBAAgB;iBAChB,oBAAoB;iBACpB,yBAAyB;;CAEvB,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,UAAU,CAAC"}
|
package/dist/well_known.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* @module node-opcua-alias-name-server
|
|
4
3
|
*
|
|
@@ -10,10 +9,8 @@
|
|
|
10
9
|
* that publishes the hierarchy under a localised DisplayName or that has a
|
|
11
10
|
* vendor Object of the same BrowseName elsewhere.
|
|
12
11
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const node_opcua_constants_1 = require("node-opcua-constants");
|
|
16
|
-
const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
12
|
+
import { DataTypeIds, MethodIds, ObjectIds, ObjectTypeIds, ReferenceTypeIds, VariableIds } from "node-opcua-constants";
|
|
13
|
+
import { resolveNodeId } from "node-opcua-nodeid";
|
|
17
14
|
/**
|
|
18
15
|
* Default result cap; beyond it a call answers `Bad_ResponseTooLarge`
|
|
19
16
|
* (clause 6.3.2 Table 4).
|
|
@@ -21,38 +18,38 @@ const node_opcua_nodeid_1 = require("node-opcua-nodeid");
|
|
|
21
18
|
* Lives here rather than in `install_alias_names` so that `bind_alias_category`
|
|
22
19
|
* can use it without the two importing each other.
|
|
23
20
|
*/
|
|
24
|
-
|
|
21
|
+
export const DEFAULT_MAX_RESULTS = 1000;
|
|
25
22
|
/** `AliasNameType` ObjectType (clause 6.2). */
|
|
26
|
-
|
|
23
|
+
export const ALIAS_NAME_TYPE = resolveNodeId(ObjectTypeIds.AliasNameType);
|
|
27
24
|
/** `AliasNameCategoryType` ObjectType (clause 6.3). */
|
|
28
|
-
|
|
25
|
+
export const ALIAS_NAME_CATEGORY_TYPE = resolveNodeId(ObjectTypeIds.AliasNameCategoryType);
|
|
29
26
|
/** `VersionTime` DataType (OPC 10000-4 clause 7.43) - a UInt32 subtype. */
|
|
30
|
-
|
|
27
|
+
export const VERSION_TIME_DATA_TYPE = resolveNodeId(DataTypeIds.VersionTime);
|
|
31
28
|
/** `AliasFor` ReferenceType (clause 8.2); the default link to a target Node. */
|
|
32
|
-
|
|
29
|
+
export const ALIAS_FOR = resolveNodeId(ReferenceTypeIds.AliasFor);
|
|
33
30
|
/** `PublishedDataSetType` (OPC 10000-14), the target type `Topics` restricts to. */
|
|
34
|
-
|
|
31
|
+
export const PUBLISHED_DATA_SET_TYPE = resolveNodeId(ObjectTypeIds.PublishedDataSetType);
|
|
35
32
|
/** The three well-known category instances of clauses 9.2, 9.3 and 9.4. */
|
|
36
|
-
|
|
33
|
+
export const WellKnownCategories = {
|
|
37
34
|
/** `Aliases`, the root of the hierarchy (clause 9.2). */
|
|
38
|
-
Aliases:
|
|
35
|
+
Aliases: resolveNodeId(ObjectIds.Aliases),
|
|
39
36
|
/** `TagVariables`; targets restricted to Variables (clause 9.3). */
|
|
40
|
-
TagVariables:
|
|
37
|
+
TagVariables: resolveNodeId(ObjectIds.TagVariables),
|
|
41
38
|
/** `Topics`; targets restricted to PublishedDataSetType (clause 9.4). */
|
|
42
|
-
Topics:
|
|
39
|
+
Topics: resolveNodeId(ObjectIds.Topics)
|
|
43
40
|
};
|
|
44
41
|
/** `LastChange` on each well-known category (clause 6.3.1). */
|
|
45
|
-
|
|
46
|
-
Aliases:
|
|
47
|
-
TagVariables:
|
|
48
|
-
Topics:
|
|
42
|
+
export const WellKnownLastChange = {
|
|
43
|
+
Aliases: resolveNodeId(VariableIds.Aliases_LastChange),
|
|
44
|
+
TagVariables: resolveNodeId(VariableIds.TagVariables_LastChange),
|
|
45
|
+
Topics: resolveNodeId(VariableIds.Topics_LastChange)
|
|
49
46
|
};
|
|
50
47
|
/** The Method declarations on `AliasNameCategoryType`. */
|
|
51
|
-
|
|
52
|
-
FindAlias:
|
|
53
|
-
FindAliasVerbose:
|
|
54
|
-
AddAliasesToCategory:
|
|
55
|
-
DeleteAliasesFromCategory:
|
|
48
|
+
export const MethodDeclarations = {
|
|
49
|
+
FindAlias: resolveNodeId(MethodIds.AliasNameCategoryType_FindAlias),
|
|
50
|
+
FindAliasVerbose: resolveNodeId(MethodIds.AliasNameCategoryType_FindAliasVerbose),
|
|
51
|
+
AddAliasesToCategory: resolveNodeId(MethodIds.AliasNameCategoryType_AddAliasesToCategory),
|
|
52
|
+
DeleteAliasesFromCategory: resolveNodeId(MethodIds.AliasNameCategoryType_DeleteAliasesFromCategory)
|
|
56
53
|
};
|
|
57
54
|
/**
|
|
58
55
|
* The NodeIds OPC 10000-17 reserves for the *optional* Methods on the three
|
|
@@ -64,21 +61,21 @@ exports.MethodDeclarations = {
|
|
|
64
61
|
* When installation adds them it uses these rather than server-assigned ones,
|
|
65
62
|
* so an aggregating Server sees the standard NodeId it expects.
|
|
66
63
|
*/
|
|
67
|
-
|
|
64
|
+
export const WellKnownOptionalMethods = {
|
|
68
65
|
Aliases: {
|
|
69
|
-
FindAliasVerbose:
|
|
70
|
-
AddAliasesToCategory:
|
|
71
|
-
DeleteAliasesFromCategory:
|
|
66
|
+
FindAliasVerbose: resolveNodeId(MethodIds.Aliases_FindAliasVerbose),
|
|
67
|
+
AddAliasesToCategory: resolveNodeId(MethodIds.Aliases_AddAliasesToCategory),
|
|
68
|
+
DeleteAliasesFromCategory: resolveNodeId(MethodIds.Aliases_DeleteAliasesFromCategory)
|
|
72
69
|
},
|
|
73
70
|
TagVariables: {
|
|
74
|
-
FindAliasVerbose:
|
|
75
|
-
AddAliasesToCategory:
|
|
76
|
-
DeleteAliasesFromCategory:
|
|
71
|
+
FindAliasVerbose: resolveNodeId(MethodIds.TagVariables_FindAliasVerbose),
|
|
72
|
+
AddAliasesToCategory: resolveNodeId(MethodIds.TagVariables_AddAliasesToCategory),
|
|
73
|
+
DeleteAliasesFromCategory: resolveNodeId(MethodIds.TagVariables_DeleteAliasesFromCategory)
|
|
77
74
|
},
|
|
78
75
|
Topics: {
|
|
79
|
-
FindAliasVerbose:
|
|
80
|
-
AddAliasesToCategory:
|
|
81
|
-
DeleteAliasesFromCategory:
|
|
76
|
+
FindAliasVerbose: resolveNodeId(MethodIds.Topics_FindAliasVerbose),
|
|
77
|
+
AddAliasesToCategory: resolveNodeId(MethodIds.Topics_AddAliasesToCategory),
|
|
78
|
+
DeleteAliasesFromCategory: resolveNodeId(MethodIds.Topics_DeleteAliasesFromCategory)
|
|
82
79
|
}
|
|
83
80
|
};
|
|
84
81
|
/**
|
|
@@ -89,5 +86,5 @@ exports.WellKnownOptionalMethods = {
|
|
|
89
86
|
* writes it `Alias`; Part 12 Annex D is the normative source and writes `ALIAS`,
|
|
90
87
|
* matched case-insensitively.
|
|
91
88
|
*/
|
|
92
|
-
|
|
89
|
+
export const ALIAS_SERVER_CAPABILITY = "ALIAS";
|
|
93
90
|
//# sourceMappingURL=well_known.js.map
|
package/dist/well_known.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"well_known.js","sourceRoot":"","sources":["../source/well_known.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"well_known.js","sourceRoot":"","sources":["../source/well_known.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACvH,OAAO,EAAe,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAW,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AAElF,uDAAuD;AACvD,MAAM,CAAC,MAAM,wBAAwB,GAAW,aAAa,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;AAEnG,2EAA2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAW,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AAErF,gFAAgF;AAChF,MAAM,CAAC,MAAM,SAAS,GAAW,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAE1E,oFAAoF;AACpF,MAAM,CAAC,MAAM,uBAAuB,GAAW,aAAa,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAEjG,2EAA2E;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,yDAAyD;IACzD,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC;IACzC,oEAAoE;IACpE,YAAY,EAAE,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC;IACnD,yEAAyE;IACzE,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC;CACjC,CAAC;AAEX,+DAA+D;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtD,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,uBAAuB,CAAC;IAChE,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC;CAC9C,CAAC;AAEX,0DAA0D;AAC1D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,+BAA+B,CAAC;IACnE,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,sCAAsC,CAAC;IACjF,oBAAoB,EAAE,aAAa,CAAC,SAAS,CAAC,0CAA0C,CAAC;IACzF,yBAAyB,EAAE,aAAa,CAAC,SAAS,CAAC,+CAA+C,CAAC;CAC7F,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACpC,OAAO,EAAE;QACL,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,wBAAwB,CAAC;QACnE,oBAAoB,EAAE,aAAa,CAAC,SAAS,CAAC,4BAA4B,CAAC;QAC3E,yBAAyB,EAAE,aAAa,CAAC,SAAS,CAAC,iCAAiC,CAAC;KACxF;IACD,YAAY,EAAE;QACV,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,6BAA6B,CAAC;QACxE,oBAAoB,EAAE,aAAa,CAAC,SAAS,CAAC,iCAAiC,CAAC;QAChF,yBAAyB,EAAE,aAAa,CAAC,SAAS,CAAC,sCAAsC,CAAC;KAC7F;IACD,MAAM,EAAE;QACJ,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,uBAAuB,CAAC;QAClE,oBAAoB,EAAE,aAAa,CAAC,SAAS,CAAC,2BAA2B,CAAC;QAC1E,yBAAyB,EAAE,aAAa,CAAC,SAAS,CAAC,gCAAgC,CAAC;KACvF;CACK,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-alias-name-server",
|
|
3
|
-
"
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "2.184.1",
|
|
4
5
|
"description": "pure nodejs OPCUA SDK - server-side alias names (OPC 10000-17)",
|
|
5
6
|
"scripts": {
|
|
6
7
|
"build": "tsc -b",
|
|
@@ -20,20 +21,20 @@
|
|
|
20
21
|
"node": ">=22.13.0"
|
|
21
22
|
},
|
|
22
23
|
"dependencies": {
|
|
23
|
-
"node-opcua-address-space-base": "2.
|
|
24
|
-
"node-opcua-alias-name-common": "2.
|
|
25
|
-
"node-opcua-constants": "2.
|
|
26
|
-
"node-opcua-data-model": "2.
|
|
27
|
-
"node-opcua-nodeid": "2.
|
|
28
|
-
"node-opcua-service-call": "2.
|
|
29
|
-
"node-opcua-status-code": "2.
|
|
30
|
-
"node-opcua-types": "2.
|
|
31
|
-
"node-opcua-variant": "2.
|
|
24
|
+
"node-opcua-address-space-base": "2.184.1",
|
|
25
|
+
"node-opcua-alias-name-common": "2.184.1",
|
|
26
|
+
"node-opcua-constants": "2.184.0",
|
|
27
|
+
"node-opcua-data-model": "2.184.1",
|
|
28
|
+
"node-opcua-nodeid": "2.184.1",
|
|
29
|
+
"node-opcua-service-call": "2.184.1",
|
|
30
|
+
"node-opcua-status-code": "2.184.1",
|
|
31
|
+
"node-opcua-types": "2.184.1",
|
|
32
|
+
"node-opcua-variant": "2.184.1"
|
|
32
33
|
},
|
|
33
34
|
"devDependencies": {
|
|
34
|
-
"node-opcua-address-space": "2.
|
|
35
|
-
"node-opcua-leak-detector": "2.
|
|
36
|
-
"node-opcua-nodesets": "2.
|
|
35
|
+
"node-opcua-address-space": "2.184.1",
|
|
36
|
+
"node-opcua-leak-detector": "2.184.1",
|
|
37
|
+
"node-opcua-nodesets": "2.184.0"
|
|
37
38
|
},
|
|
38
39
|
"author": "Etienne Rossignon",
|
|
39
40
|
"license": "MIT",
|
|
@@ -54,5 +55,5 @@
|
|
|
54
55
|
"dist",
|
|
55
56
|
"source"
|
|
56
57
|
],
|
|
57
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "29af4e8ac45f585e7b0d8cff9c799b4f0f2f0985"
|
|
58
59
|
}
|
|
@@ -94,7 +94,7 @@ function isValidReferenceTypeFilter(category: UAObject, filter: NodeId | undefin
|
|
|
94
94
|
return false;
|
|
95
95
|
}
|
|
96
96
|
if (!aliasFor) {
|
|
97
|
-
|
|
97
|
+
/* c8 ignore next: AliasFor is a standard ReferenceType, always present */
|
|
98
98
|
return true;
|
|
99
99
|
}
|
|
100
100
|
return sameNodeId(candidate.nodeId, aliasFor.nodeId) || candidate.isSubtypeOf(aliasFor);
|