node-opcua-address-space 2.185.0 → 2.186.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.
@@ -180,6 +180,10 @@ export interface InternalBaseNodeOptions {
180
180
  rolePermissions?: RolePermissionTypeOptions[];
181
181
  /** "Draft" or "Deprecated" as the nodeset declared it; see BaseNode.releaseStatus */
182
182
  releaseStatus?: "Draft" | "Deprecated";
183
+ /** the `<Documentation>` link as the nodeset declared it; see BaseNode.nodesetDocumentation */
184
+ nodesetDocumentation?: string;
185
+ /** the `<Category>` elements as the nodeset declared them; see BaseNode.nodesetCategory */
186
+ nodesetCategory?: string[];
183
187
  /** the AccessRestrictions as declared, whatever this loader applies; see BaseNode */
184
188
  declaredAccessRestrictions?: string;
185
189
  }
@@ -225,6 +229,10 @@ export abstract class BaseNodeImpl<T extends BaseNodeEvents & ListenerSignature<
225
229
  /** see BaseNode.releaseStatus; only set when the nodeset declared one, so that it costs
226
230
  * nothing on the overwhelming majority of nodes, which are Released */
227
231
  public releaseStatus?: "Draft" | "Deprecated";
232
+ /** see BaseNode.nodesetDocumentation; only set when the nodeset declared one */
233
+ public nodesetDocumentation?: string;
234
+ /** see BaseNode.nodesetCategory; only set when the nodeset declared at least one */
235
+ public nodesetCategory?: string[];
228
236
  /** see BaseNode.declaredAccessRestrictions */
229
237
  public declaredAccessRestrictions?: string;
230
238
  private _accessRestrictions?: AccessRestrictionsFlag;
@@ -445,6 +453,12 @@ export abstract class BaseNodeImpl<T extends BaseNodeEvents & ListenerSignature<
445
453
  if (options.releaseStatus) {
446
454
  this.releaseStatus = options.releaseStatus;
447
455
  }
456
+ if (options.nodesetDocumentation) {
457
+ this.nodesetDocumentation = options.nodesetDocumentation;
458
+ }
459
+ if (options.nodesetCategory && options.nodesetCategory.length > 0) {
460
+ this.nodesetCategory = [...options.nodesetCategory];
461
+ }
448
462
  if (options.parentNodeId) {
449
463
  _private._declaredParentNodeId =
450
464
  options.parentNodeId instanceof NodeId
@@ -366,6 +366,12 @@ class RecordExporter {
366
366
  if (node.releaseStatus) {
367
367
  record.releaseStatus = node.releaseStatus;
368
368
  }
369
+ if (node.nodesetCategory && node.nodesetCategory.length > 0) {
370
+ record.category = [...node.nodesetCategory];
371
+ }
372
+ if (node.nodesetDocumentation) {
373
+ record.documentation = node.nodesetDocumentation;
374
+ }
369
375
  const parentNode = this.parentOf(node);
370
376
  if (parentNode && parentNode.nodeId.namespace <= node.nodeId.namespace) {
371
377
  record.parentNodeId = this.t(parentNode.nodeId);
@@ -88,6 +88,16 @@ function _dumpDescription(xw: XmlWriter, node: { description?: LocalizedText }):
88
88
  xw.startElement("Description").text(desc).endElement();
89
89
  }
90
90
  }
91
+ // what the working group filed the node under and where the specification defines it: nothing
92
+ // in the address space acts on either, but the document said them
93
+ function _dumpCategoryAndDocumentation(xw: XmlWriter, node: BaseNode): void {
94
+ for (const category of node.nodesetCategory ?? []) {
95
+ xw.startElement("Category").text(category).endElement();
96
+ }
97
+ if (node.nodesetDocumentation) {
98
+ xw.startElement("Documentation").text(node.nodesetDocumentation).endElement();
99
+ }
100
+ }
91
101
 
92
102
  function hasHigherPriorityThan(namespaceIndex1: number, namespaceIndex2: number, priorityTable: number[]) {
93
103
  const order1 = priorityTable[namespaceIndex1];
@@ -757,6 +767,7 @@ function _dumpRolePermissions(xw: XmlWriter, node: BaseNode) {
757
767
  function dumpCommonElements(xw: XmlWriter, node: BaseNode) {
758
768
  _dumpDisplayName(xw, node);
759
769
  _dumpDescription(xw, node);
770
+ _dumpCategoryAndDocumentation(xw, node);
760
771
  _dumpReferences(xw, node);
761
772
  _dumpRolePermissions(xw, node);
762
773
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "node-opcua-address-space",
3
3
  "type": "module",
4
- "version": "2.185.0",
4
+ "version": "2.186.0",
5
5
  "description": "pure nodejs OPCUA SDK - module address-space",
6
6
  "main": "./dist/api/index.js",
7
7
  "types": "./dist/api/index.d.ts",
@@ -23,7 +23,7 @@
23
23
  "@types/semver": "7.8.0",
24
24
  "chalk": "4.1.2",
25
25
  "dequeue": "^1.0.5",
26
- "node-opcua-address-space-base": "2.185.0",
26
+ "node-opcua-address-space-base": "2.186.0",
27
27
  "node-opcua-assert": "2.184.0",
28
28
  "node-opcua-basic-types": "2.185.0",
29
29
  "node-opcua-binary-stream": "2.184.1",
@@ -39,7 +39,7 @@
39
39
  "node-opcua-extension-object": "2.185.0",
40
40
  "node-opcua-factory": "2.185.0",
41
41
  "node-opcua-nodeid": "2.185.0",
42
- "node-opcua-nodeset-ua": "2.185.0",
42
+ "node-opcua-nodeset-ua": "2.186.0",
43
43
  "node-opcua-numeric-range": "2.185.0",
44
44
  "node-opcua-object-registry": "2.184.0",
45
45
  "node-opcua-pseudo-session": "2.185.0",
@@ -64,7 +64,7 @@
64
64
  "node-opcua-nodesets": "2.185.0",
65
65
  "node-opcua-packet-analyzer": "2.185.0",
66
66
  "node-opcua-schemas": "2.185.0",
67
- "node-opcua-service-filter": "2.185.0",
67
+ "node-opcua-service-filter": "2.186.0",
68
68
  "node-opcua-test-fixtures": "2.184.0",
69
69
  "node-opcua-test-helpers": "2.184.0"
70
70
  },
@@ -83,7 +83,7 @@
83
83
  "internet of things"
84
84
  ],
85
85
  "homepage": "http://node-opcua.github.io/",
86
- "gitHead": "7869fea1a598282415d32535dc5d5da1347f0ba7",
86
+ "gitHead": "f39357ba4864bc83f210b40c7257e92afb0fa0ea",
87
87
  "files": [
88
88
  "dist",
89
89
  "distHelpers",