node-opcua-address-space 2.59.0 → 2.60.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.
Files changed (61) hide show
  1. package/dist/source/address_space_ts.d.ts +0 -2
  2. package/dist/source/helpers/argument_list.js +12 -1
  3. package/dist/source/helpers/argument_list.js.map +1 -1
  4. package/dist/source/loader/load_nodeset2.js +47 -64
  5. package/dist/source/loader/load_nodeset2.js.map +1 -1
  6. package/dist/source/set_namespace_meta_data.js +1 -1
  7. package/dist/src/address_space.js +8 -5
  8. package/dist/src/address_space.js.map +1 -1
  9. package/dist/src/alarms_and_conditions/condition_snapshot.js +3 -3
  10. package/dist/src/alarms_and_conditions/condition_snapshot.js.map +1 -1
  11. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +1 -1
  12. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  13. package/dist/src/alarms_and_conditions/ua_condition_impl.js +8 -6
  14. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  15. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +1 -1
  16. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
  17. package/dist/src/base_node_private.js +2 -2
  18. package/dist/src/base_node_private.js.map +1 -1
  19. package/dist/src/event_data.js +1 -1
  20. package/dist/src/event_data.js.map +1 -1
  21. package/dist/src/namespace_impl.js +5 -5
  22. package/dist/src/namespace_impl.js.map +1 -1
  23. package/dist/src/nodeset_tools/nodeset_to_xml.js +15 -9
  24. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +1 -1
  25. package/dist/src/nodeset_tools/typedictionary_to_xml.js +17 -10
  26. package/dist/src/nodeset_tools/typedictionary_to_xml.js.map +1 -1
  27. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +20 -13
  28. package/dist/src/state_machine/ua_shelving_state_machine_ex.js.map +1 -1
  29. package/dist/src/ua_data_type_impl.d.ts +15 -5
  30. package/dist/src/ua_data_type_impl.js +129 -51
  31. package/dist/src/ua_data_type_impl.js.map +1 -1
  32. package/dist/src/ua_variable_impl.d.ts +6 -6
  33. package/dist/src/ua_variable_impl.js +236 -188
  34. package/dist/src/ua_variable_impl.js.map +1 -1
  35. package/dist/src/ua_variable_type_impl.d.ts +3 -4
  36. package/dist/src/ua_variable_type_impl.js +13 -18
  37. package/dist/src/ua_variable_type_impl.js.map +1 -1
  38. package/distHelpers/mock_session.js +1 -1
  39. package/distHelpers/mock_session.js.map +1 -1
  40. package/package.json +35 -35
  41. package/source/address_space_ts.ts +0 -1
  42. package/source/helpers/argument_list.ts +13 -3
  43. package/source/loader/load_nodeset2.ts +64 -80
  44. package/source/set_namespace_meta_data.ts +1 -1
  45. package/src/address_space.ts +15 -9
  46. package/src/alarms_and_conditions/condition_snapshot.ts +4 -4
  47. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +2 -2
  48. package/src/alarms_and_conditions/ua_condition_impl.ts +18 -8
  49. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +1 -1
  50. package/src/base_node_private.ts +6 -2
  51. package/src/event_data.ts +1 -1
  52. package/src/namespace_impl.ts +6 -6
  53. package/src/nodeset_tools/nodeset_to_xml.ts +20 -10
  54. package/src/nodeset_tools/typedictionary_to_xml.ts +17 -7
  55. package/src/state_machine/ua_shelving_state_machine_ex.ts +28 -16
  56. package/src/ua_data_type_impl.ts +168 -61
  57. package/src/ua_variable_impl.ts +290 -218
  58. package/src/ua_variable_type_impl.ts +9 -15
  59. package/test_helpers/mock_session.ts +1 -1
  60. package/test_helpers/test_fixtures/fixture_simple_statemachine_nodeset2.xml +9 -0
  61. package/test_helpers/test_fixtures/mini.Node.Set2.xml +14 -0
@@ -14,6 +14,7 @@ const node_opcua_numeric_range_1 = require("node-opcua-numeric-range");
14
14
  const node_opcua_status_code_1 = require("node-opcua-status-code");
15
15
  const node_opcua_types_1 = require("node-opcua-types");
16
16
  const node_opcua_variant_1 = require("node-opcua-variant");
17
+ const node_opcua_constants_1 = require("node-opcua-constants");
17
18
  const session_context_1 = require("../source/session_context");
18
19
  const base_node_impl_1 = require("./base_node_impl");
19
20
  const base_node_private_1 = require("./base_node_private");
@@ -21,21 +22,16 @@ const tools = require("./tool_isSupertypeOf");
21
22
  const tool_isSupertypeOf_1 = require("./tool_isSupertypeOf");
22
23
  const tool_isSupertypeOf_2 = require("./tool_isSupertypeOf");
23
24
  const base_node_private_2 = require("./base_node_private");
24
- function findBasicDataType(dataType) {
25
- if (dataType.nodeId.namespace === 0 && dataType.nodeId.value <= 25) {
26
- // we have a well-known DataType
27
- return dataType.nodeId.value;
28
- }
29
- return findBasicDataType(dataType.subtypeOfObj);
30
- }
31
25
  class UADataTypeImpl extends base_node_impl_1.BaseNodeImpl {
32
26
  constructor(options) {
33
27
  super(options);
34
28
  this.nodeClass = node_opcua_data_model_1.NodeClass.DataType;
35
29
  this.definitionName = "";
36
30
  this.isSupertypeOf = tools.construct_isSupertypeOf(UADataTypeImpl);
37
- this.$definition = options.$definition;
38
- this.isAbstract = options.isAbstract === null ? false : options.isAbstract;
31
+ if (options.partialDefinition) {
32
+ this.$partialDefinition = options.partialDefinition;
33
+ }
34
+ this.isAbstract = options.isAbstract === undefined || options.isAbstract === null ? false : options.isAbstract;
39
35
  this.symbolicName = options.symbolicName || this.browseName.name;
40
36
  }
41
37
  /**
@@ -56,9 +52,13 @@ class UADataTypeImpl extends base_node_impl_1.BaseNodeImpl {
56
52
  return tool_isSupertypeOf_2.get_subtypeOfObj.call(this);
57
53
  }
58
54
  get basicDataType() {
59
- return findBasicDataType(this);
55
+ return this.getBasicDataType();
56
+ }
57
+ getBasicDataType() {
58
+ return this.addressSpace.findCorrespondingBasicDataType(this);
60
59
  }
61
60
  readAttribute(context, attributeId, indexRange, dataEncoding) {
61
+ var _a;
62
62
  (0, node_opcua_assert_1.assert)(!context || context instanceof session_context_1.SessionContext);
63
63
  const options = {};
64
64
  switch (attributeId) {
@@ -68,7 +68,7 @@ class UADataTypeImpl extends base_node_impl_1.BaseNodeImpl {
68
68
  break;
69
69
  case node_opcua_data_model_2.AttributeIds.DataTypeDefinition:
70
70
  {
71
- const _definition = this._getDefinition(true);
71
+ const _definition = (_a = this._getDefinition()) === null || _a === void 0 ? void 0 : _a.clone();
72
72
  if (_definition !== null) {
73
73
  options.value = { dataType: node_opcua_variant_1.DataType.ExtensionObject, value: _definition };
74
74
  }
@@ -193,55 +193,82 @@ class UADataTypeImpl extends base_node_impl_1.BaseNodeImpl {
193
193
  }
194
194
  return indexes;
195
195
  }
196
- _getDefinition(mergeWithBase) {
197
- var _a, _b;
196
+ isStructure() {
197
+ const definition = this._getDefinition();
198
+ return definition instanceof node_opcua_types_1.StructureDefinition;
199
+ }
200
+ getStructureDefinition() {
201
+ const definition = this._getDefinition();
202
+ (0, node_opcua_assert_1.assert)(definition instanceof node_opcua_types_1.StructureDefinition);
203
+ return definition;
204
+ }
205
+ isEnumeration() {
206
+ const definition = this._getDefinition();
207
+ return definition instanceof node_opcua_types_1.EnumDefinition;
208
+ }
209
+ getEnumDefinition() {
210
+ const definition = this._getDefinition();
211
+ (0, node_opcua_assert_1.assert)(definition instanceof node_opcua_types_1.EnumDefinition);
212
+ return definition;
213
+ }
214
+ // eslint-disable-next-line complexity
215
+ _getDefinition() {
216
+ var _a;
198
217
  if (this.$fullDefinition !== undefined) {
199
- return mergeWithBase ? this.$fullDefinition : this.$definition;
218
+ return this.$fullDefinition;
200
219
  }
201
- if (!this.$definition) {
202
- const structure = this.addressSpace.findDataType("Structure");
203
- if (!structure) {
204
- return null;
220
+ const addressSpace = this.addressSpace;
221
+ const enumeration = addressSpace.findDataType("Enumeration");
222
+ const structure = addressSpace.findDataType("Structure");
223
+ const union = addressSpace.findDataType("Union");
224
+ // we have a data type from a companion specification
225
+ // let's see if this data type need to be registered
226
+ const isEnumeration = enumeration && this.isSupertypeOf(enumeration);
227
+ const isStructure = structure && this.isSupertypeOf(structure);
228
+ const isUnion = !!(structure && union && this.isSupertypeOf(union));
229
+ const isRootDataType = (n) => n.nodeId.namespace === 0 && n.nodeId.value === node_opcua_constants_1.DataTypeIds.BaseDataType;
230
+ // https://reference.opcfoundation.org/v104/Core/docs/Part3/8.49/#Table34
231
+ if (isStructure) {
232
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
233
+ let dataTypeNode = this;
234
+ const allPartialDefinitions = [];
235
+ while (dataTypeNode && !isRootDataType(dataTypeNode)) {
236
+ if (dataTypeNode.$partialDefinition) {
237
+ allPartialDefinitions.push(dataTypeNode.$partialDefinition);
238
+ }
239
+ dataTypeNode = dataTypeNode.subtypeOfObj;
205
240
  }
206
- if (this.isSupertypeOf(structure)) {
207
- // <Definition> tag was missing in XML file as it was empty
208
- this.$definition = new node_opcua_types_1.StructureDefinition({});
241
+ // merge them:
242
+ const definitionFields = [];
243
+ for (const dd of allPartialDefinitions.reverse()) {
244
+ definitionFields.push(...dd);
209
245
  }
246
+ const basicDataType = ((_a = this.subtypeOfObj) === null || _a === void 0 ? void 0 : _a.nodeId) || new node_opcua_nodeid_1.NodeId();
247
+ const defaultEncodingId = this.binaryEncodingNodeId || this.xmlEncodingNodeId || new node_opcua_nodeid_1.NodeId();
248
+ const definitionName = this.browseName.name;
249
+ this.$fullDefinition = makeStructureDefinition(definitionName, basicDataType, defaultEncodingId, definitionFields, isUnion);
210
250
  }
211
- // https://reference.opcfoundation.org/v104/Core/docs/Part3/8.49/#Table34
212
- // The list of fields that make up the data type.
213
- // This definition assumes the structure has a sequential layout.
214
- // The StructureField DataType is defined in 8.51.
215
- // For Structures derived from another Structure DataType this list shall begin with the fields
216
- // of the baseDataType followed by the fields of this StructureDefinition.
217
- // from OPC Unified Architecture, Part 6 86 Release 1.04
218
- // A DataTypeDefinition defines an abstract representation of _a UADataType that can be used by
219
- // design tools to automatically create serialization code. The fields in the DataTypeDefinition type
220
- // are defined in Table F.12.
221
- const _definition = this.$definition || null;
222
- if (_definition && _definition instanceof node_opcua_types_1.StructureDefinition && this.binaryEncodingNodeId) {
223
- _definition.defaultEncodingId = this.binaryEncodingNodeId;
224
- const subtype = this.subtypeOf;
225
- if (subtype) {
226
- _definition.baseDataType = subtype;
251
+ else if (isEnumeration) {
252
+ const allPartialDefinitions = [];
253
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
254
+ let dataTypeNode = this;
255
+ while (dataTypeNode && !isRootDataType(dataTypeNode)) {
256
+ if (dataTypeNode.$partialDefinition) {
257
+ allPartialDefinitions.push(dataTypeNode.$partialDefinition);
258
+ }
259
+ dataTypeNode = dataTypeNode.subtypeOfObj;
227
260
  }
228
- }
229
- this.$fullDefinition = (_a = this.$definition) === null || _a === void 0 ? void 0 : _a.clone();
230
- let _baseDefinition = null;
231
- if (this.subtypeOfObj) {
232
- _baseDefinition = this.subtypeOfObj._getDefinition(mergeWithBase);
233
- }
234
- if (this.$fullDefinition && this.$definition instanceof node_opcua_types_1.StructureDefinition && _baseDefinition) {
235
- const b = _baseDefinition;
236
- if ((_b = b.fields) === null || _b === void 0 ? void 0 : _b.length) {
237
- const f = this.$fullDefinition;
238
- f.fields = [].concat(b.fields, f.fields);
261
+ // merge them:
262
+ const definitionFields = [];
263
+ for (const dd of allPartialDefinitions.reverse()) {
264
+ definitionFields.push(...dd);
239
265
  }
266
+ this.$fullDefinition = makeEnumDefinition(definitionFields);
240
267
  }
241
- return mergeWithBase ? this.$fullDefinition || null : this.$definition || null;
268
+ return this.$fullDefinition;
242
269
  }
243
270
  getDefinition() {
244
- const d = this._getDefinition(true);
271
+ const d = this._getDefinition();
245
272
  if (!d) {
246
273
  throw new Error("DataType has no definition property");
247
274
  }
@@ -258,7 +285,7 @@ class UADataTypeImpl extends base_node_impl_1.BaseNodeImpl {
258
285
  }
259
286
  exports.UADataTypeImpl = UADataTypeImpl;
260
287
  function dataTypeDefinition_toString(options) {
261
- const definition = this._getDefinition(false);
288
+ const definition = this._getDefinition();
262
289
  if (!definition) {
263
290
  return;
264
291
  }
@@ -288,4 +315,55 @@ function DataType_toString(options) {
288
315
  dataTypeDefinition_toString.call(this, options);
289
316
  }
290
317
  exports.DataType_toString = DataType_toString;
318
+ function makeEnumDefinition(definitionFields) {
319
+ return new node_opcua_types_1.EnumDefinition({
320
+ fields: definitionFields.map((x) => ({
321
+ description: x.description,
322
+ name: x.name,
323
+ value: x.value
324
+ }))
325
+ });
326
+ }
327
+ function makeStructureDefinition(name, baseDataType, defaultEncodingId, fields, isUnion) {
328
+ // Structure = 0,
329
+ // StructureWithOptionalFields = 1,
330
+ // Union = 2,
331
+ const hasOptionalFields = fields.filter((field) => field.isOptional).length > 0;
332
+ const structureType = isUnion
333
+ ? node_opcua_types_1.StructureType.Union
334
+ : hasOptionalFields
335
+ ? node_opcua_types_1.StructureType.StructureWithOptionalFields
336
+ : node_opcua_types_1.StructureType.Structure;
337
+ const sd = new node_opcua_types_1.StructureDefinition({
338
+ baseDataType,
339
+ defaultEncodingId,
340
+ fields,
341
+ structureType
342
+ });
343
+ return sd;
344
+ }
345
+ /*
346
+ function lockReadOnlyWithWriteDetection<T>(obj: T): T {
347
+ if (obj instanceof Array) {
348
+ return obj.map(lockReadOnlyWithWriteDetection) as unknown as T;
349
+ }
350
+ if (obj instanceof Object) {
351
+ const _org = obj;
352
+ for (const [key, value] of Object.entries(obj)) {
353
+ lockReadOnlyWithWriteDetection(value);
354
+ }
355
+ obj = new Proxy(obj, {
356
+ get: (target: any, prop: string) => {
357
+ return target[prop];
358
+ },
359
+ set: (target: any, prop: string | symbol, value: any, receiver: any) => {
360
+ console.log("QQQQQ Cannot modify stuff ");
361
+ debugger;
362
+ throw new Error("Invalid");
363
+ }
364
+ });
365
+ }
366
+ return obj;
367
+ }
368
+ */
291
369
  //# sourceMappingURL=ua_data_type_impl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ua_data_type_impl.js","sourceRoot":"","sources":["../../src/ua_data_type_impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ua_data_type_impl.js","sourceRoot":"","sources":["../../src/ua_data_type_impl.ts"],"names":[],"mappings":"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"}
@@ -26,10 +26,6 @@ interface UAVariableOptions extends InternalBaseNodeOptions {
26
26
  minimumSamplingInterval?: number;
27
27
  historizing?: number;
28
28
  }
29
- export declare function verifyRankAndDimensions(options: {
30
- valueRank?: number;
31
- arrayDimensions?: number[] | null;
32
- }): void;
33
29
  declare type TimestampGetFunction1 = () => DataValue | Promise<DataValue>;
34
30
  declare type TimestampGetFunction2 = (callback: (err: Error | null, dataValue?: DataValue) => void) => void;
35
31
  declare type TimestampGetFunction = TimestampGetFunction1 | TimestampGetFunction2;
@@ -65,13 +61,14 @@ declare type TimestampSetFunction = TimestampSetFunction1 | TimestampSetFunction
65
61
  export declare class UAVariableImpl extends BaseNodeImpl implements UAVariable {
66
62
  readonly nodeClass = NodeClass.Variable;
67
63
  dataType: NodeId;
64
+ private _basicDataType?;
68
65
  $extensionObject?: any;
69
66
  $historicalDataConfiguration?: UAHistoricalDataConfiguration;
70
67
  varHistorian?: IVariableHistorian;
71
68
  /**
72
- * @internal
69
+ * @internal @private
73
70
  */
74
- _dataValue: DataValue;
71
+ $dataValue: DataValue;
75
72
  accessLevel: number;
76
73
  userAccessLevel?: number;
77
74
  valueRank: number;
@@ -129,7 +126,9 @@ export declare class UAVariableImpl extends BaseNodeImpl implements UAVariable {
129
126
  readEnumValue(): IEnumItem;
130
127
  writeEnumValue(value: string | number): void;
131
128
  readAttribute(context: ISessionContext | null, attributeId: AttributeIds, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValue;
129
+ getBasicDataType(): DataType;
132
130
  adjustVariant(variant: Variant): Variant;
131
+ verifyVariantCompatibility(variant: Variant): void;
133
132
  /**
134
133
  * setValueFromSource is used to let the device sets the variable values
135
134
  * this method also records the current time as sourceTimestamp and serverTimestamp.
@@ -319,6 +318,7 @@ export declare class UAVariableImpl extends BaseNodeImpl implements UAVariable {
319
318
  _update_startOfOnlineArchive(newDate: Date): void;
320
319
  _update_startOfArchive(newDate: Date): void;
321
320
  _validate_DataType(variantDataType: DataType): boolean;
321
+ _internal_set_value(value: Variant): void;
322
322
  _internal_set_dataValue(dataValue: DataValue, indexRange?: NumericRange | null): void;
323
323
  _conditionRefresh(_cache?: ConditionRefreshCache): void;
324
324
  handle_semantic_changed(): void;