node-opcua-address-space 2.182.2 → 2.183.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 (116) hide show
  1. package/api/helpers/argument_list.ts +8 -9
  2. package/api/helpers/call_helpers.ts +2 -0
  3. package/api/index.ts +14 -0
  4. package/api/interfaces/alarms_and_conditions/promote_to_alarm_options.ts +24 -0
  5. package/api/interfaces/alarms_and_conditions/ua_alarm_condition_ex.ts +33 -0
  6. package/api/interfaces/alarms_and_conditions/ua_limit_alarm_ex.ts +18 -0
  7. package/api/loader/nodeset_record.ts +2 -2
  8. package/api/loader/nodeset_record_applier.ts +1 -0
  9. package/api/loader/nodeset_xml_producer.ts +5 -1
  10. package/api/namespace_of.ts +28 -0
  11. package/dist/api/helpers/argument_list.js +8 -7
  12. package/dist/api/helpers/argument_list.js.map +1 -1
  13. package/dist/api/helpers/call_helpers.js +2 -0
  14. package/dist/api/helpers/call_helpers.js.map +1 -1
  15. package/dist/api/index.d.ts +11 -0
  16. package/dist/api/index.js +16 -3
  17. package/dist/api/index.js.map +1 -1
  18. package/dist/api/interfaces/alarms_and_conditions/promote_to_alarm_options.d.ts +23 -0
  19. package/dist/api/interfaces/alarms_and_conditions/promote_to_alarm_options.js +3 -0
  20. package/dist/api/interfaces/alarms_and_conditions/promote_to_alarm_options.js.map +1 -0
  21. package/dist/api/interfaces/alarms_and_conditions/ua_alarm_condition_ex.d.ts +31 -0
  22. package/dist/api/interfaces/alarms_and_conditions/ua_limit_alarm_ex.d.ts +17 -0
  23. package/dist/api/loader/nodeset_record.d.ts +1 -1
  24. package/dist/api/loader/nodeset_record.js +1 -1
  25. package/dist/api/loader/nodeset_record_applier.js +1 -0
  26. package/dist/api/loader/nodeset_record_applier.js.map +1 -1
  27. package/dist/api/loader/nodeset_xml_producer.js +7 -1
  28. package/dist/api/loader/nodeset_xml_producer.js.map +1 -1
  29. package/dist/api/namespace_of.d.ts +23 -0
  30. package/dist/api/namespace_of.js +29 -0
  31. package/dist/api/namespace_of.js.map +1 -0
  32. package/dist/impl/address_space_change_event_tools.js +4 -1
  33. package/dist/impl/address_space_change_event_tools.js.map +1 -1
  34. package/dist/impl/address_space_private.d.ts +6 -6
  35. package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +7 -0
  36. package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +47 -37
  37. package/dist/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -1
  38. package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.d.ts +72 -2
  39. package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.js +220 -101
  40. package/dist/impl/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  41. package/dist/impl/alarms_and_conditions/ua_condition_impl.d.ts +19 -0
  42. package/dist/impl/alarms_and_conditions/ua_condition_impl.js +71 -16
  43. package/dist/impl/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  44. package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +1 -1
  45. package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +2 -2
  46. package/dist/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -1
  47. package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +2 -2
  48. package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +4 -4
  49. package/dist/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -1
  50. package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.d.ts +13 -2
  51. package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.js +21 -5
  52. package/dist/impl/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
  53. package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +1 -1
  54. package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +2 -2
  55. package/dist/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -1
  56. package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +1 -1
  57. package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +2 -2
  58. package/dist/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -1
  59. package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +1 -1
  60. package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.js +2 -2
  61. package/dist/impl/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
  62. package/dist/impl/base_node_impl.d.ts +2 -0
  63. package/dist/impl/base_node_impl.js +28 -0
  64. package/dist/impl/base_node_impl.js.map +1 -1
  65. package/dist/impl/base_node_private.d.ts +2 -0
  66. package/dist/impl/base_node_private.js.map +1 -1
  67. package/dist/impl/data_access/adjust_datavalue_status_code.d.ts +2 -2
  68. package/dist/impl/data_access/adjust_datavalue_status_code.js +35 -4
  69. package/dist/impl/data_access/adjust_datavalue_status_code.js.map +1 -1
  70. package/dist/impl/data_access/semantics_changed.d.ts +31 -0
  71. package/dist/impl/data_access/semantics_changed.js +77 -0
  72. package/dist/impl/data_access/semantics_changed.js.map +1 -0
  73. package/dist/impl/data_access/ua_multistate_discrete_impl.js +0 -2
  74. package/dist/impl/data_access/ua_multistate_discrete_impl.js.map +1 -1
  75. package/dist/impl/data_access/ua_two_state_discrete_impl.js +6 -15
  76. package/dist/impl/data_access/ua_two_state_discrete_impl.js.map +1 -1
  77. package/dist/impl/historical_access/read_processed_details_hook.d.ts +22 -0
  78. package/dist/impl/historical_access/read_processed_details_hook.js +12 -0
  79. package/dist/impl/historical_access/read_processed_details_hook.js.map +1 -0
  80. package/dist/impl/namespace_impl.js +2 -4
  81. package/dist/impl/namespace_impl.js.map +1 -1
  82. package/dist/impl/ua_object_impl.js +13 -1
  83. package/dist/impl/ua_object_impl.js.map +1 -1
  84. package/dist/impl/ua_variable_impl.js +12 -1
  85. package/dist/impl/ua_variable_impl.js.map +1 -1
  86. package/dist/tsconfig_base.tsbuildinfo +1 -1
  87. package/distHelpers/get_address_space_fixture.js +2 -1
  88. package/distHelpers/get_address_space_fixture.js.map +1 -1
  89. package/distHelpers/index.d.ts +1 -0
  90. package/distHelpers/index.js +1 -0
  91. package/distHelpers/index.js.map +1 -1
  92. package/distNodeJS/generate_address_space.js +5 -1
  93. package/distNodeJS/generate_address_space.js.map +1 -1
  94. package/impl/address_space_change_event_tools.ts +4 -1
  95. package/impl/address_space_private.ts +5 -17
  96. package/impl/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +53 -41
  97. package/impl/alarms_and_conditions/ua_alarm_condition_impl.ts +262 -111
  98. package/impl/alarms_and_conditions/ua_condition_impl.ts +94 -20
  99. package/impl/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +2 -2
  100. package/impl/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +4 -4
  101. package/impl/alarms_and_conditions/ua_limit_alarm_impl.ts +22 -5
  102. package/impl/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +2 -2
  103. package/impl/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +2 -2
  104. package/impl/alarms_and_conditions/ua_off_normal_alarm_impl.ts +2 -2
  105. package/impl/base_node_impl.ts +31 -0
  106. package/impl/base_node_private.ts +2 -0
  107. package/impl/data_access/adjust_datavalue_status_code.ts +36 -7
  108. package/impl/data_access/semantics_changed.ts +102 -0
  109. package/impl/data_access/ua_multistate_discrete_impl.ts +0 -2
  110. package/impl/data_access/ua_two_state_discrete_impl.ts +6 -16
  111. package/impl/historical_access/read_processed_details_hook.ts +35 -0
  112. package/impl/namespace_impl.ts +2 -6
  113. package/impl/ua_object_impl.ts +13 -1
  114. package/impl/ua_variable_impl.ts +12 -1
  115. package/package.json +39 -39
  116. package/source_nodejs/generate_address_space.ts +6 -1
@@ -293,15 +293,14 @@ export function verifyArguments_ArgumentList(
293
293
  return { inputArgumentResults, statusCode: StatusCodes.BadTooManyArguments };
294
294
  }
295
295
 
296
- const hasBadTypeMismatch = inputArgumentResults.includes(StatusCodes.BadTypeMismatch);
297
- const hasBadOutOfRange = inputArgumentResults.includes(StatusCodes.BadOutOfRange);
298
-
299
- const statusCode =
300
- hasBadTypeMismatch || hasBadOutOfRange
301
- ? hasBadTypeMismatch && !hasBadOutOfRange
302
- ? StatusCodes.BadTypeMismatch
303
- : StatusCodes.BadInvalidArgument
304
- : StatusCodes.Good;
296
+ // Part 4 5.11.2 (Call): when one of the input arguments is not valid the
297
+ // operation statusCode is BadInvalidArgument and inputArgumentResults[i]
298
+ // carries the per-argument reason (BadTypeMismatch for a wrong DataType or
299
+ // ValueRank, BadOutOfRange for a value outside the range). A per-argument
300
+ // code is never promoted to the operation level (CTT Method Call Err-004,
301
+ // Subscription Durable Err-004).
302
+ const hasInvalidArgument = inputArgumentResults.some((s) => s.isNotGood());
303
+ const statusCode = hasInvalidArgument ? StatusCodes.BadInvalidArgument : StatusCodes.Good;
305
304
 
306
305
  return {
307
306
  inputArgumentResults,
@@ -25,6 +25,8 @@ import { resolveOpaqueOnAddressSpace } from "./resolve_opaque_on_address_space.j
25
25
  //
26
26
  // BadMethodInvalid The method id does not refer to a method for the specified object.
27
27
  // BadOutOfRange Used to indicate that an input argument is outside the acceptable range.
28
+ // BadInvalidArgument One of the input arguments is not valid; inputArgumentResults[i] says why:
29
+ // BadOutOfRange Used to indicate that an input argument is outside the acceptable range.
28
30
  // BadTypeMismatch Used to indicate that an input argument does not have the correct data type.
29
31
  // A ByteString is structurally the same as a one dimensional array of Byte.
30
32
  // A server shall accept a ByteString if an array of Byte is expected.
package/api/index.ts CHANGED
@@ -45,6 +45,14 @@ export {
45
45
  UANonExclusiveLimitAlarmImpl,
46
46
  UANonExclusiveLimitAlarmImplBase
47
47
  } from "../impl/alarms_and_conditions/index.js";
48
+ /**
49
+ * Upgrading a node to the typed view of what it already is.
50
+ *
51
+ * An alarm built by `objectType.instantiate` or loaded from a nodeset has the children of an alarm
52
+ * and none of the behaviour; promoting it retypes the node in place and installs the machinery
53
+ * `namespace.instantiateAlarmCondition` would have installed.
54
+ */
55
+ export { promoteToAlarm } from "../impl/alarms_and_conditions/ua_alarm_condition_impl.js";
48
56
  export { instantiateCertificateExpirationAlarm } from "../impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js";
49
57
  /** The event name a node emits when one of its attributes changes. */
50
58
  export { childAccessorNamesShadowedBy, makeAttributeEventName } from "../impl/base_node_impl.js";
@@ -84,6 +92,10 @@ export * from "../impl/event_data.js";
84
92
  export { addElement, bindExtObjArrayNode, createExtObjArrayNode, removeElement } from "../impl/extension_object_array_node.js";
85
93
  /** The default historian, installed through {@link AddressSpace.historizerFactory}. */
86
94
  export { VariableHistorian } from "../impl/historical_access/address_space_historical_data_node.js";
95
+ export {
96
+ installReadProcessedDetails,
97
+ type ReadProcessedDetailsFunc
98
+ } from "../impl/historical_access/read_processed_details_hook.js";
87
99
  /** @internal */
88
100
  export { isNonEmptyQualifiedName, NamespaceImpl } from "../impl/namespace_impl.js";
89
101
  /** How node ids are assigned within a namespace. */
@@ -130,6 +142,7 @@ export * from "./interfaces/alarms_and_conditions/instantiate_condition_options.
130
142
  export * from "./interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js";
131
143
  export * from "./interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js";
132
144
  export * from "./interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js";
145
+ export * from "./interfaces/alarms_and_conditions/promote_to_alarm_options.js";
133
146
  export * from "./interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js";
134
147
  export * from "./interfaces/alarms_and_conditions/ua_alarm_condition_ex.js";
135
148
  export * from "./interfaces/alarms_and_conditions/ua_base_event_ex.js";
@@ -231,6 +244,7 @@ export * from "./loader/register_node_promoter.js";
231
244
  export * from "./namespace.js";
232
245
  export type { INamespaceAlarmAndCondition } from "./namespace_alarm_and_condition.js";
233
246
  export * from "./namespace_data_access.js";
247
+ export * from "./namespace_of.js";
234
248
  export * from "./pseudo_session.js";
235
249
  export * from "./session_context.js";
236
250
  export * from "./set_namespace_meta_data.js";
@@ -0,0 +1,24 @@
1
+ import type { BaseNode, UAObject, UAVariable } from "node-opcua-address-space-base";
2
+ import type { NodeId } from "node-opcua-nodeid";
3
+
4
+ /**
5
+ * The options {@link promoteToAlarm} accepts.
6
+ *
7
+ * The names are the ones `instantiateAlarmCondition` already uses, so the two routes to a working
8
+ * alarm read the same. Everything is optional here: a node being promoted usually already carries
9
+ * the children and references the factory would have created.
10
+ */
11
+ export interface PromoteToAlarmOptions {
12
+ /**
13
+ * The node this alarm reports on. Wired as a backward HasCondition reference and used to fill
14
+ * SourceNode and SourceName, exactly as at instantiation time. The node has to be an event
15
+ * source, otherwise the events the alarm raises reach no one.
16
+ */
17
+ conditionSource?: UAObject | BaseNode | NodeId | null;
18
+ /** The variable whose value drives the alarm; monitoring is installed when it is given. */
19
+ inputNode?: UAVariable | NodeId;
20
+ /** Defaults to the ConditionType, as at instantiation time. */
21
+ conditionClass?: UAObject | BaseNode | NodeId | null;
22
+ conditionName?: string;
23
+ maxTimeShelved?: number;
24
+ }
@@ -1,4 +1,5 @@
1
1
  import type { BaseNode, ListenerSignature, UAVariable } from "node-opcua-address-space-base";
2
+ import type { DataValue } from "node-opcua-data-value";
2
3
  import type { NodeId } from "node-opcua-nodeid";
3
4
  import type { UAAlarmCondition_Base } from "node-opcua-nodeset-ua";
4
5
  import type { UATwoStateVariableEx } from "../../ua_two_state_variable_ex.js";
@@ -51,6 +52,38 @@ export interface UAAlarmConditionHelper extends UAAcknowledgeableConditionHelper
51
52
  value: string,
52
53
  oldConditionInfo: ConditionInfo
53
54
  ): ConditionInfo;
55
+
56
+ /**
57
+ * What the alarm does when the value of its input node changes. Assign to it to give an
58
+ * alarm a behaviour of its own, without deriving from an implementation class:
59
+ *
60
+ * ```ts
61
+ * alarm.onInputDataValueChange = (newValue) => {
62
+ * const tooHot = newValue.value.value > 80;
63
+ * if (tooHot !== alarm.activeState.getValue()) {
64
+ * alarm.signalNewCondition(tooHot ? "Active" : "Inactive", tooHot, `${newValue.value.value}`);
65
+ * }
66
+ * };
67
+ * ```
68
+ *
69
+ * The default does nothing: a plain AlarmConditionType cannot know what its input means.
70
+ * Alarm types that do know (limit alarms, off-normal alarms) already define it, so
71
+ * assigning to one of those replaces the behaviour it came with.
72
+ *
73
+ * The old name `_onInputDataValueChange` still works and is deprecated.
74
+ */
75
+ onInputDataValueChange(newValue: DataValue): void;
76
+
77
+ /**
78
+ * Raise a new condition event for this alarm, moving it to the given state.
79
+ *
80
+ * Call this only when the condition has actually changed: it throws when the ConditionInfo
81
+ * it computes is equal to the current one, because an event that reports nothing new is a
82
+ * bug in the caller rather than a state the alarm can represent.
83
+ *
84
+ * The old name `_signalNewCondition` still works and is deprecated.
85
+ */
86
+ signalNewCondition(stateName: string | null, isActive: boolean, value: string): void;
54
87
  }
55
88
 
56
89
  export interface UALarmConditionEvents extends UAAcknowledgeableConditionEvents {}
@@ -12,6 +12,24 @@ export interface UALimitAlarmHelper extends UAAlarmConditionHelper {
12
12
  getHighLimit(): number;
13
13
  getLowLimit(): number;
14
14
  getLowLowLimit(): number;
15
+
16
+ /**
17
+ * How the alarm turns the value of its input node into limit states. Assign to it to give
18
+ * a limit alarm a rule of its own:
19
+ *
20
+ * ```ts
21
+ * alarm.setStateBasedOnInputValue = (value) => {
22
+ * const isActive = value > alarm.getHighLimit();
23
+ * alarm.signalNewCondition(isActive ? "High" : null, isActive, value.toFixed(3));
24
+ * };
25
+ * ```
26
+ *
27
+ * Every concrete limit alarm type already defines this, so assigning to one replaces the
28
+ * rule it came with; the base LimitAlarmType has no limit states of its own and throws.
29
+ *
30
+ * The old name `_setStateBasedOnInputValue` still works and is deprecated.
31
+ */
32
+ setStateBasedOnInputValue(value: number): void;
15
33
  }
16
34
  export interface UALimitAlarmEx extends UALimitAlarm_Base, UAAlarmConditionEx, UALimitAlarmHelper {
17
35
  enabledState: UATwoStateVariableEx;
@@ -29,7 +29,7 @@ import type { EnumFieldOptions, StructureFieldOptions } from "node-opcua-xml2jso
29
29
  * was built from, and nothing else would ever invalidate it. The source digest cannot: the source
30
30
  * did not change. This number is the only lever.
31
31
  */
32
- export const NODESET_RECORD_SCHEMA = 3;
32
+ export const NODESET_RECORD_SCHEMA = 5;
33
33
 
34
34
  export interface NodesetModelRecord {
35
35
  modelUri: string;
@@ -127,7 +127,7 @@ export interface NodesetNodeRecord {
127
127
  symmetric?: boolean;
128
128
  // views
129
129
  containsNoLoops?: boolean;
130
- // variables, variable types and methods
130
+ // objects, variables, methods and views: the `ParentNodeId` attribute, the declared parent
131
131
  parentNodeId?: NodeId | null;
132
132
  // variables and variable types
133
133
  dataType?: NodeId | null;
@@ -607,6 +607,7 @@ export class NodesetRecordApplier implements NodesetRecordConsumer {
607
607
  this.createNode(
608
608
  {
609
609
  ...this.common(record),
610
+ parentNodeId: this.translateOrNull(record.parentNodeId),
610
611
  isAbstract: record.isAbstract,
611
612
  eventNotifier: record.eventNotifier,
612
613
  symbolicName: record.symbolicName ?? null,
@@ -194,6 +194,7 @@ export function makeXmlNodesetRecordReader(): XmlNodesetRecordReader {
194
194
  this.obj.isAbstract = coerceBoolean(attrs.IsAbstract);
195
195
  this.obj.eventNotifier = coerceByte(attrs.EventNotifier) || 0;
196
196
  if (attrs.SymbolicName) this.obj.symbolicName = attrs.SymbolicName;
197
+ if (attrs.ParentNodeId) this.obj.parentNodeId = nodeIdOf(attrs.ParentNodeId);
197
198
  },
198
199
  ...emit,
199
200
  parser: common_parser
@@ -265,7 +266,9 @@ export function makeXmlNodesetRecordReader(): XmlNodesetRecordReader {
265
266
  const record = baseRecord(nodeClass, attrs);
266
267
  const valueRank = attrs.ValueRank === undefined ? -1 : coerceInt32(attrs.ValueRank);
267
268
  record.parentNodeId = nodeIdOrNull(attrs.ParentNodeId);
268
- record.dataType = nodeIdOrNull(attrs.DataType);
269
+ // the UANodeSet schema defaults an omitted DataType to BaseDataType (i=24); a null
270
+ // NodeId here became i=0 on the wire (CTT Base Info Selection List 001 on i=16309)
271
+ record.dataType = attrs.DataType ? nodeIdOf(attrs.DataType) : resolveNodeId(DataTypeIds.BaseDataType);
269
272
  record.valueRank = valueRank;
270
273
  record.arrayDimensions = valueRank <= 0 ? null : stringToUInt32Array(attrs.ArrayDimensions);
271
274
  record.minimumSamplingInterval = attrs.MinimumSamplingInterval ? parseInt(attrs.MinimumSamplingInterval, 10) : 0;
@@ -316,6 +319,7 @@ export function makeXmlNodesetRecordReader(): XmlNodesetRecordReader {
316
319
  this.obj = baseRecord(NodeClass.View, attrs);
317
320
  if (attrs.ContainsNoLoops !== undefined) this.obj.containsNoLoops = coerceBoolean(attrs.ContainsNoLoops);
318
321
  this.obj.eventNotifier = coerceByte(attrs.EventNotifier) || 0;
322
+ if (attrs.ParentNodeId) this.obj.parentNodeId = nodeIdOf(attrs.ParentNodeId);
319
323
  },
320
324
  ...emit,
321
325
  parser: common_parser
@@ -0,0 +1,28 @@
1
+ import type { BaseNode } from "node-opcua-address-space-base";
2
+ import type { Namespace } from "./namespace.js";
3
+
4
+ /**
5
+ * The namespace a node belongs to, seen through the published {@link Namespace}.
6
+ *
7
+ * `BaseNode.namespace` is declared in node-opcua-address-space-base, which cannot name the
8
+ * alarm-and-condition, data-access and machine-state methods this package adds without
9
+ * depending on it. So a caller holding only a node saw the narrower `INamespace`, and reaching
10
+ * `instantiateAlarmCondition` meant asserting the type at every call site.
11
+ *
12
+ * The same mismatch was already corrected for `AddressSpace.getOwnNamespace()`, which used to
13
+ * return the narrower interface and hide those methods. This closes the remaining case: the
14
+ * assertion happens once, here, where both types are in scope.
15
+ *
16
+ * ```ts
17
+ * const alarm = namespaceOf(deviceNode).instantiateAlarmCondition(alarmType, {
18
+ * browseName: "FailureAlarm",
19
+ * conditionSource: deviceNode,
20
+ * inputNode: deviceHealthNode
21
+ * });
22
+ * ```
23
+ */
24
+ export function namespaceOf(node: BaseNode): Namespace {
25
+ // every namespace in this address space is a NamespaceImpl, which satisfies Namespace;
26
+ // only the declaration BaseNode can reach is narrower
27
+ return node.namespace as Namespace;
28
+ }
@@ -248,13 +248,14 @@ function verifyArguments_ArgumentList(addressSpace, methodInputArguments, inputA
248
248
  inputArguments.length);
249
249
  return { inputArgumentResults, statusCode: node_opcua_status_code_1.StatusCodes.BadTooManyArguments };
250
250
  }
251
- const hasBadTypeMismatch = inputArgumentResults.includes(node_opcua_status_code_1.StatusCodes.BadTypeMismatch);
252
- const hasBadOutOfRange = inputArgumentResults.includes(node_opcua_status_code_1.StatusCodes.BadOutOfRange);
253
- const statusCode = hasBadTypeMismatch || hasBadOutOfRange
254
- ? hasBadTypeMismatch && !hasBadOutOfRange
255
- ? node_opcua_status_code_1.StatusCodes.BadTypeMismatch
256
- : node_opcua_status_code_1.StatusCodes.BadInvalidArgument
257
- : node_opcua_status_code_1.StatusCodes.Good;
251
+ // Part 4 5.11.2 (Call): when one of the input arguments is not valid the
252
+ // operation statusCode is BadInvalidArgument and inputArgumentResults[i]
253
+ // carries the per-argument reason (BadTypeMismatch for a wrong DataType or
254
+ // ValueRank, BadOutOfRange for a value outside the range). A per-argument
255
+ // code is never promoted to the operation level (CTT Method Call Err-004,
256
+ // Subscription Durable Err-004).
257
+ const hasInvalidArgument = inputArgumentResults.some((s) => s.isNotGood());
258
+ const statusCode = hasInvalidArgument ? node_opcua_status_code_1.StatusCodes.BadInvalidArgument : node_opcua_status_code_1.StatusCodes.Good;
258
259
  return {
259
260
  inputArgumentResults,
260
261
  statusCode
@@ -1 +1 @@
1
- {"version":3,"file":"argument_list.js","sourceRoot":"","sources":["../../../api/helpers/argument_list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"argument_list.js","sourceRoot":"","sources":["../../../api/helpers/argument_list.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,8 @@ const resolve_opaque_on_address_space_js_1 = require("./resolve_opaque_on_addres
21
21
  //
22
22
  // BadMethodInvalid The method id does not refer to a method for the specified object.
23
23
  // BadOutOfRange Used to indicate that an input argument is outside the acceptable range.
24
+ // BadInvalidArgument One of the input arguments is not valid; inputArgumentResults[i] says why:
25
+ // BadOutOfRange Used to indicate that an input argument is outside the acceptable range.
24
26
  // BadTypeMismatch Used to indicate that an input argument does not have the correct data type.
25
27
  // A ByteString is structurally the same as a one dimensional array of Byte.
26
28
  // A server shall accept a ByteString if an array of Byte is expected.
@@ -1 +1 @@
1
- {"version":3,"file":"call_helpers.js","sourceRoot":"","sources":["../../../api/helpers/call_helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"call_helpers.js","sourceRoot":"","sources":["../../../api/helpers/call_helpers.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,14 @@ export * from "node-opcua-address-space-base";
5
5
  export * from "node-opcua-nodeset-ua";
6
6
  /** @internal */
7
7
  export { ConditionInfoImpl, ConditionSnapshotImpl, OneDayDuration, promoteToCertificateExpirationAlarm, TwoWeeksDuration, UAAcknowledgeableConditionImpl, UAAcknowledgeableConditionImplBase, UAAlarmConditionImpl, UAAlarmConditionImplBase, UACertificateExpirationAlarmImpl, UAConditionImpl, UAConditionImplBase, UADiscreteAlarmImpl, UADiscreteAlarmImplBase, UAExclusiveDeviationAlarmImpl, UAExclusiveDeviationAlarmImplBase, UAExclusiveLevelAlarmImpl, UAExclusiveLimitAlarmImpl, UAExclusiveLimitAlarmImplBase, UALimitAlarmImpl, UALimitAlarmImplBase, UANonExclusiveDeviationAlarmImpl, UANonExclusiveDeviationAlarmImplBase, UANonExclusiveLimitAlarmImpl, UANonExclusiveLimitAlarmImplBase } from "../impl/alarms_and_conditions/index.js";
8
+ /**
9
+ * Upgrading a node to the typed view of what it already is.
10
+ *
11
+ * An alarm built by `objectType.instantiate` or loaded from a nodeset has the children of an alarm
12
+ * and none of the behaviour; promoting it retypes the node in place and installs the machinery
13
+ * `namespace.instantiateAlarmCondition` would have installed.
14
+ */
15
+ export { promoteToAlarm } from "../impl/alarms_and_conditions/ua_alarm_condition_impl.js";
8
16
  export { instantiateCertificateExpirationAlarm } from "../impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js";
9
17
  /** The event name a node emits when one of its attributes changes. */
10
18
  export { childAccessorNamesShadowedBy, makeAttributeEventName } from "../impl/base_node_impl.js";
@@ -26,6 +34,7 @@ export * from "../impl/event_data.js";
26
34
  export { addElement, bindExtObjArrayNode, createExtObjArrayNode, removeElement } from "../impl/extension_object_array_node.js";
27
35
  /** The default historian, installed through {@link AddressSpace.historizerFactory}. */
28
36
  export { VariableHistorian } from "../impl/historical_access/address_space_historical_data_node.js";
37
+ export { installReadProcessedDetails, type ReadProcessedDetailsFunc } from "../impl/historical_access/read_processed_details_hook.js";
29
38
  /** @internal */
30
39
  export { isNonEmptyQualifiedName, NamespaceImpl } from "../impl/namespace_impl.js";
31
40
  /** How node ids are assigned within a namespace. */
@@ -66,6 +75,7 @@ export * from "./interfaces/alarms_and_conditions/instantiate_condition_options.
66
75
  export * from "./interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js";
67
76
  export * from "./interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js";
68
77
  export * from "./interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js";
78
+ export * from "./interfaces/alarms_and_conditions/promote_to_alarm_options.js";
69
79
  export * from "./interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js";
70
80
  export * from "./interfaces/alarms_and_conditions/ua_alarm_condition_ex.js";
71
81
  export * from "./interfaces/alarms_and_conditions/ua_base_event_ex.js";
@@ -110,6 +120,7 @@ export * from "./loader/register_node_promoter.js";
110
120
  export * from "./namespace.js";
111
121
  export type { INamespaceAlarmAndCondition } from "./namespace_alarm_and_condition.js";
112
122
  export * from "./namespace_data_access.js";
123
+ export * from "./namespace_of.js";
113
124
  export * from "./pseudo_session.js";
114
125
  export * from "./session_context.js";
115
126
  export * from "./set_namespace_meta_data.js";
package/dist/api/index.js CHANGED
@@ -17,9 +17,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.isNonEmptyQualifiedName = exports.VariableHistorian = exports.removeElement = exports.createExtObjArrayNode = exports.bindExtObjArrayNode = exports.addElement = exports.UATwoStateDiscreteImplBase = exports.UATwoStateDiscreteImpl = exports.promoteToTwoStateDiscrete = exports._addTwoStateDiscrete = exports.validateIsNumericDataType = exports.validateDataType = exports.UAMultiStateValueDiscreteImplBase = exports.UAMultiStateValueDiscreteImpl = exports.promoteToMultiStateValueDiscrete = exports._addMultiStateValueDiscrete = exports.UAMultiStateDiscreteImplBase = exports.UAMultiStateDiscreteImpl = exports.promoteToMultiStateDiscrete = exports._addMultiStateDiscrete = exports.adjustDataValueStatusCode = exports.add_dataItem_stuff = exports.makeAttributeEventName = exports.childAccessorNamesShadowedBy = exports.instantiateCertificateExpirationAlarm = exports.UANonExclusiveLimitAlarmImplBase = exports.UANonExclusiveLimitAlarmImpl = exports.UANonExclusiveDeviationAlarmImplBase = exports.UANonExclusiveDeviationAlarmImpl = exports.UALimitAlarmImplBase = exports.UALimitAlarmImpl = exports.UAExclusiveLimitAlarmImplBase = exports.UAExclusiveLimitAlarmImpl = exports.UAExclusiveLevelAlarmImpl = exports.UAExclusiveDeviationAlarmImplBase = exports.UAExclusiveDeviationAlarmImpl = exports.UADiscreteAlarmImplBase = exports.UADiscreteAlarmImpl = exports.UAConditionImplBase = exports.UAConditionImpl = exports.UACertificateExpirationAlarmImpl = exports.UAAlarmConditionImplBase = exports.UAAlarmConditionImpl = exports.UAAcknowledgeableConditionImplBase = exports.UAAcknowledgeableConditionImpl = exports.TwoWeeksDuration = exports.promoteToCertificateExpirationAlarm = exports.OneDayDuration = exports.ConditionSnapshotImpl = exports.ConditionInfoImpl = void 0;
21
- exports.headerComplete = exports.nodesetToImage = exports.sha256Hex = exports.recordsToNodeset2XML = exports.XmlExtensionObjectFragment = exports.recordBytes = exports.NODESET_RECORD_SCHEMA = exports.sharedMemoryNodesetImageStore = exports.nodesetImageKey = exports.MemoryNodesetImageStore = exports.encodeValue = exports.decodeValue = exports.setImageInflater = exports.setImageDeflater = exports.readNodesetImageInfo = exports.nodesetImageProblem = exports.NodesetImageWriter = exports.NodesetImageError = exports.isNodesetImage = exports.inflatedImageLines = exports.imageNodesetRecords = exports.imageLinesToRecords = exports.registerNodesetFormat = exports.nodesetFormats = exports.nodesetFormatByName = exports.findNodesetFormat = exports.registerBuiltinNodesetFormats = exports.NODESET2_XML_FORMAT = exports.NDJSON_IMAGE_FORMAT = exports.isNdjsonHeaderLine = exports.narrowInstanceDataTypes = exports.ensureDatatypeExtractedWithCallback = exports.ensureDatatypeExtracted = exports.resolveOpaqueOnAddressSpace = exports.adjustBrowseDirection = exports.ContinuationPointManager = exports.validateDataTypeCorrectness = exports.promoteToStateMachineType = exports.promoteToStateMachine = exports.resolveReferenceType = exports.resolveReferenceNode = exports.sortByBrowseName = exports.namespaceToRecords = exports.namespaceToImage = exports.NodesetExportError = exports.dumpToBSD = exports.adjustNamespaceArray = exports.NodeIdManager = exports.NamespaceOptions = exports.NamespaceImpl = void 0;
22
- exports.xmlNodesetRecords = exports.makeXmlNodesetRecordReader = exports.sliceHeader = exports.parseDependencies = void 0;
20
+ exports.VariableHistorian = exports.removeElement = exports.createExtObjArrayNode = exports.bindExtObjArrayNode = exports.addElement = exports.UATwoStateDiscreteImplBase = exports.UATwoStateDiscreteImpl = exports.promoteToTwoStateDiscrete = exports._addTwoStateDiscrete = exports.validateIsNumericDataType = exports.validateDataType = exports.UAMultiStateValueDiscreteImplBase = exports.UAMultiStateValueDiscreteImpl = exports.promoteToMultiStateValueDiscrete = exports._addMultiStateValueDiscrete = exports.UAMultiStateDiscreteImplBase = exports.UAMultiStateDiscreteImpl = exports.promoteToMultiStateDiscrete = exports._addMultiStateDiscrete = exports.adjustDataValueStatusCode = exports.add_dataItem_stuff = exports.makeAttributeEventName = exports.childAccessorNamesShadowedBy = exports.instantiateCertificateExpirationAlarm = exports.promoteToAlarm = exports.UANonExclusiveLimitAlarmImplBase = exports.UANonExclusiveLimitAlarmImpl = exports.UANonExclusiveDeviationAlarmImplBase = exports.UANonExclusiveDeviationAlarmImpl = exports.UALimitAlarmImplBase = exports.UALimitAlarmImpl = exports.UAExclusiveLimitAlarmImplBase = exports.UAExclusiveLimitAlarmImpl = exports.UAExclusiveLevelAlarmImpl = exports.UAExclusiveDeviationAlarmImplBase = exports.UAExclusiveDeviationAlarmImpl = exports.UADiscreteAlarmImplBase = exports.UADiscreteAlarmImpl = exports.UAConditionImplBase = exports.UAConditionImpl = exports.UACertificateExpirationAlarmImpl = exports.UAAlarmConditionImplBase = exports.UAAlarmConditionImpl = exports.UAAcknowledgeableConditionImplBase = exports.UAAcknowledgeableConditionImpl = exports.TwoWeeksDuration = exports.promoteToCertificateExpirationAlarm = exports.OneDayDuration = exports.ConditionSnapshotImpl = exports.ConditionInfoImpl = void 0;
21
+ exports.sha256Hex = exports.recordsToNodeset2XML = exports.XmlExtensionObjectFragment = exports.recordBytes = exports.NODESET_RECORD_SCHEMA = exports.sharedMemoryNodesetImageStore = exports.nodesetImageKey = exports.MemoryNodesetImageStore = exports.encodeValue = exports.decodeValue = exports.setImageInflater = exports.setImageDeflater = exports.readNodesetImageInfo = exports.nodesetImageProblem = exports.NodesetImageWriter = exports.NodesetImageError = exports.isNodesetImage = exports.inflatedImageLines = exports.imageNodesetRecords = exports.imageLinesToRecords = exports.registerNodesetFormat = exports.nodesetFormats = exports.nodesetFormatByName = exports.findNodesetFormat = exports.registerBuiltinNodesetFormats = exports.NODESET2_XML_FORMAT = exports.NDJSON_IMAGE_FORMAT = exports.isNdjsonHeaderLine = exports.narrowInstanceDataTypes = exports.ensureDatatypeExtractedWithCallback = exports.ensureDatatypeExtracted = exports.resolveOpaqueOnAddressSpace = exports.adjustBrowseDirection = exports.ContinuationPointManager = exports.validateDataTypeCorrectness = exports.promoteToStateMachineType = exports.promoteToStateMachine = exports.resolveReferenceType = exports.resolveReferenceNode = exports.sortByBrowseName = exports.namespaceToRecords = exports.namespaceToImage = exports.NodesetExportError = exports.dumpToBSD = exports.adjustNamespaceArray = exports.NodeIdManager = exports.NamespaceOptions = exports.NamespaceImpl = exports.isNonEmptyQualifiedName = exports.installReadProcessedDetails = void 0;
22
+ exports.xmlNodesetRecords = exports.makeXmlNodesetRecordReader = exports.sliceHeader = exports.parseDependencies = exports.headerComplete = exports.nodesetToImage = void 0;
23
23
  __exportStar(require("node-opcua-address-space-base"), exports);
24
24
  __exportStar(require("node-opcua-nodeset-ua"), exports);
25
25
  // ---------------------------------------------------------------------------------------
@@ -62,6 +62,15 @@ Object.defineProperty(exports, "UANonExclusiveDeviationAlarmImpl", { enumerable:
62
62
  Object.defineProperty(exports, "UANonExclusiveDeviationAlarmImplBase", { enumerable: true, get: function () { return index_js_1.UANonExclusiveDeviationAlarmImplBase; } });
63
63
  Object.defineProperty(exports, "UANonExclusiveLimitAlarmImpl", { enumerable: true, get: function () { return index_js_1.UANonExclusiveLimitAlarmImpl; } });
64
64
  Object.defineProperty(exports, "UANonExclusiveLimitAlarmImplBase", { enumerable: true, get: function () { return index_js_1.UANonExclusiveLimitAlarmImplBase; } });
65
+ /**
66
+ * Upgrading a node to the typed view of what it already is.
67
+ *
68
+ * An alarm built by `objectType.instantiate` or loaded from a nodeset has the children of an alarm
69
+ * and none of the behaviour; promoting it retypes the node in place and installs the machinery
70
+ * `namespace.instantiateAlarmCondition` would have installed.
71
+ */
72
+ var ua_alarm_condition_impl_js_1 = require("../impl/alarms_and_conditions/ua_alarm_condition_impl.js");
73
+ Object.defineProperty(exports, "promoteToAlarm", { enumerable: true, get: function () { return ua_alarm_condition_impl_js_1.promoteToAlarm; } });
65
74
  var ua_certificate_expiration_alarm_impl_js_1 = require("../impl/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js");
66
75
  Object.defineProperty(exports, "instantiateCertificateExpirationAlarm", { enumerable: true, get: function () { return ua_certificate_expiration_alarm_impl_js_1.instantiateCertificateExpirationAlarm; } });
67
76
  /** The event name a node emits when one of its attributes changes. */
@@ -108,6 +117,8 @@ Object.defineProperty(exports, "removeElement", { enumerable: true, get: functio
108
117
  /** The default historian, installed through {@link AddressSpace.historizerFactory}. */
109
118
  var address_space_historical_data_node_js_1 = require("../impl/historical_access/address_space_historical_data_node.js");
110
119
  Object.defineProperty(exports, "VariableHistorian", { enumerable: true, get: function () { return address_space_historical_data_node_js_1.VariableHistorian; } });
120
+ var read_processed_details_hook_js_1 = require("../impl/historical_access/read_processed_details_hook.js");
121
+ Object.defineProperty(exports, "installReadProcessedDetails", { enumerable: true, get: function () { return read_processed_details_hook_js_1.installReadProcessedDetails; } });
111
122
  /** @internal */
112
123
  var namespace_impl_js_1 = require("../impl/namespace_impl.js");
113
124
  Object.defineProperty(exports, "isNonEmptyQualifiedName", { enumerable: true, get: function () { return namespace_impl_js_1.isNonEmptyQualifiedName; } });
@@ -166,6 +177,7 @@ __exportStar(require("./interfaces/alarms_and_conditions/instantiate_condition_o
166
177
  __exportStar(require("./interfaces/alarms_and_conditions/instantiate_exclusive_limit_alarm_options.js"), exports);
167
178
  __exportStar(require("./interfaces/alarms_and_conditions/instantiate_limit_alarm_options.js"), exports);
168
179
  __exportStar(require("./interfaces/alarms_and_conditions/instantiate_off_normal_alarm_options.js"), exports);
180
+ __exportStar(require("./interfaces/alarms_and_conditions/promote_to_alarm_options.js"), exports);
169
181
  __exportStar(require("./interfaces/alarms_and_conditions/ua_acknowledgeable_condition_ex.js"), exports);
170
182
  __exportStar(require("./interfaces/alarms_and_conditions/ua_alarm_condition_ex.js"), exports);
171
183
  __exportStar(require("./interfaces/alarms_and_conditions/ua_base_event_ex.js"), exports);
@@ -245,6 +257,7 @@ Object.defineProperty(exports, "xmlNodesetRecords", { enumerable: true, get: fun
245
257
  __exportStar(require("./loader/register_node_promoter.js"), exports);
246
258
  __exportStar(require("./namespace.js"), exports);
247
259
  __exportStar(require("./namespace_data_access.js"), exports);
260
+ __exportStar(require("./namespace_of.js"), exports);
248
261
  __exportStar(require("./pseudo_session.js"), exports);
249
262
  __exportStar(require("./session_context.js"), exports);
250
263
  __exportStar(require("./set_namespace_meta_data.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../api/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { BaseNode, UAObject, UAVariable } from "node-opcua-address-space-base";
2
+ import type { NodeId } from "node-opcua-nodeid";
3
+ /**
4
+ * The options {@link promoteToAlarm} accepts.
5
+ *
6
+ * The names are the ones `instantiateAlarmCondition` already uses, so the two routes to a working
7
+ * alarm read the same. Everything is optional here: a node being promoted usually already carries
8
+ * the children and references the factory would have created.
9
+ */
10
+ export interface PromoteToAlarmOptions {
11
+ /**
12
+ * The node this alarm reports on. Wired as a backward HasCondition reference and used to fill
13
+ * SourceNode and SourceName, exactly as at instantiation time. The node has to be an event
14
+ * source, otherwise the events the alarm raises reach no one.
15
+ */
16
+ conditionSource?: UAObject | BaseNode | NodeId | null;
17
+ /** The variable whose value drives the alarm; monitoring is installed when it is given. */
18
+ inputNode?: UAVariable | NodeId;
19
+ /** Defaults to the ConditionType, as at instantiation time. */
20
+ conditionClass?: UAObject | BaseNode | NodeId | null;
21
+ conditionName?: string;
22
+ maxTimeShelved?: number;
23
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=promote_to_alarm_options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promote_to_alarm_options.js","sourceRoot":"","sources":["../../../../api/interfaces/alarms_and_conditions/promote_to_alarm_options.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  import type { BaseNode, ListenerSignature, UAVariable } from "node-opcua-address-space-base";
2
+ import type { DataValue } from "node-opcua-data-value";
2
3
  import type { NodeId } from "node-opcua-nodeid";
3
4
  import type { UAAlarmCondition_Base } from "node-opcua-nodeset-ua";
4
5
  import type { UATwoStateVariableEx } from "../../ua_two_state_variable_ex.js";
@@ -40,6 +41,36 @@ export interface UAAlarmConditionHelper extends UAAcknowledgeableConditionHelper
40
41
  * deprecated.
41
42
  */
42
43
  calculateConditionInfo(stateName: string | null, isActive: boolean, value: string, oldConditionInfo: ConditionInfo): ConditionInfo;
44
+ /**
45
+ * What the alarm does when the value of its input node changes. Assign to it to give an
46
+ * alarm a behaviour of its own, without deriving from an implementation class:
47
+ *
48
+ * ```ts
49
+ * alarm.onInputDataValueChange = (newValue) => {
50
+ * const tooHot = newValue.value.value > 80;
51
+ * if (tooHot !== alarm.activeState.getValue()) {
52
+ * alarm.signalNewCondition(tooHot ? "Active" : "Inactive", tooHot, `${newValue.value.value}`);
53
+ * }
54
+ * };
55
+ * ```
56
+ *
57
+ * The default does nothing: a plain AlarmConditionType cannot know what its input means.
58
+ * Alarm types that do know (limit alarms, off-normal alarms) already define it, so
59
+ * assigning to one of those replaces the behaviour it came with.
60
+ *
61
+ * The old name `_onInputDataValueChange` still works and is deprecated.
62
+ */
63
+ onInputDataValueChange(newValue: DataValue): void;
64
+ /**
65
+ * Raise a new condition event for this alarm, moving it to the given state.
66
+ *
67
+ * Call this only when the condition has actually changed: it throws when the ConditionInfo
68
+ * it computes is equal to the current one, because an event that reports nothing new is a
69
+ * bug in the caller rather than a state the alarm can represent.
70
+ *
71
+ * The old name `_signalNewCondition` still works and is deprecated.
72
+ */
73
+ signalNewCondition(stateName: string | null, isActive: boolean, value: string): void;
43
74
  }
44
75
  export interface UALarmConditionEvents extends UAAcknowledgeableConditionEvents {
45
76
  }
@@ -11,6 +11,23 @@ export interface UALimitAlarmHelper extends UAAlarmConditionHelper {
11
11
  getHighLimit(): number;
12
12
  getLowLimit(): number;
13
13
  getLowLowLimit(): number;
14
+ /**
15
+ * How the alarm turns the value of its input node into limit states. Assign to it to give
16
+ * a limit alarm a rule of its own:
17
+ *
18
+ * ```ts
19
+ * alarm.setStateBasedOnInputValue = (value) => {
20
+ * const isActive = value > alarm.getHighLimit();
21
+ * alarm.signalNewCondition(isActive ? "High" : null, isActive, value.toFixed(3));
22
+ * };
23
+ * ```
24
+ *
25
+ * Every concrete limit alarm type already defines this, so assigning to one replaces the
26
+ * rule it came with; the base LimitAlarmType has no limit states of its own and throws.
27
+ *
28
+ * The old name `_setStateBasedOnInputValue` still works and is deprecated.
29
+ */
30
+ setStateBasedOnInputValue(value: number): void;
14
31
  }
15
32
  export interface UALimitAlarmEx extends UALimitAlarm_Base, UAAlarmConditionEx, UALimitAlarmHelper {
16
33
  enabledState: UATwoStateVariableEx;
@@ -28,7 +28,7 @@ import type { EnumFieldOptions, StructureFieldOptions } from "node-opcua-xml2jso
28
28
  * was built from, and nothing else would ever invalidate it. The source digest cannot: the source
29
29
  * did not change. This number is the only lever.
30
30
  */
31
- export declare const NODESET_RECORD_SCHEMA = 3;
31
+ export declare const NODESET_RECORD_SCHEMA = 5;
32
32
  export interface NodesetModelRecord {
33
33
  modelUri: string;
34
34
  version: string;
@@ -11,7 +11,7 @@ exports.recordBytes = exports.XmlExtensionObjectFragment = exports.NODESET_RECOR
11
11
  * was built from, and nothing else would ever invalidate it. The source digest cannot: the source
12
12
  * did not change. This number is the only lever.
13
13
  */
14
- exports.NODESET_RECORD_SCHEMA = 3;
14
+ exports.NODESET_RECORD_SCHEMA = 5;
15
15
  /**
16
16
  * an extension object the reader could not decode on the spot: its XML body waits in the value
17
17
  * until the data types are known, then a consumer decodes it
@@ -479,6 +479,7 @@ class NodesetRecordApplier {
479
479
  case node_opcua_data_model_1.NodeClass.Object:
480
480
  this.createNode({
481
481
  ...this.common(record),
482
+ parentNodeId: this.translateOrNull(record.parentNodeId),
482
483
  isAbstract: record.isAbstract,
483
484
  eventNotifier: record.eventNotifier,
484
485
  symbolicName: record.symbolicName ?? null,