node-opcua-convert-nodeset-to-javascript 2.117.0 → 2.119.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.
@@ -1,7 +1,7 @@
1
1
  import { AttributeIds, BrowseDirection, LocalizedText, NodeClass, NodeClassMask, QualifiedName } from "node-opcua-data-model";
2
2
  import { INodeId, NodeId, NodeIdType, resolveNodeId } from "node-opcua-nodeid";
3
3
  import { DataTypeIds } from "node-opcua-constants";
4
- import { IBasicSession } from "node-opcua-pseudo-session";
4
+ import { IBasicSessionBrowseAsyncSimple, IBasicSessionReadAsyncSimple } from "node-opcua-pseudo-session";
5
5
  import { BrowseResult, DataTypeDefinition, ReferenceDescription } from "node-opcua-types";
6
6
  import { ModellingRuleType } from "node-opcua-address-space-base";
7
7
  import { DataType } from "node-opcua-variant";
@@ -9,32 +9,32 @@ import { make_debugLog } from "node-opcua-debug";
9
9
 
10
10
  const debugLog = make_debugLog(__filename);
11
11
 
12
- export async function getDefinition(session: IBasicSession, nodeId: NodeId): Promise<DataTypeDefinition | null> {
12
+ export async function getDefinition(session: IBasicSessionReadAsyncSimple, nodeId: NodeId): Promise<DataTypeDefinition | null> {
13
13
  const dataValue = await session.read({ nodeId, attributeId: AttributeIds.DataTypeDefinition });
14
14
  return (dataValue.value.value as DataTypeDefinition) || null;
15
15
  }
16
- export async function getBrowseName(session: IBasicSession, nodeId: NodeId): Promise<QualifiedName> {
16
+ export async function getBrowseName(session: IBasicSessionReadAsyncSimple, nodeId: NodeId): Promise<QualifiedName> {
17
17
  const dataValue = await session.read({ nodeId, attributeId: AttributeIds.BrowseName });
18
18
  return dataValue.value.value as QualifiedName;
19
19
  }
20
- export async function getDataTypeNodeId(session: IBasicSession, nodeId: NodeId): Promise<NodeId | null> {
20
+ export async function getDataTypeNodeId(session: IBasicSessionReadAsyncSimple, nodeId: NodeId): Promise<NodeId | null> {
21
21
  const dataValue = await session.read({ nodeId, attributeId: AttributeIds.DataType });
22
22
  return (dataValue.value.value as NodeId) || null;
23
23
  }
24
- export async function getIsAbstract(session: IBasicSession, nodeId: NodeId): Promise<boolean> {
24
+ export async function getIsAbstract(session: IBasicSessionReadAsyncSimple, nodeId: NodeId): Promise<boolean> {
25
25
  const dataValue = await session.read({ nodeId, attributeId: AttributeIds.IsAbstract });
26
26
  return dataValue.value.value as boolean;
27
27
  }
28
- export async function getDescription(session: IBasicSession, nodeId: NodeId): Promise<LocalizedText> {
28
+ export async function getDescription(session: IBasicSessionReadAsyncSimple, nodeId: NodeId): Promise<LocalizedText> {
29
29
  const dataValue = await session.read({ nodeId, attributeId: AttributeIds.Description });
30
30
  return dataValue.value.value as LocalizedText;
31
31
  }
32
32
 
33
- export async function getNodeClass(session: IBasicSession, nodeId: NodeId): Promise<NodeClass> {
33
+ export async function getNodeClass(session: IBasicSessionReadAsyncSimple, nodeId: NodeId): Promise<NodeClass> {
34
34
  const dataValue = await session.read({ nodeId, attributeId: AttributeIds.NodeClass });
35
35
  return dataValue.value.value as NodeClass;
36
36
  }
37
- export async function getChildren(session: IBasicSession, nodeId: NodeId): Promise<ReferenceDescription[]> {
37
+ export async function getChildren(session: IBasicSessionBrowseAsyncSimple, nodeId: NodeId): Promise<ReferenceDescription[]> {
38
38
  const browseResult = await session.browse({
39
39
  browseDirection: BrowseDirection.Forward,
40
40
  includeSubtypes: true,
@@ -45,7 +45,7 @@ export async function getChildren(session: IBasicSession, nodeId: NodeId): Promi
45
45
  });
46
46
  return browseResult.references || [];
47
47
  }
48
- export async function getFolderElements(session: IBasicSession, nodeId: NodeId): Promise<ReferenceDescription[]> {
48
+ export async function getFolderElements(session: IBasicSessionBrowseAsyncSimple, nodeId: NodeId): Promise<ReferenceDescription[]> {
49
49
  const browseResult = await session.browse({
50
50
  browseDirection: BrowseDirection.Forward,
51
51
  includeSubtypes: true,
@@ -57,7 +57,7 @@ export async function getFolderElements(session: IBasicSession, nodeId: NodeId):
57
57
  return browseResult.references || [];
58
58
  }
59
59
 
60
- export async function getModellingRule(session: IBasicSession, nodeId: NodeId): Promise<ModellingRuleType | null> {
60
+ export async function getModellingRule(session: IBasicSessionBrowseAsyncSimple, nodeId: NodeId): Promise<ModellingRuleType | null> {
61
61
  const browseResult = await session.browse({
62
62
  browseDirection: BrowseDirection.Forward,
63
63
  includeSubtypes: true,
@@ -71,7 +71,7 @@ export async function getModellingRule(session: IBasicSession, nodeId: NodeId):
71
71
  }
72
72
  return browseResult.references[0].browseName.name! as ModellingRuleType;
73
73
  }
74
- export async function isExtensionObject(session: IBasicSession, nodeId: NodeId): Promise<boolean> {
74
+ export async function isExtensionObject(session: IBasicSessionBrowseAsyncSimple, nodeId: NodeId): Promise<boolean> {
75
75
  const n = nodeId as INodeId;
76
76
  if (n.namespace === 0 && n.identifierType === NodeIdType.NUMERIC && n.value === DataTypeIds.Structure) {
77
77
  return true;
@@ -83,7 +83,7 @@ export async function isExtensionObject(session: IBasicSession, nodeId: NodeId):
83
83
  return await isExtensionObject(session, r!.nodeId);
84
84
  }
85
85
 
86
- export async function isEnumeration(session: IBasicSession, nodeId: NodeId): Promise<boolean> {
86
+ export async function isEnumeration(session: IBasicSessionBrowseAsyncSimple, nodeId: NodeId): Promise<boolean> {
87
87
  const n = nodeId as INodeId;
88
88
  if (n.namespace === 0 && n.identifierType === NodeIdType.NUMERIC && n.value === DataTypeIds.Enumeration) {
89
89
  return true;
@@ -95,7 +95,7 @@ export async function isEnumeration(session: IBasicSession, nodeId: NodeId): Pro
95
95
  return await isEnumeration(session, r!.nodeId);
96
96
  }
97
97
 
98
- export async function extractBasicDataType(session: IBasicSession, dataTypeNodeId: NodeId): Promise<DataType> {
98
+ export async function extractBasicDataType(session: IBasicSessionBrowseAsyncSimple, dataTypeNodeId: NodeId): Promise<DataType> {
99
99
  const n = dataTypeNodeId as INodeId;
100
100
  if (n.namespace === 0 && n.identifierType === NodeIdType.NUMERIC && n.value <= DataTypeIds.DiagnosticInfo) {
101
101
  return dataTypeNodeId.value as DataType;
@@ -104,7 +104,7 @@ export async function extractBasicDataType(session: IBasicSession, dataTypeNodeI
104
104
  return await extractBasicDataType(session, r!.nodeId);
105
105
  }
106
106
 
107
- export async function getSubtypeNodeIdIfAny(session: IBasicSession, nodeId: NodeId): Promise<ReferenceDescription | null> {
107
+ export async function getSubtypeNodeIdIfAny(session: IBasicSessionBrowseAsyncSimple, nodeId: NodeId): Promise<ReferenceDescription | null> {
108
108
  if (nodeId.isEmpty()) {
109
109
  return null;
110
110
  }
@@ -121,7 +121,7 @@ export async function getSubtypeNodeIdIfAny(session: IBasicSession, nodeId: Node
121
121
  }
122
122
  return browseResult.references[0];
123
123
  }
124
- export async function getSubtypeNodeId(session: IBasicSession, nodeId: NodeId): Promise<ReferenceDescription> {
124
+ export async function getSubtypeNodeId(session: IBasicSessionBrowseAsyncSimple, nodeId: NodeId): Promise<ReferenceDescription> {
125
125
  const r = await getSubtypeNodeIdIfAny(session, nodeId);
126
126
  if (!r) {
127
127
  throw new Error("No Subtype");
@@ -129,7 +129,7 @@ export async function getSubtypeNodeId(session: IBasicSession, nodeId: NodeId):
129
129
  return r;
130
130
  }
131
131
 
132
- export async function getTypeDefOrBaseType(session: IBasicSession, nodeId: NodeId): Promise<ReferenceDescription> {
132
+ export async function getTypeDefOrBaseType(session: IBasicSessionBrowseAsyncSimple, nodeId: NodeId): Promise<ReferenceDescription> {
133
133
  let browseResult: BrowseResult = await session.browse({
134
134
  browseDirection: BrowseDirection.Forward,
135
135
  includeSubtypes: true,
@@ -154,7 +154,7 @@ export async function getTypeDefOrBaseType(session: IBasicSession, nodeId: NodeI
154
154
  }
155
155
  return browseResult.references[0];
156
156
  }
157
- export async function getTypeDefinition(session: IBasicSession, nodeId: NodeId): Promise<ReferenceDescription> {
157
+ export async function getTypeDefinition(session: IBasicSessionBrowseAsyncSimple, nodeId: NodeId): Promise<ReferenceDescription> {
158
158
  const browseResult = await session.browse({
159
159
  browseDirection: BrowseDirection.Forward,
160
160
  includeSubtypes: true,
@@ -170,7 +170,7 @@ export async function getTypeDefinition(session: IBasicSession, nodeId: NodeId):
170
170
  return browseResult.references[0];
171
171
  }
172
172
 
173
- async function readBrowseName(session: IBasicSession, nodeId: NodeId): Promise<QualifiedName> {
173
+ async function readBrowseName(session: IBasicSessionReadAsyncSimple, nodeId: NodeId): Promise<QualifiedName> {
174
174
  const nodeToRead = {
175
175
  attributeId: AttributeIds.BrowseName,
176
176
  nodeId
@@ -190,7 +190,10 @@ interface DataTypeInfo {
190
190
  enumerationType?: string;
191
191
  }
192
192
  // see also client-proxy
193
- export async function _convertNodeIdToDataTypeAsync(session: IBasicSession, dataTypeId: NodeId): Promise<DataTypeInfo> {
193
+ export async function _convertNodeIdToDataTypeAsync(
194
+ session: IBasicSessionReadAsyncSimple & IBasicSessionBrowseAsyncSimple,
195
+ dataTypeId: NodeId
196
+ ): Promise<DataTypeInfo> {
194
197
  const dataTypeName = await readBrowseName(session, dataTypeId);
195
198
 
196
199
  let dataType: DataType;
@@ -228,12 +231,15 @@ export async function _convertNodeIdToDataTypeAsync(session: IBasicSession, data
228
231
  return info;
229
232
  }
230
233
 
231
- export async function getChildrenOrFolderElements(session: IBasicSession, nodeId: NodeId): Promise<ReferenceDescription[]> {
234
+ export async function getChildrenOrFolderElements(
235
+ session: IBasicSessionBrowseAsyncSimple,
236
+ nodeId: NodeId
237
+ ): Promise<ReferenceDescription[]> {
232
238
  const c1 = await getChildren(session, nodeId);
233
239
  const c2 = await getFolderElements(session, nodeId);
234
240
  return (<ReferenceDescription[]>[]).concat(c1, c2);
235
241
  }
236
- export async function getValueRank(session: IBasicSession, nodeId: NodeId): Promise<number> {
242
+ export async function getValueRank(session: IBasicSessionReadAsyncSimple, nodeId: NodeId): Promise<number> {
237
243
  const valueRankDataValue = await session.read({ nodeId, attributeId: AttributeIds.ValueRank });
238
244
  return valueRankDataValue.value.value;
239
245
  }
@@ -3,7 +3,7 @@
3
3
 
4
4
  import { existsSync, promises as fsPromises } from 'fs';
5
5
  const { readFile, writeFile } = fsPromises;
6
- import * as path from 'path';
6
+ import path from 'path';
7
7
  // Uncomment the following to get __dirname equivalent when compiling to ESM
8
8
  //import { fileURLToPath } from 'url';
9
9
  //const __dirname = path.dirname(fileURLToPath(import.meta.url));
@@ -1,6 +1,6 @@
1
1
  import { AttributeIds, BrowseDirection, NodeClass, QualifiedName } from "node-opcua-data-model";
2
2
  import { ExpandedNodeId, NodeId, resolveNodeId } from "node-opcua-nodeid";
3
- import { IBasicSession } from "node-opcua-pseudo-session";
3
+ import { IBasicSessionAsync } from "node-opcua-pseudo-session";
4
4
  import { ReferenceDescription } from "node-opcua-types";
5
5
 
6
6
  export interface ReferenceDescriptionEx extends ReferenceDescription {
@@ -10,7 +10,7 @@ export interface NodeVisitor {
10
10
  visit(reference: ReferenceDescriptionEx, level: number): Promise<void>;
11
11
  }
12
12
  async function _walkThroughTypes(
13
- session: IBasicSession,
13
+ session: IBasicSessionAsync,
14
14
  nodeId: NodeId,
15
15
  visitor?: NodeVisitor,
16
16
  level?: number,
@@ -51,24 +51,24 @@ async function _walkThroughTypes(
51
51
  }
52
52
  }
53
53
 
54
- export async function walkThroughReferenceTypes(session: IBasicSession, nodeVisitor?: NodeVisitor): Promise<void> {
54
+ export async function walkThroughReferenceTypes(session: IBasicSessionAsync, nodeVisitor?: NodeVisitor): Promise<void> {
55
55
  const baseReferenceTypeNodeId = resolveNodeId("References");
56
56
  await _walkThroughTypes(session, baseReferenceTypeNodeId, nodeVisitor);
57
57
  }
58
- export async function walkThroughDataTypes(session: IBasicSession, nodeVisitor?: NodeVisitor): Promise<void> {
58
+ export async function walkThroughDataTypes(session: IBasicSessionAsync, nodeVisitor?: NodeVisitor): Promise<void> {
59
59
  const baseDataTypeTypeNodeId = resolveNodeId("BaseDataType");
60
60
  await _walkThroughTypes(session, baseDataTypeTypeNodeId, nodeVisitor);
61
61
  }
62
62
 
63
- export async function walkThroughInterfaceTypes(session: IBasicSession, nodeVisitor?: NodeVisitor): Promise<void> {
63
+ export async function walkThroughInterfaceTypes(session: IBasicSessionAsync, nodeVisitor?: NodeVisitor): Promise<void> {
64
64
  const baseInterfaceTypeNodeId = resolveNodeId("BaseInterfaceType");
65
65
  await _walkThroughTypes(session, baseInterfaceTypeNodeId, nodeVisitor);
66
66
  }
67
- export async function walkThroughObjectTypes(session: IBasicSession, nodeVisitor?: NodeVisitor): Promise<void> {
67
+ export async function walkThroughObjectTypes(session: IBasicSessionAsync, nodeVisitor?: NodeVisitor): Promise<void> {
68
68
  const baseObjectTypeNodeId = resolveNodeId("BaseObjectType");
69
69
  await _walkThroughTypes(session, baseObjectTypeNodeId, nodeVisitor);
70
70
  }
71
- export async function walkThroughVariableTypes(session: IBasicSession, nodeVisitor?: NodeVisitor): Promise<void> {
71
+ export async function walkThroughVariableTypes(session: IBasicSessionAsync, nodeVisitor?: NodeVisitor): Promise<void> {
72
72
  const baseObjectTypeNodeId = resolveNodeId("BaseVariableType");
73
73
  await _walkThroughTypes(session, baseObjectTypeNodeId, nodeVisitor);
74
74
  }