node-opcua-address-space 2.90.0 → 2.91.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 (80) hide show
  1. package/dist/source/helpers/argument_list.js +3 -3
  2. package/dist/source/helpers/argument_list.js.map +1 -1
  3. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +13 -1
  4. package/dist/source/loader/load_nodeset2.js +5 -5
  5. package/dist/source/loader/load_nodeset2.js.map +1 -1
  6. package/dist/src/address_space.js +8 -8
  7. package/dist/src/address_space.js.map +1 -1
  8. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +1 -1
  9. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  10. package/dist/src/alarms_and_conditions/ua_condition_impl.js +2 -2
  11. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  12. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +1 -1
  13. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -1
  14. package/dist/src/base_node_impl.js +3 -3
  15. package/dist/src/base_node_impl.js.map +1 -1
  16. package/dist/src/base_node_private.js +4 -4
  17. package/dist/src/base_node_private.js.map +1 -1
  18. package/dist/src/check_value_rank_compatibility.d.ts +15 -0
  19. package/dist/src/check_value_rank_compatibility.js +82 -0
  20. package/dist/src/check_value_rank_compatibility.js.map +1 -0
  21. package/dist/src/extension_object_array_node.js +3 -3
  22. package/dist/src/extension_object_array_node.js.map +1 -1
  23. package/dist/src/index_current.d.ts +1 -1
  24. package/dist/src/index_current.js +2 -1
  25. package/dist/src/index_current.js.map +1 -1
  26. package/dist/src/namespace_impl.js +0 -2
  27. package/dist/src/namespace_impl.js.map +1 -1
  28. package/dist/src/nodeset_tools/nodeset_to_xml.js +9 -9
  29. package/dist/src/nodeset_tools/nodeset_to_xml.js.map +1 -1
  30. package/dist/src/state_machine/finite_state_machine.d.ts +16 -2
  31. package/dist/src/state_machine/finite_state_machine.js +83 -44
  32. package/dist/src/state_machine/finite_state_machine.js.map +1 -1
  33. package/dist/src/tool_isSubtypeOf.d.ts +18 -0
  34. package/dist/src/tool_isSubtypeOf.js +125 -0
  35. package/dist/src/tool_isSubtypeOf.js.map +1 -0
  36. package/dist/src/tool_isSupertypeOf.d.ts +4 -4
  37. package/dist/src/ua_data_type_impl.d.ts +6 -4
  38. package/dist/src/ua_data_type_impl.js +13 -11
  39. package/dist/src/ua_data_type_impl.js.map +1 -1
  40. package/dist/src/ua_object_type_impl.d.ts +4 -2
  41. package/dist/src/ua_object_type_impl.js +7 -5
  42. package/dist/src/ua_object_type_impl.js.map +1 -1
  43. package/dist/src/ua_reference_type_impl.d.ts +5 -3
  44. package/dist/src/ua_reference_type_impl.js +8 -6
  45. package/dist/src/ua_reference_type_impl.js.map +1 -1
  46. package/dist/src/ua_variable_impl.d.ts +19 -7
  47. package/dist/src/ua_variable_impl.js +38 -23
  48. package/dist/src/ua_variable_impl.js.map +1 -1
  49. package/dist/src/ua_variable_impl_ext_obj.js +22 -13
  50. package/dist/src/ua_variable_impl_ext_obj.js.map +1 -1
  51. package/dist/src/ua_variable_type_impl.d.ts +15 -3
  52. package/dist/src/ua_variable_type_impl.js +17 -6
  53. package/dist/src/ua_variable_type_impl.js.map +1 -1
  54. package/distHelpers/boiler_system.js +5 -5
  55. package/distHelpers/boiler_system.js.map +1 -1
  56. package/package.json +34 -34
  57. package/source/helpers/argument_list.ts +3 -3
  58. package/source/interfaces/state_machine/ua_state_machine_type.ts +19 -1
  59. package/source/loader/load_nodeset2.ts +11 -10
  60. package/src/address_space.ts +8 -8
  61. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +1 -1
  62. package/src/alarms_and_conditions/ua_condition_impl.ts +2 -2
  63. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +1 -1
  64. package/src/base_node_impl.ts +3 -3
  65. package/src/base_node_private.ts +3 -3
  66. package/src/check_value_rank_compatibility.ts +79 -0
  67. package/src/extension_object_array_node.ts +3 -3
  68. package/src/index_current.ts +1 -1
  69. package/src/namespace_impl.ts +0 -4
  70. package/src/nodeset_tools/nodeset_to_xml.ts +9 -9
  71. package/src/state_machine/finite_state_machine.ts +105 -60
  72. package/src/{tool_isSupertypeOf.ts → tool_isSubtypeOf.ts} +9 -9
  73. package/src/ua_data_type_impl.ts +21 -19
  74. package/src/ua_object_type_impl.ts +9 -3
  75. package/src/ua_reference_type_impl.ts +7 -4
  76. package/src/ua_variable_impl.ts +2033 -2006
  77. package/src/ua_variable_impl_ext_obj.ts +28 -15
  78. package/src/ua_variable_type_impl.ts +31 -5
  79. package/test_helpers/boiler_system.ts +5 -5
  80. package/test_helpers/test_fixtures/eurange_issue.xml +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"nodeset_to_xml.js","sourceRoot":"","sources":["../../../src/nodeset_tools/nodeset_to_xml.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodeset_to_xml.js","sourceRoot":"","sources":["../../../src/nodeset_tools/nodeset_to_xml.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import { UAState, UAStateVariable, UATransition, UATransitionVariable } from "node-opcua-nodeset-ua";
2
2
  import { LocalizedText } from "node-opcua-data-model";
3
3
  import { NodeId } from "node-opcua-nodeid";
4
- import { BaseNode, UAObject } from "node-opcua-address-space-base";
5
- import { UAStateMachineEx, TransitionSelector } from "../../source/interfaces/state_machine/ua_state_machine_type";
4
+ import { DataType } from "node-opcua-variant";
5
+ import { UAString } from "node-opcua-basic-types";
6
+ import { BaseNode, UAObject, UAObjectType, UAVariableT } from "node-opcua-address-space-base";
7
+ import { UAStateMachineEx, TransitionSelector, UAStateMachineTypeHelper } from "../../source/interfaces/state_machine/ua_state_machine_type";
6
8
  import { UAObjectImpl } from "../ua_object_impl";
7
9
  import { UATransitionEx } from "../../source/interfaces/state_machine/ua_transition_ex";
10
+ import { UAObjectTypeImpl } from "../ua_object_type_impl";
8
11
  export declare interface UATransitionImpl extends UATransition, UATransitionEx {
9
12
  }
10
13
  export declare class UATransitionImpl implements UATransition, UATransitionEx {
@@ -14,6 +17,9 @@ export interface UAStateMachineImpl {
14
17
  lastTransition?: UATransitionVariable<LocalizedText>;
15
18
  _currentStateNode: UAState | null;
16
19
  }
20
+ export declare function getFiniteStateMachineTypeStates(uaFiniteStateMachineType: UAObjectType): UAState[];
21
+ export declare function getFiniteStateMachineTypeTransitions(uaFiniteStateMachineType: UAObjectType): UATransitionEx[];
22
+ export declare function getFiniteStateMachineTypeStateByName(uaFiniteStateMachineType: UAObjectType, stateName: string): UAState | null;
17
23
  export declare class UAStateMachineImpl extends UAObjectImpl implements UAStateMachineEx {
18
24
  getStates(): UAState[];
19
25
  get states(): UAState[];
@@ -65,3 +71,11 @@ export declare class UAStateMachineImpl extends UAObjectImpl implements UAStateM
65
71
  _post_initialize(): void;
66
72
  }
67
73
  export declare function promoteToStateMachine(node: UAObject): UAStateMachineEx;
74
+ export declare class UAStateMachineTypeImpl extends UAObjectTypeImpl implements UAStateMachineTypeHelper {
75
+ getStateByName(name: string): UAState | null;
76
+ getStates(): UAState[];
77
+ getTransitions(): UATransitionEx[];
78
+ nodeVersion?: UAVariableT<UAString, DataType.String> | undefined;
79
+ _post_initialize(): void;
80
+ }
81
+ export declare function promoteToStateMachineType(node: UAObject): UAStateMachineTypeHelper;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.promoteToStateMachine = exports.UAStateMachineImpl = exports.UATransitionImpl = void 0;
3
+ exports.promoteToStateMachineType = exports.UAStateMachineTypeImpl = exports.promoteToStateMachine = exports.UAStateMachineImpl = exports.getFiniteStateMachineTypeStateByName = exports.getFiniteStateMachineTypeTransitions = exports.getFiniteStateMachineTypeStates = exports.UATransitionImpl = void 0;
4
4
  /**
5
5
  * @module node-opcua-address-space
6
6
  */
@@ -15,6 +15,7 @@ const node_opcua_variant_1 = require("node-opcua-variant");
15
15
  const register_node_promoter_1 = require("../../source/loader/register_node_promoter");
16
16
  const ua_object_impl_1 = require("../ua_object_impl");
17
17
  const base_node_impl_1 = require("../base_node_impl");
18
+ const ua_object_type_impl_1 = require("../ua_object_type_impl");
18
19
  const doDebug = false;
19
20
  class UATransitionImpl {
20
21
  }
@@ -49,6 +50,55 @@ const defaultPredicate = (transitions, fromState, toState) => {
49
50
  console.log("fromStateNode: ", fromState.toString());
50
51
  return transitions[0];
51
52
  };
53
+ function getFiniteStateMachineTypeStates(uaFiniteStateMachineType) {
54
+ const addressSpace = uaFiniteStateMachineType.addressSpace;
55
+ const initialStateType = addressSpace.findObjectType("InitialStateType");
56
+ // istanbul ignore next
57
+ if (!initialStateType) {
58
+ throw new Error("cannot find InitialStateType");
59
+ }
60
+ const stateType = addressSpace.findObjectType("StateType");
61
+ // istanbul ignore next
62
+ if (!stateType) {
63
+ throw new Error("cannot find StateType");
64
+ }
65
+ (0, node_opcua_assert_1.assert)(initialStateType.isSubtypeOf(stateType));
66
+ let comp = getComponentFromTypeAndSubtype(uaFiniteStateMachineType);
67
+ comp = comp.filter((c) => {
68
+ if (!c.typeDefinitionObj || c.typeDefinitionObj.nodeClass !== node_opcua_data_model_1.NodeClass.ObjectType) {
69
+ return false;
70
+ }
71
+ return c.typeDefinitionObj.isSubtypeOf(stateType);
72
+ });
73
+ return comp;
74
+ }
75
+ exports.getFiniteStateMachineTypeStates = getFiniteStateMachineTypeStates;
76
+ function getFiniteStateMachineTypeTransitions(uaFiniteStateMachineType) {
77
+ const addressSpace = uaFiniteStateMachineType.addressSpace;
78
+ const transitionType = addressSpace.findObjectType("TransitionType");
79
+ // istanbul ignore next
80
+ if (!transitionType) {
81
+ throw new Error("cannot find TransitionType");
82
+ }
83
+ let comp = getComponentFromTypeAndSubtype(uaFiniteStateMachineType);
84
+ comp = comp.filter((c) => {
85
+ if (!c.typeDefinitionObj || c.typeDefinitionObj.nodeClass !== node_opcua_data_model_1.NodeClass.ObjectType) {
86
+ return false;
87
+ }
88
+ return c.typeDefinitionObj.isSubtypeOf(transitionType);
89
+ });
90
+ return comp;
91
+ }
92
+ exports.getFiniteStateMachineTypeTransitions = getFiniteStateMachineTypeTransitions;
93
+ function getFiniteStateMachineTypeStateByName(uaFiniteStateMachineType, stateName) {
94
+ let states = getFiniteStateMachineTypeStates(uaFiniteStateMachineType);
95
+ states = states.filter((s) => {
96
+ return s.browseName.name === stateName;
97
+ });
98
+ (0, node_opcua_assert_1.assert)(states.length <= 1);
99
+ return states.length === 1 ? states[0] : null;
100
+ }
101
+ exports.getFiniteStateMachineTypeStateByName = getFiniteStateMachineTypeStateByName;
52
102
  /*
53
103
  *
54
104
  * @class StateMachine
@@ -59,27 +109,8 @@ const defaultPredicate = (transitions, fromState, toState) => {
59
109
  */
60
110
  class UAStateMachineImpl extends ua_object_impl_1.UAObjectImpl {
61
111
  getStates() {
62
- const addressSpace = this.addressSpace;
63
- const initialStateType = addressSpace.findObjectType("InitialStateType");
64
- // istanbul ignore next
65
- if (!initialStateType) {
66
- throw new Error("cannot find InitialStateType");
67
- }
68
- const stateType = addressSpace.findObjectType("StateType");
69
- // istanbul ignore next
70
- if (!stateType) {
71
- throw new Error("cannot find StateType");
72
- }
73
- (0, node_opcua_assert_1.assert)(initialStateType.isSupertypeOf(stateType));
74
112
  const typeDef = this.typeDefinitionObj;
75
- let comp = getComponentFromTypeAndSubtype(typeDef);
76
- comp = comp.filter((c) => {
77
- if (!c.typeDefinitionObj || c.typeDefinitionObj.nodeClass !== node_opcua_data_model_1.NodeClass.ObjectType) {
78
- return false;
79
- }
80
- return c.typeDefinitionObj.isSupertypeOf(stateType);
81
- });
82
- return comp;
113
+ return getFiniteStateMachineTypeStates(typeDef);
83
114
  }
84
115
  get states() {
85
116
  return this.getStates();
@@ -90,29 +121,11 @@ class UAStateMachineImpl extends ua_object_impl_1.UAObjectImpl {
90
121
  * @return the state with the given name
91
122
  */
92
123
  getStateByName(name) {
93
- let states = this.getStates();
94
- states = states.filter((s) => {
95
- return s.browseName.name === name;
96
- });
97
- (0, node_opcua_assert_1.assert)(states.length <= 1);
98
- return states.length === 1 ? states[0] : null;
124
+ return getFiniteStateMachineTypeStateByName(this.typeDefinitionObj, name);
99
125
  }
100
126
  getTransitions() {
101
- const addressSpace = this.addressSpace;
102
- const transitionType = addressSpace.findObjectType("TransitionType");
103
- // istanbul ignore next
104
- if (!transitionType) {
105
- throw new Error("cannot find TransitionType");
106
- }
107
127
  const typeDef = this.typeDefinitionObj;
108
- let comp = getComponentFromTypeAndSubtype(typeDef);
109
- comp = comp.filter((c) => {
110
- if (!c.typeDefinitionObj || c.typeDefinitionObj.nodeClass !== node_opcua_data_model_1.NodeClass.ObjectType) {
111
- return false;
112
- }
113
- return c.typeDefinitionObj.isSupertypeOf(transitionType);
114
- });
115
- return comp;
128
+ return getFiniteStateMachineTypeTransitions(typeDef);
116
129
  }
117
130
  get transitions() {
118
131
  return this.getTransitions();
@@ -199,8 +212,8 @@ class UAStateMachineImpl extends ua_object_impl_1.UAObjectImpl {
199
212
  if (!stateType) {
200
213
  throw new Error("Cannot find StateType");
201
214
  }
202
- (0, node_opcua_assert_1.assert)(_fromStateNode.typeDefinitionObj.isSupertypeOf(stateType));
203
- (0, node_opcua_assert_1.assert)(_toStateNode.typeDefinitionObj.isSupertypeOf(stateType));
215
+ (0, node_opcua_assert_1.assert)(_fromStateNode.typeDefinitionObj.isSubtypeOf(stateType));
216
+ (0, node_opcua_assert_1.assert)(_toStateNode.typeDefinitionObj.isSubtypeOf(stateType));
204
217
  let transitions = _fromStateNode.findReferencesAsObject("FromState", false);
205
218
  transitions = transitions.filter((transition) => {
206
219
  (0, node_opcua_assert_1.assert)(transition.toStateNode.nodeClass === node_opcua_data_model_1.NodeClass.Object);
@@ -326,7 +339,7 @@ class UAStateMachineImpl extends ua_object_impl_1.UAObjectImpl {
326
339
  throw new Error("cannot find FiniteStateMachineType");
327
340
  }
328
341
  // xx assert(this.typeDefinitionObj && !this.subtypeOfObj);
329
- // xx assert(!this.typeDefinitionObj || this.typeDefinitionObj.isSupertypeOf(finiteStateMachineType));
342
+ // xx assert(!this.typeDefinitionObj || this.typeDefinitionObj.isSubtypeOf(finiteStateMachineType));
330
343
  // get current Status
331
344
  const d = this.currentState.readValue();
332
345
  if (d.statusCode.isNotGood()) {
@@ -351,4 +364,30 @@ function promoteToStateMachine(node) {
351
364
  }
352
365
  exports.promoteToStateMachine = promoteToStateMachine;
353
366
  (0, register_node_promoter_1.registerNodePromoter)(node_opcua_constants_1.ObjectTypeIds.FiniteStateMachineType, promoteToStateMachine);
367
+ class UAStateMachineTypeImpl extends ua_object_type_impl_1.UAObjectTypeImpl {
368
+ getStateByName(name) {
369
+ return getFiniteStateMachineTypeStateByName(this, name);
370
+ }
371
+ getStates() {
372
+ return getFiniteStateMachineTypeStates(this);
373
+ }
374
+ getTransitions() {
375
+ return getFiniteStateMachineTypeTransitions(this);
376
+ }
377
+ _post_initialize() {
378
+ /** */
379
+ }
380
+ }
381
+ exports.UAStateMachineTypeImpl = UAStateMachineTypeImpl;
382
+ function promoteToStateMachineType(node) {
383
+ if (node instanceof UAStateMachineTypeImpl) {
384
+ return node; // already promoted
385
+ }
386
+ Object.setPrototypeOf(node, UAStateMachineTypeImpl.prototype);
387
+ (0, node_opcua_assert_1.assert)(node instanceof UAStateMachineTypeImpl, "should now be a State Machine");
388
+ const _node = node;
389
+ _node._post_initialize();
390
+ return _node;
391
+ }
392
+ exports.promoteToStateMachineType = promoteToStateMachineType;
354
393
  //# sourceMappingURL=finite_state_machine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"finite_state_machine.js","sourceRoot":"","sources":["../../../src/state_machine/finite_state_machine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finite_state_machine.js","sourceRoot":"","sources":["../../../src/state_machine/finite_state_machine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @module node-opcua-address-space
3
+ */
4
+ import { NodeId, NodeIdLike } from "node-opcua-nodeid";
5
+ import { BaseNode, UADataType, UAObjectType, UAReferenceType, UAVariableType } from "node-opcua-address-space-base";
6
+ import { BaseNodeImpl } from "./base_node_impl";
7
+ export declare type BaseNodeConstructor<T extends BaseNode> = new () => T;
8
+ export declare type MemberFuncValue<T, P, R> = (this: T, param: P) => R;
9
+ export declare function wipeMemorizedStuff(node: any): void;
10
+ export declare type IsSubtypeOfFunc<T extends UAType> = (this: T, baseType: T) => boolean;
11
+ export declare type UAType = UAReferenceType | UADataType | UAObjectType | UAVariableType;
12
+ export declare function construct_isSubtypeOf<T extends UAType>(Class: typeof BaseNodeImpl): IsSubtypeOfFunc<T>;
13
+ export declare function construct_slow_isSubtypeOf<T extends UAType>(Class: typeof BaseNodeImpl): (this: T, baseType: T | NodeIdLike) => boolean;
14
+ /**
15
+ * returns the nodeId of the Type which is the super type of this
16
+ */
17
+ export declare function get_subtypeOf<T extends BaseNode>(this: T): NodeId | null;
18
+ export declare function get_subtypeOfObj(this: BaseNode): BaseNode | null;
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ /**
3
+ * @module node-opcua-address-space
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.get_subtypeOfObj = exports.get_subtypeOf = exports.construct_slow_isSubtypeOf = exports.construct_isSubtypeOf = exports.wipeMemorizedStuff = void 0;
7
+ const node_opcua_assert_1 = require("node-opcua-assert");
8
+ const node_opcua_nodeid_1 = require("node-opcua-nodeid");
9
+ const node_opcua_nodeid_2 = require("node-opcua-nodeid");
10
+ const node_opcua_data_model_1 = require("node-opcua-data-model");
11
+ const base_node_private_1 = require("./base_node_private");
12
+ const reference_impl_1 = require("./reference_impl");
13
+ const HasSubTypeNodeId = (0, node_opcua_nodeid_1.resolveNodeId)("HasSubtype");
14
+ function _filterSubType(reference) {
15
+ return (0, node_opcua_nodeid_2.sameNodeId)(reference.referenceType, HasSubTypeNodeId) && !reference.isForward;
16
+ }
17
+ function _slow_isSubtypeOf(Class, baseType) {
18
+ if (!(baseType instanceof Class)) {
19
+ const node = this.addressSpace.findNode(baseType);
20
+ if (!node || !(node instanceof Class)) {
21
+ throw new Error("Invalid argument");
22
+ }
23
+ return _slow_isSubtypeOf.call(this, Class, node);
24
+ }
25
+ (0, node_opcua_assert_1.assert)(this instanceof Class);
26
+ (0, node_opcua_assert_1.assert)(baseType instanceof Class, " Object must have same type");
27
+ (0, node_opcua_assert_1.assert)(this.addressSpace);
28
+ if ((0, node_opcua_nodeid_2.sameNodeId)(this.nodeId, baseType.nodeId)) {
29
+ return true;
30
+ }
31
+ const references = this.allReferences();
32
+ const subTypes = references.filter(_filterSubType);
33
+ (0, node_opcua_assert_1.assert)(subTypes.length <= 1, "should have zero or one subtype no more");
34
+ for (const subType1 of subTypes) {
35
+ const subTypeId = subType1.nodeId;
36
+ const subTypeNode = this.addressSpace.findNode(subTypeId);
37
+ // istanbul ignore next
38
+ if (!subTypeNode) {
39
+ throw new Error("Cannot find object with nodeId " + subTypeId.toString());
40
+ }
41
+ if ((0, node_opcua_nodeid_2.sameNodeId)(subTypeNode.nodeId, baseType.nodeId)) {
42
+ return true;
43
+ }
44
+ else {
45
+ if (_slow_isSubtypeOf.call(subTypeNode, Class, baseType)) {
46
+ return true;
47
+ }
48
+ }
49
+ }
50
+ return false;
51
+ }
52
+ function wipeMemorizedStuff(node) {
53
+ if (!node.__cache) {
54
+ node.__cache = undefined;
55
+ }
56
+ }
57
+ exports.wipeMemorizedStuff = wipeMemorizedStuff;
58
+ // http://jsperf.com/underscore-js-memoize-refactor-test
59
+ // http://addyosmani.com/blog/faster-javascript-memoization/
60
+ function wrap_memoize(func, hashFunc) {
61
+ if (undefined === hashFunc) {
62
+ hashFunc = (_p) => _p.toString();
63
+ }
64
+ return function memoize(param) {
65
+ if (!this.__cache) {
66
+ this.__cache = {};
67
+ }
68
+ const hash = hashFunc.call(this, param);
69
+ let cache_value = this.__cache[hash];
70
+ if (cache_value === undefined) {
71
+ cache_value = func.call(this, param);
72
+ this.__cache[hash] = cache_value;
73
+ }
74
+ return cache_value;
75
+ };
76
+ }
77
+ function hashBaseNode(e) {
78
+ return e.nodeId.value.toString();
79
+ }
80
+ function construct_isSubtypeOf(Class) {
81
+ return wrap_memoize(function (baseType) {
82
+ if (!(baseType instanceof Class)) {
83
+ throw new Error("expecting baseType to be " +
84
+ Class.name +
85
+ " but got " +
86
+ baseType.constructor.name +
87
+ " " +
88
+ node_opcua_data_model_1.NodeClass[baseType.nodeClass]);
89
+ }
90
+ if (!(this instanceof Class)) {
91
+ throw new Error("expecting this to be " + Class.name + " but got " + baseType.constructor.name);
92
+ }
93
+ return _slow_isSubtypeOf.call(this, Class, baseType);
94
+ }, hashBaseNode);
95
+ }
96
+ exports.construct_isSubtypeOf = construct_isSubtypeOf;
97
+ function construct_slow_isSubtypeOf(Class) {
98
+ return function (baseType) {
99
+ return _slow_isSubtypeOf.call(this, Class, baseType);
100
+ };
101
+ }
102
+ exports.construct_slow_isSubtypeOf = construct_slow_isSubtypeOf;
103
+ /**
104
+ * returns the nodeId of the Type which is the super type of this
105
+ */
106
+ function get_subtypeOf() {
107
+ const s = get_subtypeOfObj.call(this);
108
+ return s ? s.nodeId : null;
109
+ }
110
+ exports.get_subtypeOf = get_subtypeOf;
111
+ function get_subtypeOfObj() {
112
+ const _cache = (0, base_node_private_1.BaseNode_getCache)(this);
113
+ if (!_cache._subtypeOfObj) {
114
+ const is_subtype_of_ref = this.findReference("HasSubtype", false);
115
+ if (is_subtype_of_ref) {
116
+ _cache._subtypeOfObj = reference_impl_1.ReferenceImpl.resolveReferenceNode(this.addressSpace, is_subtype_of_ref);
117
+ }
118
+ else {
119
+ _cache._subtypeOfObj = null;
120
+ }
121
+ }
122
+ return _cache._subtypeOfObj;
123
+ }
124
+ exports.get_subtypeOfObj = get_subtypeOfObj;
125
+ //# sourceMappingURL=tool_isSubtypeOf.js.map