node-opcua-address-space 2.90.0 → 2.90.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.
Files changed (58) hide show
  1. package/dist/source/address_space_ts.d.ts +3 -3
  2. package/dist/source/address_space_ts.js +3 -3
  3. package/dist/source/address_space_ts.js.map +1 -1
  4. package/dist/source/helpers/call_helpers.d.ts +1 -1
  5. package/dist/source/helpers/multiform_func.d.ts +8 -8
  6. package/dist/source/interfaces/alarms_and_conditions/ua_condition_ex.d.ts +1 -1
  7. package/dist/source/interfaces/extension_object_constructor.d.ts +1 -1
  8. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +2 -2
  9. package/dist/source/loader/generateAddressSpaceRaw.d.ts +2 -2
  10. package/dist/source/loader/load_nodeset2.js +5 -5
  11. package/dist/source/loader/load_nodeset2.js.map +1 -1
  12. package/dist/source/loader/make_xml_extension_object_parser.d.ts +1 -1
  13. package/dist/source/loader/namespace_post_step.d.ts +1 -1
  14. package/dist/source/session_context.d.ts +1 -1
  15. package/dist/src/address_space.js +11 -11
  16. package/dist/src/address_space.js.map +1 -1
  17. package/dist/src/apply_condition_refresh.d.ts +1 -1
  18. package/dist/src/base_node_impl.js +44 -44
  19. package/dist/src/base_node_impl.js.map +1 -1
  20. package/dist/src/check_value_rank_compatibility.d.ts +15 -0
  21. package/dist/src/check_value_rank_compatibility.js +82 -0
  22. package/dist/src/check_value_rank_compatibility.js.map +1 -0
  23. package/dist/src/event_data.d.ts +2 -2
  24. package/dist/src/namespace_impl.js +0 -2
  25. package/dist/src/namespace_impl.js.map +1 -1
  26. package/dist/src/nodeid_manager.d.ts +3 -3
  27. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +1 -1
  28. package/dist/src/reference_impl.js +6 -6
  29. package/dist/src/reference_impl.js.map +1 -1
  30. package/dist/src/tool_isSupertypeOf.d.ts +4 -4
  31. package/dist/src/ua_data_type_impl.js +12 -12
  32. package/dist/src/ua_data_type_impl.js.map +1 -1
  33. package/dist/src/ua_method_impl.js +6 -6
  34. package/dist/src/ua_method_impl.js.map +1 -1
  35. package/dist/src/ua_object_impl.js +7 -7
  36. package/dist/src/ua_object_impl.js.map +1 -1
  37. package/dist/src/ua_object_type_impl.js +6 -6
  38. package/dist/src/ua_object_type_impl.js.map +1 -1
  39. package/dist/src/ua_reference_type_impl.js +6 -6
  40. package/dist/src/ua_reference_type_impl.js.map +1 -1
  41. package/dist/src/ua_variable_impl.d.ts +12 -0
  42. package/dist/src/ua_variable_impl.js +29 -14
  43. package/dist/src/ua_variable_impl.js.map +1 -1
  44. package/dist/src/ua_variable_impl_ext_obj.js +19 -10
  45. package/dist/src/ua_variable_impl_ext_obj.js.map +1 -1
  46. package/dist/src/ua_variable_type_impl.d.ts +11 -1
  47. package/dist/src/ua_variable_type_impl.js +12 -6
  48. package/dist/src/ua_variable_type_impl.js.map +1 -1
  49. package/dist/src/ua_view_impl.js +3 -3
  50. package/dist/src/ua_view_impl.js.map +1 -1
  51. package/package.json +34 -34
  52. package/source/loader/load_nodeset2.ts +11 -10
  53. package/src/check_value_rank_compatibility.ts +79 -0
  54. package/src/namespace_impl.ts +0 -4
  55. package/src/ua_variable_impl.ts +31 -4
  56. package/src/ua_variable_impl_ext_obj.ts +25 -12
  57. package/src/ua_variable_type_impl.ts +20 -1
  58. package/test_helpers/test_fixtures/eurange_issue.xml +3 -2
@@ -14,7 +14,17 @@ interface InstantiateS {
14
14
  }
15
15
  export declare function topMostParentIsObjectTypeOrVariableType(addressSpace: AddressSpacePrivate, options: InstantiateS): boolean;
16
16
  export interface UAVariableTypeOptions extends InternalBaseNodeOptions {
17
- /** */
17
+ /**
18
+ * This attribute indicates whether the Value attribute of the Variableis an array and how many dimensions the array has.
19
+ * It may have the following values:
20
+ * * n > 1: the Value is an array with the specified number of dimensions.
21
+ * * OneDimension (1): The value is an array with one dimension.
22
+ * * OneOrMoreDimensions (0): The value is an array with one or more dimensions.
23
+ * * Scalar (−1): The value is not an array.
24
+ * * Any (−2): The value can be a scalar or an array with any number of dimensions.
25
+ * * ScalarOrOneDimension (−3): The value can be a scalar or a one dimensional array.
26
+ * * All DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.
27
+ */
18
28
  valueRank?: number;
19
29
  arrayDimensions?: number[] | null;
20
30
  historizing?: boolean;
@@ -23,6 +23,7 @@ const base_node_private_1 = require("./base_node_private");
23
23
  const tools = require("./tool_isSupertypeOf");
24
24
  const tool_isSupertypeOf_1 = require("./tool_isSupertypeOf");
25
25
  const tool_isSupertypeOf_2 = require("./tool_isSupertypeOf");
26
+ const check_value_rank_compatibility_1 = require("./check_value_rank_compatibility");
26
27
  const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
27
28
  const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
28
29
  const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
@@ -58,6 +59,12 @@ function topMostParentIsObjectTypeOrVariableType(addressSpace, options) {
58
59
  }
59
60
  exports.topMostParentIsObjectTypeOrVariableType = topMostParentIsObjectTypeOrVariableType;
60
61
  class UAVariableTypeImpl extends base_node_impl_1.BaseNodeImpl {
62
+ get subtypeOf() {
63
+ return tool_isSupertypeOf_2.get_subtypeOf.call(this);
64
+ }
65
+ get subtypeOfObj() {
66
+ return tool_isSupertypeOf_1.get_subtypeOfObj.call(this);
67
+ }
61
68
  constructor(options) {
62
69
  super(options);
63
70
  this.nodeClass = node_opcua_data_model_1.NodeClass.VariableType;
@@ -74,12 +81,6 @@ class UAVariableTypeImpl extends base_node_impl_1.BaseNodeImpl {
74
81
  this.value = new node_opcua_variant_1.Variant(options.value);
75
82
  }
76
83
  }
77
- get subtypeOf() {
78
- return tool_isSupertypeOf_2.get_subtypeOf.call(this);
79
- }
80
- get subtypeOfObj() {
81
- return tool_isSupertypeOf_1.get_subtypeOfObj.call(this);
82
- }
83
84
  readAttribute(context, attributeId) {
84
85
  (0, node_opcua_assert_1.assert)(!context || context instanceof session_context_1.SessionContext);
85
86
  const options = {};
@@ -160,6 +161,11 @@ class UAVariableTypeImpl extends base_node_impl_1.BaseNodeImpl {
160
161
  dataType = this.resolveNodeId(dataType); // DataType (NodeId)
161
162
  (0, node_opcua_assert_1.assert)(dataType instanceof node_opcua_nodeid_1.NodeId);
162
163
  const valueRank = options.valueRank !== undefined ? options.valueRank : this.valueRank;
164
+ const { result, errorMessage } = (0, check_value_rank_compatibility_1.checkValueRankCompatibility)(valueRank, this.valueRank);
165
+ if (!result) {
166
+ errorLog(errorMessage);
167
+ throw new Error(errorMessage);
168
+ }
163
169
  const arrayDimensions = options.arrayDimensions !== undefined ? options.arrayDimensions : this.arrayDimensions;
164
170
  // istanbul ignore next
165
171
  if (!dataType || dataType.isEmpty()) {
@@ -1 +1 @@
1
- {"version":3,"file":"ua_variable_type_impl.js","sourceRoot":"","sources":["../../src/ua_variable_type_impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ua_variable_type_impl.js","sourceRoot":"","sources":["../../src/ua_variable_type_impl.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,sCAAsC;AACtC,4BAA4B;AAC5B,+BAA+B;AAE/B,yDAA2C;AAgB3C,+DAAwD;AACxD,iEAAqH;AACrH,iEAAiE;AACjE,uDAAiG;AACjG,yDAA6F;AAC7F,mEAAiE;AAEjE,uDAAqD;AACrD,2DAAkG;AAElG,+DAA2D;AAC3D,6EAAqF;AAGrF,qDAAyE;AACzE,2DAA2G;AAC3G,8CAA8C;AAC9C,6DAAwD;AACxD,6DAAqD;AACrD,qFAA+E;AAE/E,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,UAAU,CAAC,CAAC;AAC/C,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAE3C,wCAAwC;AACxC,IAAI,OAAO,GAAG,IAAA,iCAAc,EAAC,aAAa,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC;AAQ1B,SAAgB,uCAAuC,CAAC,YAAiC,EAAE,OAAqB;;IAC5G,IAAI,OAAO,CAAC,aAAa,EAAE;QACvB,OAAO,IAAI,CAAC;KACf;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;IACzD,IAAI,CAAC,MAAM,EAAE;QACT,OAAO,KAAK,CAAC;KAChB;IACD,MAAM,UAAU,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,EAAE;QACb,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,WAAW,GAAoB,UAAU,CAAC;IAC9C,OAAO,WAAW,EAAE;QAChB,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACvC,IAAI,SAAS,KAAK,iCAAS,CAAC,UAAU,IAAI,SAAS,KAAK,iCAAS,CAAC,YAAY,EAAE;YAC5E,OAAO,IAAI,CAAC;SACf;QACD,IAAI,SAAS,KAAK,iCAAS,CAAC,MAAM,IAAI,SAAS,KAAK,iCAAS,CAAC,QAAQ,IAAI,SAAS,KAAK,iCAAS,CAAC,MAAM,EAAE;YACtG,MAAM;SACT;QACD,WAAW,GAAG,MAAA,WAAW,CAAC,gBAAgB,CAAC,UAAU,EAAE,uCAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,0CAAE,IAAgB,CAAC;KACxG;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AA1BD,0FA0BC;AAoBD,MAAa,kBAAmB,SAAQ,6BAAY;IAGhD,IAAW,SAAS;QAChB,OAAO,kCAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,qCAAgB,CAAC,IAAI,CAAC,IAAI,CAAmB,CAAC;IACzD,CAAC;IAYD,YAAY,OAA8B;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;QArBH,cAAS,GAAG,iCAAS,CAAC,YAAY,CAAC;QAU5C,kBAAa,GAAG,KAAK,CAAC,uBAAuB,CAAiB,kBAAkB,CAAC,CAAC;QAarF,IAAA,4CAAuB,EAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;QAEvD,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;QAEjC,IAAI,CAAC,WAAW,GAAG,IAAA,oCAAiB,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,OAAO,CAAC,WAAuB,CAAC;QACrG,IAAI,CAAC,UAAU,GAAG,IAAA,oCAAiB,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,OAAO,CAAC,UAAsB,CAAC;QAElG,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,8DAA8D;QAE1F,IAAI,CAAC,QAAQ,GAAG,IAAA,gCAAY,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB;QAEpE,IAAI,OAAO,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,4BAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC3C;IACL,CAAC;IAEM,aAAa,CAAC,OAA8B,EAAE,WAAyB;QAC1E,IAAA,0BAAM,EAAC,CAAC,OAAO,IAAI,OAAO,YAAY,gCAAc,CAAC,CAAC;QAEtD,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,QAAQ,WAAW,EAAE;YACjB,KAAK,oCAAY,CAAC,UAAU;gBACxB,OAAO,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,6BAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBACtF,OAAO,CAAC,UAAU,GAAG,oCAAW,CAAC,IAAI,CAAC;gBACtC,MAAM;YACV,KAAK,oCAAY,CAAC,KAAK;gBACnB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;oBACjF,IAAA,0BAAM,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;oBAC7C,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC3B,OAAO,CAAC,UAAU,GAAG,oCAAW,CAAC,IAAI,CAAC;iBACzC;qBAAM;oBACH,QAAQ,CAAC,gCAAgC,CAAC,CAAC;oBAC3C,OAAO,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,6BAAQ,CAAC,IAAI,EAAE,CAAC;oBAC5C,OAAO,CAAC,UAAU,GAAG,oCAAW,CAAC,qBAAqB,CAAC;iBAC1D;gBACD,MAAM;YACV,KAAK,oCAAY,CAAC,QAAQ;gBACtB,IAAA,0BAAM,EAAC,IAAI,CAAC,QAAQ,YAAY,0BAAM,CAAC,CAAC;gBACxC,OAAO,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,6BAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpE,OAAO,CAAC,UAAU,GAAG,oCAAW,CAAC,IAAI,CAAC;gBACtC,MAAM;YACV,KAAK,oCAAY,CAAC,SAAS;gBACvB,OAAO,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,6BAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpE,OAAO,CAAC,UAAU,GAAG,oCAAW,CAAC,IAAI,CAAC;gBACtC,MAAM;YACV,KAAK,oCAAY,CAAC,eAAe;gBAC7B,IAAA,0BAAM,EAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;gBAC7E,OAAO,CAAC,KAAK,GAAG;oBACZ,SAAS,EAAE,qCAAgB,CAAC,KAAK;oBACjC,QAAQ,EAAE,6BAAQ,CAAC,MAAM;oBACzB,KAAK,EAAE,IAAI,CAAC,eAAe;iBAC9B,CAAC;gBACF,OAAO,CAAC,UAAU,GAAG,oCAAW,CAAC,IAAI,CAAC;gBACtC,MAAM;YACV;gBACI,OAAO,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SACxD;QACD,OAAO,IAAI,iCAAS,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAEM,QAAQ;QACX,MAAM,OAAO,GAAG,IAAI,mCAAe,EAAE,CAAC;QACtC,2CAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACI,WAAW,CAAC,OAAmC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAmC,CAAC;QAC9D,6EAA6E;QAE7E,IAAA,0BAAM,EAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACzC,IAAA,0BAAM,EACF,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,EACjH,yBAAyB,CAC5B,CAAC;QACF,IAAA,0BAAM,EACF,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAC5D,qEAAqE,CACxE,CAAC;QAEF,2BAA2B,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEnD,MAAM,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,kBAAkB,CAAE,CAAC;QAC5E,IAAA,0BAAM,EAAC,gBAAgB,EAAE,uDAAuD,CAAC,CAAC;QAElF,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QACjF,wCAAwC;QAExC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB;QAC7D,IAAA,0BAAM,EAAC,QAAQ,YAAY,0BAAM,CAAC,CAAC;QAEnC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAEvF,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAA,4DAA2B,EAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACxF,IAAI,CAAC,MAAM,EAAE;YACT,QAAQ,CAAC,YAAY,CAAC,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;SACjC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QAE/G,uBAAuB;QACvB,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;YACjC,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC3F,UAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAClF,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SAC1D;QAED,MAAM,sBAAsB,GAAG,uCAAuC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE9F,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtC,wBAAwB;QACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,oCAAY,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,YAAY,GACd,CAAC,eAAe,CAAC,SAAS,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,SAAS,EAAE;YACtG,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAEjC,MAAM,IAAI,GAAuB;YAC7B,eAAe;YACf,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ;YACR,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;YACpD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;YACxD,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,cAAc,EAAE,IAAI,CAAC,MAAM;YAC3B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,YAAY;YACpC,SAAS;SACZ,CAAC;QAEF,MAAM,SAAS,GAAe,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;QAClF,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE7C,mFAAmF;QAEnF,oCAAoC,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAElH,kDAAkD;QAClD,qCAAqC;QACrC,iFAAiF;QACjF,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpF,IAAA,0BAAM,EAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtE,QAAQ,CAAC,wBAAwB,EAAE,CAAC;QAEpC,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC3B,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC7C;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AA1MD,gDA0MC;AAED;;;;;;GAMG;AACH,MAAM,uCAAuC;IAKzC,YAAY,QAAkB,EAAE,YAAiB;QAC7C,yEAAyE;QACzE,IAAA,0BAAM,EAAC,YAAY,KAAK,IAAI,IAAI,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC;QAClE,IAAA,0BAAM,EAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;IAC/C,CAAC;IAEM,UAAU,CAAC,IAAc;;QAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAEvC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAc,EAAE,EAAE;YACxD,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC;YAC3C,uBAAuB;YACvB,IAAI,CAAC,CAAC,EAAE;gBACJ,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACtD,OAAO,KAAK,CAAC;aAChB;YACD,OAAO,CAAC,CAAC,UAAW,CAAC,IAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,UAAW,CAAC,IAAK,CAAC,QAAQ,EAAE,CAAC;QAChF,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,IAAA,0BAAM,EAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,qBAAqB,CAAC,CAAC;YACtD,6DAA6D;YAC7D,qDAAqD;YACrD,OAAO,KAAK,CAAC,CAAC,SAAS;SAC1B;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAEzC,QAAQ,aAAa,EAAE;YACnB,KAAK,IAAI,CAAC;YACV,KAAK,SAAS;gBACV,QAAQ,CACJ,OAAO,EACP,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EACtB,wBAAwB,EACxB,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,EAAE,CAChC,CAAC;gBACF;;;;;;;;mBAQG;gBACH,OAAO,KAAK,CAAC;YAEjB,KAAK,WAAW;gBACZ,OAAO,IAAI,CAAC,CAAC,QAAQ;YACzB,KAAK,UAAU;gBACX,iCAAiC;gBACjC,OAAO,IAAI,CAAC,UAAW,CAAC,IAAK,IAAI,IAAI,CAAC,YAAY,CAAC;YACvD,KAAK,qBAAqB;gBACtB,OAAO,KAAK,CAAC,CAAC,UAAU;YAC5B;gBACI,OAAO,KAAK,CAAC,CAAC,UAAU;SAC/B;IACL,CAAC;IAEM,SAAS,CAAC,aAA+C;QAC5D,MAAM,UAAU,GAAW,aAAa,CAAC,UAAU,CAAC,IAAK,CAAC;QAE1D,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,IAAI,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE;YACjC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;SACvC;QACD,MAAM,SAAS,GAAG,IAAI,uCAAuC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAClF,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAED;;;;;GAKG;AACH,SAAS,mCAAmC,CAAC,cAAwB;IACjE,IAAI,cAAc,CAAC,SAAS,KAAK,iCAAS,CAAC,MAAM,EAAE;QAC/C,OAAO,IAAI,CAAC;KACf;IAED,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC;IAEjD,MAAM,OAAO,GAAG,cAAc,CAAC,gBAAgB,CAAC,UAAU,EAAE,uCAAe,CAAC,OAAO,CAAC,CAAC;IAErF,uBAAuB;IACvB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACpB,UAAU,CAAC,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,6BAA6B,CAAC,CAAC;QAC5F,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC1B,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvG;QACD,OAAO,IAAI,CAAC;KACf;IAED,IAAA,0BAAM,EAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,IAAI,CAAC;KACf;IACD,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,CAAE,CAAC;IAC7D,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,KAAK,iCAAS,CAAC,YAAY,IAAI,SAAS,CAAC,SAAS,KAAK,iCAAS,CAAC,UAAU,CAAC,EAAE;QAC/G,OAAO,SAA0C,CAAC;KACrD;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAMD,MAAM,WAAW;IAAjB;QACW,UAAK,GAAG,CAAC,CAAC;QACA,kBAAa,GAA2B,IAAI,GAAG,EAAE,CAAC;IA8CvE,CAAC;IA5CU,GAAG;QACN,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IACM,oBAAoB,CACvB,SAAa,EACb,SAAY;QAEZ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;YAChD,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,SAAS;SACtB,CAAC,CAAC;QAEH,EAAE;QACF,oCAAoC;QACpC,qCAAqC;QACrC,oCAAoC;QACpC,0BAA0B;QAC1B,mFAAmF;QACnF,iBAAiB;QACjB,oCAAoC;QACpC,oCAAoC;QACpC,oCAAoC;QACpC,iBAAiB;QACjB,oEAAoE;QACpE,EAAE;QACF,4DAA4D;QAC5D,8BAA8B;QAC9B,EAAE;QACF,MAAM,UAAU,GAAG,mCAAmC,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,UAAU,EAAE;YACZ,IAAI,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC;YACnC,OAAO,IAAI,EAAE;gBACT,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,UAAU,CAAyC,CAAC;gBACtG,IAAI,WAAW,EAAE;oBACb,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;wBAClD,MAAM,EAAE,SAAS;wBACjB,QAAQ,EAAE,WAAW;qBACxB,CAAC,CAAC;iBACN;gBACD,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;aAC5B;SACJ;QACD,iBAAiB;IACrB,CAAC;CACJ;AACD,6DAA6D;AAC7D,EAAE;AACF,8BAA8B;AAC9B,6CAA6C;AAC7C,uFAAuF;AACvF,iDAAiD;AACjD,iDAAiD;AACjD,EAAE;AAEF,SAAS,qCAAqC,CAC1C,QAAW,EACX,WAAc,EACd,kBAAqB,EACrB,sBAA+B,EAC/B,YAAyB,EACzB,SAAsB;IAEtB,IAAI,OAAO,EAAE;QACT,QAAQ,CAAC,uBAAuB,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,QAAQ,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzE,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEpE,MAAM,CAAC,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC5D,QAAQ,CAAC,kCAAkC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KACvG;IACD,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;IAElC,IAAI,IAAA,8BAAU,EAAC,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE;QAC3D,OAAO,CAAC,gBAAgB;KAC3B;IAED,MAAM,MAAM,GAAG,IAAI,uCAAuC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEnF,OAAO;QACH,QAAQ,CACJ,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,iDAAiD,CAAC,EAC9E,kBAAkB,CAAC,UAAU,CAAC,QAAQ,EAAE,CAC3C,CAAC;IAEN,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAExC,IAAA,8CAA0B,EAAC,kBAAkB,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAEnH,8FAA8F;IAE9F,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,SAAS,CAAC;IAC9D,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,YAAa,CAAC;IAE5D,OAAO;QACH,QAAQ,CACJ,KAAK,CAAC,IAAI,CACN,SAAS,CAAC,GAAG,EAAE,EACf,6FAA6F,CAChG,EACD,kBAAkB,CAAC,UAAU,CAAC,QAAQ,EAAE,CAC3C,CAAC;IAEN,uBAAuB;IACvB,IAAI,CAAC,kBAAkB,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,GAAG,wBAAwB,CAAC,CAAC;KAC5F;IACD,SAAS,CAAC,KAAK,EAAE,CAAC;IAClB,qCAAqC,CACjC,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,SAAS,CACZ,CAAC;IACF,SAAS,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,MAAgB,EAAE,eAA8B;IAC5E,IAAI,CAAC,MAAM,EAAE;QACT,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAC;KACjC;IACD,mBAAmB;IACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAEjE,OAAO,CACH,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAe,EAAE,EAAE;;QAChC,OAAO,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,IAAI,0CAAE,QAAQ,EAAE,OAAK,MAAA,eAAe,CAAC,IAAI,0CAAE,QAAQ,EAAE,CAAA,CAAC;IAClF,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAChB,CAAC;AACN,CAAC;AAED,SAAS,SAAS,CAAC,YAA2B,EAAE,OAAY;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC;IAC1D,IAAI,MAAM,YAAY,0BAAM,EAAE;QAC1B,OAAO,YAAY,CAAC,QAAQ,CAAC,MAAgB,CAAC,CAAC;KAClD;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,2BAA2B,CAAC,YAAiC,EAAE,OAAmC;IAC9G,MAAM,qBAAqB,GAAG,CAAC,IAAuC,EAAwB,EAAE,CAC5F,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnE,OAAO,CAAC,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjE,OAAO,CAAC,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAEjE,IAAA,0BAAM,EAAC,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE;QACT,OAAO;KACV;IACD,IAAA,0BAAM,EAAC,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,CAAC,MAAM,YAAY,6BAAY,CAAC,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KAC3E;IACD,uBAAuB;IACvB,qDAAqD;IACrD,IAAI,MAAM,IAAI,sBAAsB,CAAC,MAAM,EAAE,IAAA,2CAAmB,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE;QACnF,MAAM,IAAI,KAAK,CACX,SAAS;YACT,MAAM,CAAC,UAAU,CAAC,IAAK,CAAC,QAAQ,EAAE;YAClC,wCAAwC;YACxC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAChC,CAAC;KACL;AACL,CAAC;AA3BD,kEA2BC;AAED,OAAO,CAAC,2BAA2B,GAAG,2BAA2B,CAAC;AAClE,OAAO,CAAC,oCAAoC,GAAG,oCAAoC,CAAC;AAEpF,MAAM,uBAAuB,GAAG,IAAA,8BAAU,EAAC,uCAAgB,CAAC,iBAAiB,CAAC,CAAC;AAC/E,MAAM,sBAAsB,GAAG,IAAA,8BAAU,EAAC,uCAAgB,CAAC,gBAAgB,CAAC,CAAC;AAE7E;;;GAGG;AACH,SAAS,oBAAoB,CAAC,UAAyB;IACnD,iEAAiE;IACjE,UAAU,GAAG,UAAU,CAAC,MAAM,CAC1B,CAAC,SAAsB,EAAE,EAAE,CACvB,CAAC,IAAA,8BAAU,EAAC,SAAS,CAAC,aAAa,EAAE,uBAAuB,CAAC;QAC7D,CAAC,IAAA,8BAAU,EAAC,SAAS,CAAC,aAAa,EAAE,sBAAsB,CAAC,CACnE,CAAC;IACF,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,6BAA6B,CAAC,cAAwB;IAC3D,4BAA4B;IAC5B,MAAM,YAAY,GAAkB,cAAc,CAAC,YAAY,CAAC;IAChE,MAAM,WAAW,GAAG,YAAY,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;IAChF,IAAI,CAAC,WAAW,EAAE;QACd,OAAO,EAAE,CAAC;KACb;IACD,IAAA,0BAAM,EAAC,WAAW,CAAC,CAAC;IAEpB,+DAA+D;IAC/D,IAAI,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,2BAA2B,EAAE,uCAAe,CAAC,OAAO,CAAC,CAAC;IAEvG,UAAU,GAAI,EAAoB,CAAC,MAAM,CACrC,UAAU,EACV,cAAc,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,uCAAe,CAAC,OAAO,CAAC,CAC7E,CAAC;IAEF,MAAM,MAAM,GAAG,mCAAmC,CAAC,cAAc,CAAC,CAAC;IAEnE,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,EAAE;QAC/B,gEAAgE;QAChE,IAAA,0BAAM,EAAC,MAAM,CAAC,SAAS,KAAK,iCAAS,CAAC,YAAY,IAAI,MAAM,CAAC,SAAS,KAAK,iCAAS,CAAC,UAAU,CAAC,CAAC;QAEjG,4CAA4C;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,YAAa,CAAC,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAE7E,IAAI,KAAK,EAAE;YACP,MAAM,OAAO,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;YACrD,UAAU,GAAI,EAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SAClE;KACJ;IACD,uBAAuB;IACvB,UAAU,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAE9C,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,oCAAoC,CAAC,SAAc;IACxD,MAAM,qBAAqB,GAAG,CAAC,GAAgB,EAAoB,EAAE,CACjE,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC;IAE/D,yFAAyF;IACzF,qBAAqB;IACrB,uDAAuD;IACvD,EAAE;IACF,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE;QACjE,qDAAqD;QACrD,MAAM,uBAAuB,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAExE,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE;YACtC,SAAS;SACZ;QAED,uBAAuB;QACvB,IAAI,OAAO,EAAE;YACT,QAAQ,CACJ,iBAAiB,EACjB,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,EAC9B,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAC3B,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,EAC7B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAC1B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAC3B,CAAC;SACL;QAED,KAAK,MAAM,GAAG,IAAI,uBAAuB,EAAE;YACvC,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAExC,6DAA6D;YAC7D,IAAI,IAAI,EAAE;gBACN,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACnC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBAE9B,uBAAuB;gBACvB,IAAI,OAAO,EAAE;oBACT,QAAQ,CACJ,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAClC,GAAG,CAAC,aAAa,EACjB,eAAe,EACf,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EACxB,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAC5B,aAAa,EACb,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAC3B,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAClC,CAAC;iBACL;gBAED,oBAAoB;gBACpB,MAAM,CAAC,YAAY,CAAC;oBAChB,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,aAAa,EAAE,GAAG,CAAC,aAAa;iBACnC,CAAC,CAAC;aACN;SACJ;KACJ;AACL,CAAC;AAED;;;;;GAKG;AAEH;;;;;;;;;;;GAWG;AACH,SAAS,8BAA8B,CAAC,SAAc;IAClD,mGAAmG;IACnG,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE;QACjE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,uCAAe,CAAC,OAAO,CAAC,CAAC;QAEzF,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE;YAChC,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YAE7B,IAAA,0BAAM,EAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,qBAAqB,CAAC,CAAC;YAEtF,qEAAqE;YACrE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;YAE/B,IAAA,0BAAM,EAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAE1B,UAAU,CAAC,YAAY,CAAC;gBACpB,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,aAAa,EAAE,GAAG,CAAC,aAAa;aACnC,CAAC,CAAC;SACN;KACJ;AACL,CAAC;AAED,SAAgB,oCAAoC,CAGlD,QAAW,EAAE,WAAc,EAAE,QAAW,EAAE,sBAA+B,EAAE,SAAoB;IAC7F,MAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC;IAEpC,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEnD,MAAM,YAAY,GAAG,IAAA,qCAAgB,EAAC,SAAS,CAAC,CAAC;IAEjD,qCAAqC,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,sBAAsB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAExH,8BAA8B,CAAC,SAAS,CAAC,CAAC;IAE1C,oCAAoC,CAAC,SAAS,CAAC,CAAC;AACpD,CAAC;AAfD,oFAeC"}
@@ -13,15 +13,15 @@ const node_opcua_address_space_base_1 = require("node-opcua-address-space-base")
13
13
  const session_context_1 = require("../source/session_context");
14
14
  const base_node_impl_1 = require("./base_node_impl");
15
15
  class UAViewImpl extends base_node_impl_1.BaseNodeImpl {
16
+ get eventNotifier() {
17
+ return this._eventNotifier;
18
+ }
16
19
  constructor(options) {
17
20
  super(options);
18
21
  this.nodeClass = node_opcua_data_model_1.NodeClass.View;
19
22
  this.containsNoLoops = !!options.containsNoLoops;
20
23
  this._eventNotifier = node_opcua_address_space_base_1.EventNotifierFlags.None;
21
24
  }
22
- get eventNotifier() {
23
- return this._eventNotifier;
24
- }
25
25
  readAttribute(context, attributeId) {
26
26
  context = context || session_context_1.SessionContext.defaultContext;
27
27
  const options = {};
@@ -1 +1 @@
1
- {"version":3,"file":"ua_view_impl.js","sourceRoot":"","sources":["../../src/ua_view_impl.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,iEAAkD;AAClD,iEAAqD;AACrD,iEAAiE;AACjE,mEAAqD;AACrD,2DAA8C;AAC9C,iFAA4F;AAE5F,+DAA2D;AAC3D,qDAAyE;AAMzE,MAAa,UAAW,SAAQ,6BAAY;IAQxC,YAAY,OAA4B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAC;QARH,cAAS,GAAG,iCAAS,CAAC,IAAI,CAAC;QASvC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,kDAAkB,CAAC,IAAI,CAAC;IAClD,CAAC;IARD,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAQM,aAAa,CAAC,OAA+B,EAAE,WAAyB;QAC3E,OAAO,GAAG,OAAO,IAAI,gCAAc,CAAC,cAAc,CAAC;QAEnD,MAAM,OAAO,GAAkB,EAAE,CAAC;QAElC,QAAQ,WAAW,EAAE;YACjB,KAAK,oCAAY,CAAC,aAAa;gBAC3B,OAAO,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,6BAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvE,OAAO,CAAC,UAAU,GAAG,oCAAW,CAAC,IAAI,CAAC;gBACtC,MAAM;YAEV,KAAK,oCAAY,CAAC,eAAe;gBAC7B,OAAO,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,6BAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5E,OAAO,CAAC,UAAU,GAAG,oCAAW,CAAC,IAAI,CAAC;gBACtC,MAAM;YAEV;gBACI,OAAO,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SACxD;QACD,OAAO,IAAI,iCAAS,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;CACJ;AAnCD,gCAmCC"}
1
+ {"version":3,"file":"ua_view_impl.js","sourceRoot":"","sources":["../../src/ua_view_impl.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,iEAAkD;AAClD,iEAAqD;AACrD,iEAAiE;AACjE,mEAAqD;AACrD,2DAA8C;AAC9C,iFAA4F;AAE5F,+DAA2D;AAC3D,qDAAyE;AAMzE,MAAa,UAAW,SAAQ,6BAAY;IAIxC,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,YAAY,OAA4B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAC;QARH,cAAS,GAAG,iCAAS,CAAC,IAAI,CAAC;QASvC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,kDAAkB,CAAC,IAAI,CAAC;IAClD,CAAC;IAEM,aAAa,CAAC,OAA+B,EAAE,WAAyB;QAC3E,OAAO,GAAG,OAAO,IAAI,gCAAc,CAAC,cAAc,CAAC;QAEnD,MAAM,OAAO,GAAkB,EAAE,CAAC;QAElC,QAAQ,WAAW,EAAE;YACjB,KAAK,oCAAY,CAAC,aAAa;gBAC3B,OAAO,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,6BAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvE,OAAO,CAAC,UAAU,GAAG,oCAAW,CAAC,IAAI,CAAC;gBACtC,MAAM;YAEV,KAAK,oCAAY,CAAC,eAAe;gBAC7B,OAAO,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,6BAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5E,OAAO,CAAC,UAAU,GAAG,oCAAW,CAAC,IAAI,CAAC;gBACtC,MAAM;YAEV;gBACI,OAAO,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SACxD;QACD,OAAO,IAAI,iCAAS,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;CACJ;AAnCD,gCAmCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-address-space",
3
- "version": "2.90.0",
3
+ "version": "2.90.1",
4
4
  "description": "pure nodejs OPCUA SDK - module -address-space",
5
5
  "main": "./dist/src/index_current.js",
6
6
  "types": "./dist/source/index.d.ts",
@@ -22,36 +22,36 @@
22
22
  "chalk": "4.1.2",
23
23
  "dequeue": "^1.0.5",
24
24
  "lodash": "4.17.21",
25
- "node-opcua-address-space-base": "2.90.0",
25
+ "node-opcua-address-space-base": "2.90.1",
26
26
  "node-opcua-assert": "2.88.0",
27
- "node-opcua-basic-types": "2.90.0",
28
- "node-opcua-binary-stream": "2.89.0",
29
- "node-opcua-client-dynamic-extension-object": "2.90.0",
27
+ "node-opcua-basic-types": "2.90.1",
28
+ "node-opcua-binary-stream": "2.90.1",
29
+ "node-opcua-client-dynamic-extension-object": "2.90.1",
30
30
  "node-opcua-constants": "2.88.0",
31
31
  "node-opcua-crypto": "^2.1.2",
32
- "node-opcua-data-access": "2.90.0",
33
- "node-opcua-data-model": "2.90.0",
34
- "node-opcua-data-value": "2.90.0",
35
- "node-opcua-date-time": "2.90.0",
36
- "node-opcua-debug": "2.90.0",
37
- "node-opcua-enum": "2.88.0",
38
- "node-opcua-extension-object": "2.90.0",
39
- "node-opcua-factory": "2.90.0",
40
- "node-opcua-nodeid": "2.90.0",
41
- "node-opcua-nodeset-ua": "2.90.0",
42
- "node-opcua-numeric-range": "2.90.0",
43
- "node-opcua-object-registry": "2.90.0",
44
- "node-opcua-pseudo-session": "2.90.0",
45
- "node-opcua-service-browse": "2.90.0",
46
- "node-opcua-service-call": "2.90.0",
47
- "node-opcua-service-history": "2.90.0",
48
- "node-opcua-service-translate-browse-path": "2.90.0",
49
- "node-opcua-service-write": "2.90.0",
50
- "node-opcua-status-code": "2.89.0",
51
- "node-opcua-types": "2.90.0",
52
- "node-opcua-utils": "2.88.0",
53
- "node-opcua-variant": "2.90.0",
54
- "node-opcua-xml2json": "2.90.0",
32
+ "node-opcua-data-access": "2.90.1",
33
+ "node-opcua-data-model": "2.90.1",
34
+ "node-opcua-data-value": "2.90.1",
35
+ "node-opcua-date-time": "2.90.1",
36
+ "node-opcua-debug": "2.90.1",
37
+ "node-opcua-enum": "2.90.1",
38
+ "node-opcua-extension-object": "2.90.1",
39
+ "node-opcua-factory": "2.90.1",
40
+ "node-opcua-nodeid": "2.90.1",
41
+ "node-opcua-nodeset-ua": "2.90.1",
42
+ "node-opcua-numeric-range": "2.90.1",
43
+ "node-opcua-object-registry": "2.90.1",
44
+ "node-opcua-pseudo-session": "2.90.1",
45
+ "node-opcua-service-browse": "2.90.1",
46
+ "node-opcua-service-call": "2.90.1",
47
+ "node-opcua-service-history": "2.90.1",
48
+ "node-opcua-service-translate-browse-path": "2.90.1",
49
+ "node-opcua-service-write": "2.90.1",
50
+ "node-opcua-status-code": "2.90.1",
51
+ "node-opcua-types": "2.90.1",
52
+ "node-opcua-utils": "2.90.1",
53
+ "node-opcua-variant": "2.90.1",
54
+ "node-opcua-xml2json": "2.90.1",
55
55
  "semver": "^7.3.8",
56
56
  "set-prototype-of": "^1.0.0",
57
57
  "thenify": "^3.3.1",
@@ -59,12 +59,12 @@
59
59
  },
60
60
  "devDependencies": {
61
61
  "mocha": "^10.2.0",
62
- "node-opcua-benchmarker": "2.88.0",
63
- "node-opcua-leak-detector": "2.90.0",
62
+ "node-opcua-benchmarker": "2.90.1",
63
+ "node-opcua-leak-detector": "2.90.1",
64
64
  "node-opcua-nodesets": "2.88.0",
65
- "node-opcua-packet-analyzer": "2.90.0",
66
- "node-opcua-service-filter": "2.90.0",
67
- "node-opcua-test-fixtures": "2.90.0",
65
+ "node-opcua-packet-analyzer": "2.90.1",
66
+ "node-opcua-service-filter": "2.90.1",
67
+ "node-opcua-test-fixtures": "2.90.1",
68
68
  "should": "^13.2.3",
69
69
  "sinon": "^15.0.1",
70
70
  "source-map-support": "^0.5.21"
@@ -84,5 +84,5 @@
84
84
  "internet of things"
85
85
  ],
86
86
  "homepage": "http://node-opcua.github.io/",
87
- "gitHead": "d55f9150c3ffa5b86fbe1a0baba69a2543c3090a"
87
+ "gitHead": "3325ff5f8477fd058ba574d19e8128c36e3e831f"
88
88
  }
@@ -231,8 +231,8 @@ function makeNodeSetParserEngine(addressSpace: IAddressSpace, options: NodeSetLo
231
231
  if (!namespace) {
232
232
  throw new Error(
233
233
  "cannot find namespace for " +
234
- namespaceUri +
235
- "\nplease make sure to initialize your address space with the corresponding nodeset files"
234
+ namespaceUri +
235
+ "\nplease make sure to initialize your address space with the corresponding nodeset files"
236
236
  );
237
237
  }
238
238
  found_namespace_in_uri[namespaceUri] = namespace;
@@ -257,7 +257,7 @@ function makeNodeSetParserEngine(addressSpace: IAddressSpace, options: NodeSetLo
257
257
  // check that required models exist already in the address space
258
258
  for (const requiredModel of model.requiredModels) {
259
259
  const existingNamespace = addressSpace1.getNamespace(requiredModel.modelUri);
260
-
260
+
261
261
  // istanbul ignore next
262
262
  if (!existingNamespace) {
263
263
  errorLog(
@@ -279,7 +279,7 @@ function makeNodeSetParserEngine(addressSpace: IAddressSpace, options: NodeSetLo
279
279
  const requiredSemver = makeSemverCompatible(requiredVersion);
280
280
  return semver.lt(existingSemver, requiredSemver);
281
281
  };
282
-
282
+
283
283
  if (isLowerVersion(existingNamespace.version, requiredModel.version)) {
284
284
  errorLog(
285
285
  "Expecting ",
@@ -1299,11 +1299,10 @@ function makeNodeSetParserEngine(addressSpace: IAddressSpace, options: NodeSetLo
1299
1299
  debugLog("Cannot find node with nodeId " + nodeId + ". may be the node was marked as deprecated");
1300
1300
  } else if (node.nodeClass === NodeClass.Variable) {
1301
1301
  const v = node as UAVariable;
1302
- v.setValueFromSource({
1303
- dataType: DataType.ExtensionObject,
1304
- value: listExtensionObject
1305
- });
1302
+ assert(v.getBasicDataType() === DataType.ExtensionObject, "expecting an extension object");
1303
+ v.bindExtensionObject(listExtensionObject as ExtensionObject[], { createMissingProp: false });
1306
1304
  } else if (node.nodeClass === NodeClass.VariableType) {
1305
+ // no need to bind a variable type
1307
1306
  const v = node as UAVariableType;
1308
1307
  (v as any) /*fix me*/.value.value = listExtensionObject;
1309
1308
  }
@@ -1326,7 +1325,9 @@ function makeNodeSetParserEngine(addressSpace: IAddressSpace, options: NodeSetLo
1326
1325
  const node = addressSpace2.findNode(nodeId)!;
1327
1326
  if (node.nodeClass === NodeClass.Variable) {
1328
1327
  const v = node as UAVariable;
1329
- v.setValueFromSource(variant);
1328
+ assert(v.getBasicDataType() === DataType.ExtensionObject, "expecting an extension object");
1329
+ v.bindExtensionObject(variant.value, { createMissingProp: false });
1330
+
1330
1331
  } else if (node.nodeClass === NodeClass.VariableType) {
1331
1332
  const v = node as UAVariableType;
1332
1333
  (v as any) /*fix me*/.value.value = variant.value;
@@ -1688,7 +1689,7 @@ function makeNodeSetParserEngine(addressSpace: IAddressSpace, options: NodeSetLo
1688
1689
  doDebug &&
1689
1690
  debugLog(
1690
1691
  chalk.bgGreenBright("Performing post loading tasks -------------------------------------------") +
1691
- chalk.green("DONE")
1692
+ chalk.green("DONE")
1692
1693
  );
1693
1694
 
1694
1695
  async function performPostLoadingTasks(tasks: Task[]): Promise<void> {
@@ -0,0 +1,79 @@
1
+
2
+
3
+
4
+ /**
5
+ * This valueRank indicates whether the Value attribute of the Variable is an array and how many dimensions the array has.
6
+ * It may have the following values:
7
+ * * n > 1: the Value is an array with the specified number of dimensions.
8
+ * * OneDimension (1): The value is an array with one dimension.
9
+ * * OneOrMoreDimensions (0): The value is an array with one or more dimensions.
10
+ * * Scalar (−1): The value is not an array.
11
+ * * Any (−2): The value can be a scalar or an array with any number of dimensions.
12
+ * * ScalarOrOneDimension (−3): The value can be a scalar or a one dimensional array.
13
+ * * All DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.
14
+ */
15
+
16
+ export function checkValueRankCompatibility(actualValueRank: number, baseTypeValueRank: number): { result: boolean, errorMessage?: string } {
17
+ const ScalarOrOneDimension = -3;
18
+ const OneOrMoreDimensions = 0;
19
+ const AnyDimension = -2;
20
+ const OneDimension = 1;
21
+ const Scalar = -1;
22
+ const t = (valueRank: number): string => {
23
+ switch (valueRank) {
24
+ case ScalarOrOneDimension: return `ScalarOrOneDimension(${valueRank})`;
25
+ case OneOrMoreDimensions: return `OneOrMoreDimensions(${valueRank})`;
26
+ case AnyDimension: return `AnyDimension(${valueRank})`;
27
+ case OneDimension: return `OneDimension(${valueRank})`;
28
+ case Scalar: return `Scalar(${valueRank})`;
29
+ }
30
+ if (valueRank < 0) {
31
+ return `InvalidValueRank(${valueRank})`;
32
+ }
33
+ return "" + valueRank;
34
+ }
35
+ if (actualValueRank < 0) {
36
+ if (actualValueRank !== Scalar && actualValueRank !== AnyDimension && actualValueRank !== ScalarOrOneDimension) {
37
+ return {
38
+ result: false,
39
+ errorMessage: `Invalid valueRank: ${t(actualValueRank)} can only be ${t(ScalarOrOneDimension)} ${t(AnyDimension)}, ${t(Scalar)} ${t(OneOrMoreDimensions)} or a positive number`
40
+ };
41
+ }
42
+ }
43
+ if (baseTypeValueRank === AnyDimension) {
44
+ return { result: true };
45
+ }
46
+ if (baseTypeValueRank === OneDimension || baseTypeValueRank > 1) {
47
+ if (actualValueRank === baseTypeValueRank) {
48
+ return { result: true };
49
+ };
50
+ return {
51
+ result: false,
52
+ errorMessage: `Invalid valueRank: ${t(actualValueRank)}: valueRank can only be identical to base type ${t(baseTypeValueRank)}`
53
+ };
54
+ }
55
+ if (baseTypeValueRank === Scalar) {
56
+ if (actualValueRank === Scalar) return { result: true };
57
+ return {
58
+ result: false,
59
+ errorMessage: `Invalid valueRank: ${t(actualValueRank)}: valueRank can only be identical to base type ${t(Scalar)}`
60
+ };
61
+ }
62
+ if (baseTypeValueRank === OneOrMoreDimensions) {
63
+ if (actualValueRank === OneOrMoreDimensions || actualValueRank >= 1) return { result: true };
64
+ return {
65
+ result: false,
66
+ errorMessage: `Invalid valueRank: ${t(actualValueRank)}: valueRank can only be identical to base type ${t(OneOrMoreDimensions)} or be a positive number`
67
+ };
68
+ }
69
+ if (baseTypeValueRank === ScalarOrOneDimension) {
70
+ if (actualValueRank === OneDimension || actualValueRank === Scalar || actualValueRank === ScalarOrOneDimension) return { result: true };
71
+ return {
72
+ result: false,
73
+ errorMessage: `Invalid valueRank: ${t(actualValueRank)}: valueRank can only be identical to base type ${t(ScalarOrOneDimension)} , ${t(Scalar)} or ${t(OneDimension)}.`
74
+ };
75
+ }
76
+ return { result: false };
77
+ }
78
+
79
+
@@ -512,8 +512,6 @@ export class NamespaceImpl implements NamespacePrivate {
512
512
  referenceType: "HasTypeDefinition"
513
513
  });
514
514
 
515
- // xx assert(this.FolderTypeId && this.BaseObjectTypeId); // is default address space generated.?
516
-
517
515
  const createOptions = options as CreateNodeOptions;
518
516
  assert(!createOptions.nodeClass);
519
517
  createOptions.nodeClass = NodeClass.View;
@@ -1967,8 +1965,6 @@ export class NamespaceImpl implements NamespacePrivate {
1967
1965
 
1968
1966
  options.historizing = !!options.historizing;
1969
1967
 
1970
- // xx assert(this.FolderTypeId && this.BaseObjectTypeId); // is default address space generated.?
1971
-
1972
1968
  // istanbul ignore next
1973
1969
  if (Object.prototype.hasOwnProperty.call(options, "hasTypeDefinition")) {
1974
1970
  throw new Error("hasTypeDefinition option is invalid. Do you mean typeDefinition instead ?");
@@ -247,6 +247,17 @@ function default_func(this: UAVariable, dataValue1: DataValue, callback1: Callba
247
247
  interface UAVariableOptions extends InternalBaseNodeOptions {
248
248
  value?: any;
249
249
  dataType: NodeId | string;
250
+ /**
251
+ * This attribute indicates whether the Value attribute of the Variableis an array and how many dimensions the array has.
252
+ * It may have the following values:
253
+ * * n > 1: the Value is an array with the specified number of dimensions.
254
+ * * OneDimension (1): The value is an array with one dimension.
255
+ * * OneOrMoreDimensions (0): The value is an array with one or more dimensions.
256
+ * * Scalar (−1): The value is not an array.
257
+ * * Any (−2): The value can be a scalar or an array with any number of dimensions.
258
+ * * ScalarOrOneDimension (−3): The value can be a scalar or a one dimensional array.
259
+ * * All DataTypes are considered to be scalar, even if they have array-like semantics like ByteString and String.
260
+ */
250
261
  valueRank?: number;
251
262
  arrayDimensions?: null | number[];
252
263
  accessLevel?: any;
@@ -288,6 +299,7 @@ export class UAVariableImpl extends BaseNodeImpl implements UAVariable {
288
299
  private _basicDataType?: DataType;
289
300
 
290
301
  public $extensionObject?: any;
302
+ public $set_ExtensionObject?: (newValue: ExtensionObject, sourceTimestamp: PreciseClock, cache: Set<UAVariableImpl>) => void;
291
303
 
292
304
  public $historicalDataConfiguration?: UAHistoricalDataConfiguration;
293
305
  public varHistorian?: IVariableHistorian;
@@ -314,6 +326,7 @@ export class UAVariableImpl extends BaseNodeImpl implements UAVariable {
314
326
  get typeDefinitionObj(): UAVariableType {
315
327
  // istanbul ignore next
316
328
  if (super.typeDefinitionObj && super.typeDefinitionObj.nodeClass !== NodeClass.VariableType) {
329
+ console.log(super.typeDefinitionObj.toString());
317
330
  throw new Error(
318
331
  "Invalid type definition node class , expecting a VariableType got " + NodeClass[super.typeDefinitionObj.nodeClass]
319
332
  );
@@ -817,13 +830,13 @@ export class UAVariableImpl extends BaseNodeImpl implements UAVariable {
817
830
  if (dataValue.value.dataType === DataType.ExtensionObject) {
818
831
  const valueIsCorrect = this.checkExtensionObjectIsCorrect(dataValue.value.value);
819
832
  if (!valueIsCorrect) {
820
- errorLog("Invalid value !");
833
+ errorLog("setValueFromSource Invalid value !");
821
834
  errorLog(this.toString());
822
835
  errorLog(dataValue.toString());
823
836
  this.checkExtensionObjectIsCorrect(dataValue.value.value);
824
837
  }
825
838
  // ----------------------------------
826
- if (this.$extensionObject) {
839
+ if (this.$extensionObject || this.$$extensionObjectArray) {
827
840
  // we have an extension object already bound to this node
828
841
  // the client is asking us to replace the object entierly by a new one
829
842
  // const ext = dataValue.value.value;
@@ -1492,12 +1505,21 @@ export class UAVariableImpl extends BaseNodeImpl implements UAVariable {
1492
1505
  optionalExtensionObject?: ExtensionObject | ExtensionObject[],
1493
1506
  options?: BindExtensionObjectOptions
1494
1507
  ): ExtensionObject | ExtensionObject[] | null {
1508
+
1509
+ // coerce to ExtensionObject[] when this.valueRank === 1
1510
+ if (optionalExtensionObject && this.valueRank === 1 && !Array.isArray(optionalExtensionObject) && optionalExtensionObject instanceof ExtensionObject) {
1511
+ warningLog("bindExtensionObject: coerce to ExtensionObject[] when this.valueRank === 1");
1512
+ optionalExtensionObject = [optionalExtensionObject];
1513
+ }
1514
+
1495
1515
  if (optionalExtensionObject) {
1496
1516
  if (optionalExtensionObject instanceof Array) {
1497
- assert(this.valueRank >= 1, "expecting an Array of Matrix variable here");
1517
+ assert(this.valueRank >= 1, "bindExtensionObject: expecting an Array of Matrix variable here");
1498
1518
  return _bindExtensionObjectArrayOrMatrix(this, optionalExtensionObject, options);
1499
1519
  } else {
1500
- assert(this.valueRank === -1, "expecting an Scalar variable here");
1520
+ if (this.valueRank !== -1 && this.valueRank !== 0) {
1521
+ throw new Error("bindExtensionObject: expecting an Scalar variable here but got value rank " + this.valueRank);
1522
+ }
1501
1523
  return _bindExtensionObject(this, optionalExtensionObject, options) as ExtensionObject;
1502
1524
  }
1503
1525
  }
@@ -1746,6 +1768,11 @@ export class UAVariableImpl extends BaseNodeImpl implements UAVariable {
1746
1768
  this.$dataValue.sourceTimestamp = dataValue.sourceTimestamp;
1747
1769
  this.$dataValue.sourcePicoseconds = dataValue.sourcePicoseconds;
1748
1770
 
1771
+ } else if (this._basicDataType === DataType.ExtensionObject && this.valueRank === -1 && this.$set_ExtensionObject && dataValue.value.arrayType === VariantArrayType.Scalar) {
1772
+ // the entire extension object is changed.
1773
+ this.$dataValue.statusCode = this.$dataValue.statusCode || StatusCodes.Good;
1774
+ const preciseClock = coerceClock(this.$dataValue.sourceTimestamp, this.$dataValue.sourcePicoseconds);
1775
+ this.$set_ExtensionObject(dataValue.value.value, preciseClock, new Set())
1749
1776
  } else {
1750
1777
  this.$dataValue = dataValue;
1751
1778
  this.$dataValue.statusCode = this.$dataValue.statusCode || StatusCodes.Good;
@@ -265,7 +265,7 @@ function installExt(uaVariable: UAVariableImpl, ext: ExtensionObject) {
265
265
  return uaVariable.getComponentByName(field.name!) as UAVariable | null;
266
266
  }));
267
267
  } else {
268
- warningLog("extension object is null");
268
+ doDebug && warningLog("extension object is null");
269
269
  }
270
270
  }
271
271
  }
@@ -412,14 +412,7 @@ function _innerBindExtensionObjectScalar(uaVariable: UAVariableImpl,
412
412
  };
413
413
 
414
414
  installDataValueGetter(uaVariable, get);
415
- assert(uaVariable._inner_replace_dataValue);
416
- uaVariable._inner_replace_dataValue = (dataValue: DataValue, indexRange?: NumericRange | null) => {
417
- /** */
418
- const ext = dataValue.value.value;
419
- const sourceTime = coerceClock(dataValue.sourceTimestamp, dataValue.sourcePicoseconds);
420
- const cache = new Set<UAVariableImpl>();
421
- set(ext, sourceTime, cache);
422
- }
415
+ uaVariable.$set_ExtensionObject = set;
423
416
 
424
417
  _installFields2(uaVariable, {
425
418
  get: (fieldName: string) => {
@@ -437,6 +430,7 @@ function _innerBindExtensionObjectScalar(uaVariable: UAVariableImpl,
437
430
  }
438
431
 
439
432
 
433
+ // eslint-disable-next-line complexity
440
434
  export function _bindExtensionObject(
441
435
  uaVariable: UAVariableImpl,
442
436
  optionalExtensionObject?: ExtensionObject,
@@ -444,10 +438,16 @@ export function _bindExtensionObject(
444
438
  ): ExtensionObject | null {
445
439
  options = options || { createMissingProp: false };
446
440
 
441
+ // istanbul ignore next
447
442
  if (!isVariableContainingExtensionObject(uaVariable)) {
448
443
  return null;
449
444
  }
450
445
 
446
+ // istanbul ignore next
447
+ if (optionalExtensionObject && uaVariable.valueRank === 0) {
448
+ warningLog(uaVariable.browseName.toString() + ": valueRank was zero but needed to be adjusted to -1 (Scalar) in bindExtensionObject");
449
+ uaVariable.valueRank = -1;
450
+ }
451
451
  const addressSpace = uaVariable.addressSpace;
452
452
  let extensionObject_;
453
453
 
@@ -568,12 +568,16 @@ const composeBrowseNameAndNodeId = (uaVariable: UAVariable, indexes: number[]) =
568
568
  }
569
569
 
570
570
 
571
- // eslint-disable-next-line max-statements
571
+ // eslint-disable-next-line max-statements, complexity
572
572
  export function _bindExtensionObjectArrayOrMatrix(
573
573
  uaVariable: UAVariableImpl,
574
574
  optionalExtensionObjectArray?: ExtensionObject[],
575
575
  options?: BindExtensionObjectOptions
576
576
  ): ExtensionObject[] {
577
+
578
+ options = options || { createMissingProp: false};
579
+ options.createMissingProp = options.createMissingProp || false;
580
+
577
581
  // istanbul ignore next
578
582
  if (uaVariable.valueRank < 1) {
579
583
  throw new Error("Variable must be a MultiDimensional array");
@@ -583,6 +587,12 @@ export function _bindExtensionObjectArrayOrMatrix(
583
587
  if (!isVariableContainingExtensionObject(uaVariable)) {
584
588
  return [];
585
589
  }
590
+
591
+ if (!optionalExtensionObjectArray && uaVariable.$dataValue.value.value) {
592
+ assert(Array.isArray(uaVariable.$dataValue.value.value));
593
+ optionalExtensionObjectArray = uaVariable.$dataValue.value.value;
594
+ }
595
+
586
596
  if ((arrayDimensions.length === 0 || arrayDimensions.length === 1 && arrayDimensions[0] === 0) && optionalExtensionObjectArray) {
587
597
  arrayDimensions[0] = optionalExtensionObjectArray.length;
588
598
  }
@@ -636,10 +646,13 @@ export function _bindExtensionObjectArrayOrMatrix(
636
646
 
637
647
  const { browseName, nodeId } = composeBrowseNameAndNodeId(uaVariable, index);
638
648
 
639
-
640
-
641
649
  let uaElement = uaVariable.getComponentByName(browseName) as UAVariableImpl | null;
642
650
  if (!uaElement) {
651
+
652
+ if (!options.createMissingProp) {
653
+ continue;
654
+ }
655
+
643
656
  uaElement = namespace.addVariable({
644
657
  browseName,
645
658
  nodeId,