node-opcua-client-dynamic-extension-object 2.182.1 → 2.184.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 (57) hide show
  1. package/dist/convert_data_type_definition_to_structuretype_schema.d.ts +1 -0
  2. package/dist/convert_data_type_definition_to_structuretype_schema.d.ts.map +1 -0
  3. package/dist/convert_data_type_definition_to_structuretype_schema.js +82 -85
  4. package/dist/convert_data_type_definition_to_structuretype_schema.js.map +1 -1
  5. package/dist/convert_structuretype_schema_to_structure_definition.d.ts +1 -0
  6. package/dist/convert_structuretype_schema_to_structure_definition.d.ts.map +1 -0
  7. package/dist/convert_structuretype_schema_to_structure_definition.js +13 -16
  8. package/dist/convert_structuretype_schema_to_structure_definition.js.map +1 -1
  9. package/dist/extra_data_type_manager.d.ts +16 -0
  10. package/dist/extra_data_type_manager.d.ts.map +1 -0
  11. package/dist/extra_data_type_manager.js +56 -21
  12. package/dist/extra_data_type_manager.js.map +1 -1
  13. package/dist/get_extension_object_constructor.d.ts +1 -0
  14. package/dist/get_extension_object_constructor.d.ts.map +1 -0
  15. package/dist/get_extension_object_constructor.js +7 -10
  16. package/dist/get_extension_object_constructor.js.map +1 -1
  17. package/dist/get_extra_data_type_manager.d.ts +1 -0
  18. package/dist/get_extra_data_type_manager.d.ts.map +1 -0
  19. package/dist/get_extra_data_type_manager.js +21 -27
  20. package/dist/get_extra_data_type_manager.js.map +1 -1
  21. package/dist/index.d.ts +1 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +9 -25
  24. package/dist/index.js.map +1 -1
  25. package/dist/populate_data_type_manager.d.ts +1 -0
  26. package/dist/populate_data_type_manager.d.ts.map +1 -0
  27. package/dist/populate_data_type_manager.js +44 -49
  28. package/dist/populate_data_type_manager.js.map +1 -1
  29. package/dist/private/find_encodings.d.ts +1 -0
  30. package/dist/private/find_encodings.d.ts.map +1 -0
  31. package/dist/private/find_encodings.js +12 -15
  32. package/dist/private/find_encodings.js.map +1 -1
  33. package/dist/private/populate_data_type_manager_103.d.ts +1 -0
  34. package/dist/private/populate_data_type_manager_103.d.ts.map +1 -0
  35. package/dist/private/populate_data_type_manager_103.js +88 -94
  36. package/dist/private/populate_data_type_manager_103.js.map +1 -1
  37. package/dist/private/populate_data_type_manager_104.d.ts +1 -0
  38. package/dist/private/populate_data_type_manager_104.d.ts.map +1 -0
  39. package/dist/private/populate_data_type_manager_104.js +35 -39
  40. package/dist/private/populate_data_type_manager_104.js.map +1 -1
  41. package/dist/promote_opaque_structure.d.ts +1 -0
  42. package/dist/promote_opaque_structure.d.ts.map +1 -0
  43. package/dist/promote_opaque_structure.js +12 -16
  44. package/dist/promote_opaque_structure.js.map +1 -1
  45. package/dist/promote_opaque_structure_in_notification_data.d.ts +1 -0
  46. package/dist/promote_opaque_structure_in_notification_data.d.ts.map +1 -0
  47. package/dist/promote_opaque_structure_in_notification_data.js +9 -12
  48. package/dist/promote_opaque_structure_in_notification_data.js.map +1 -1
  49. package/dist/resolve_dynamic_extension_object.d.ts +1 -0
  50. package/dist/resolve_dynamic_extension_object.d.ts.map +1 -0
  51. package/dist/resolve_dynamic_extension_object.js +16 -20
  52. package/dist/resolve_dynamic_extension_object.js.map +1 -1
  53. package/package.json +22 -18
  54. package/source/extra_data_type_manager.ts +49 -4
  55. package/source/get_extra_data_type_manager.ts +3 -3
  56. package/source/private/populate_data_type_manager_103.ts +1 -1
  57. package/source/private/populate_data_type_manager_104.ts +1 -1
@@ -1,14 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExtraDataTypeManager = void 0;
4
1
  /**
5
2
  * @module node-opcua-client-dynamic-extension-object
6
3
  */
7
- const node_util_1 = require("node:util");
8
- const node_opcua_assert_1 = require("node-opcua-assert");
9
- const node_opcua_data_model_1 = require("node-opcua-data-model");
10
- const node_opcua_factory_1 = require("node-opcua-factory");
11
- class ExtraDataTypeManager {
4
+ import { format } from "node:util";
5
+ import { assert } from "node-opcua-assert";
6
+ import { BrowseDirection, NodeClassMask, ResultMask } from "node-opcua-data-model";
7
+ import { make_warningLog } from "node-opcua-debug";
8
+ import { getStandardDataTypeFactory } from "node-opcua-factory";
9
+ import { readDataTypeDefinitionAndBuildType } from "./private/populate_data_type_manager_104.js";
10
+ const warningLog = make_warningLog("ExtraDataTypeManager");
11
+ export class ExtraDataTypeManager {
12
12
  namespaceArray = [];
13
13
  dataTypeFactoryMapByNamespace = {};
14
14
  _session = null;
@@ -27,27 +27,67 @@ class ExtraDataTypeManager {
27
27
  }
28
28
  registerDataTypeFactory(namespaceIndex, dataTypeFactory) {
29
29
  /* c8 ignore next */
30
- (0, node_opcua_assert_1.assert)(namespaceIndex !== 0, "registerTypeDictionary cannot be used for namespace 0");
30
+ assert(namespaceIndex !== 0, "registerTypeDictionary cannot be used for namespace 0");
31
31
  if (this.hasDataTypeFactory(namespaceIndex)) {
32
32
  throw new Error("Dictionary already registered");
33
33
  }
34
34
  this.dataTypeFactoryMapByNamespace[namespaceIndex] = dataTypeFactory;
35
35
  }
36
+ /**
37
+ * Forget the factory of a namespace, and with it every structure, enumeration and
38
+ * ExtensionObject constructor that namespace registered.
39
+ *
40
+ * A namespace that is emptied and loaded again (see `IAddressSpace.deleteNamespace`) must
41
+ * come back to a manager that has no memory of the previous load: `registerDataTypeFactory`
42
+ * refuses a second factory for the same index, and the schemas of the old load carry the
43
+ * NodeIds of nodes that no longer exist.
44
+ *
45
+ * Namespace 0 has no factory of its own - it is served by the standard one - and is refused.
46
+ *
47
+ * A factory that other namespaces list among their base factories keeps being referenced by
48
+ * them; those namespaces have to be re-extracted as well if they used its types.
49
+ */
50
+ unregisterDataTypeFactory(namespaceIndex) {
51
+ /* c8 ignore next */
52
+ if (namespaceIndex === 0) {
53
+ throw new Error("unregisterDataTypeFactory cannot be used for namespace 0");
54
+ }
55
+ const dropped = this.dataTypeFactoryMapByNamespace[namespaceIndex];
56
+ if (!dropped) {
57
+ return;
58
+ }
59
+ delete this.dataTypeFactoryMapByNamespace[namespaceIndex];
60
+ // A namespace whose types are built on this one keeps the factory just dropped in its
61
+ // fallback chain, and will go on resolving those types through schemas of the load that
62
+ // has gone. Nothing fails when that happens, which is why it is said out loud here: the
63
+ // dependent namespaces have to be extracted again too.
64
+ const dependents = [];
65
+ for (const [key, factory] of Object.entries(this.dataTypeFactoryMapByNamespace)) {
66
+ if (factory.getBaseDataFactories().includes(dropped)) {
67
+ dependents.push(Number.parseInt(key, 10));
68
+ }
69
+ }
70
+ if (dependents.length) {
71
+ warningLog(`unregisterDataTypeFactory: namespace ${namespaceIndex} (${dropped.targetNamespace}) is a base of ` +
72
+ `namespace(s) ${dependents.join(", ")}, whose DataType factories now refer to a discarded one. ` +
73
+ "Those namespaces must be reloaded as well.");
74
+ }
75
+ }
36
76
  getDataTypeFactoryForNamespace(namespaceIndex) {
37
77
  if (namespaceIndex === 0) {
38
- return (0, node_opcua_factory_1.getStandardDataTypeFactory)();
78
+ return getStandardDataTypeFactory();
39
79
  }
40
80
  return this.dataTypeFactoryMapByNamespace[namespaceIndex];
41
81
  }
42
82
  getDataTypeFactory(namespaceIndex) {
43
83
  if (namespaceIndex === 0) {
44
- return (0, node_opcua_factory_1.getStandardDataTypeFactory)();
84
+ return getStandardDataTypeFactory();
45
85
  }
46
86
  return this.dataTypeFactoryMapByNamespace[namespaceIndex];
47
87
  }
48
88
  getBuiltInType(fieldTypeName) {
49
89
  // fallback to standard factory
50
- const standardDataTypeFactory = (0, node_opcua_factory_1.getStandardDataTypeFactory)();
90
+ const standardDataTypeFactory = getStandardDataTypeFactory();
51
91
  if (standardDataTypeFactory.hasBuiltInType(fieldTypeName)) {
52
92
  return standardDataTypeFactory.getBuiltInType(fieldTypeName);
53
93
  }
@@ -75,10 +115,6 @@ class ExtraDataTypeManager {
75
115
  }
76
116
  const session = this._session;
77
117
  const promise = (async () => {
78
- // We'll need to make sure it's accessible and correctly used.
79
- // For now, let's assume we can import it or move it.
80
- // Actually, populate_data_type_manager_104.ts exports readDataTypeDefinitionAndBuildType
81
- const { readDataTypeDefinitionAndBuildType } = require("./private/populate_data_type_manager_104");
82
118
  const cache = {}; // local cache for this extraction
83
119
  await readDataTypeDefinitionAndBuildType(session, dataTypeNodeId, undefined, this, cache);
84
120
  const info = this.getStructureInfoForDataType(dataTypeNodeId);
@@ -138,10 +174,10 @@ class ExtraDataTypeManager {
138
174
  const browseResult = await this._session.browse({
139
175
  nodeId: binaryEncodingNodeId,
140
176
  referenceTypeId: "HasEncoding",
141
- browseDirection: node_opcua_data_model_1.BrowseDirection.Inverse,
177
+ browseDirection: BrowseDirection.Inverse,
142
178
  includeSubtypes: false,
143
- nodeClassMask: node_opcua_data_model_1.NodeClassMask.DataType,
144
- resultMask: node_opcua_data_model_1.ResultMask.BrowseName
179
+ nodeClassMask: NodeClassMask.DataType,
180
+ resultMask: ResultMask.BrowseName
145
181
  });
146
182
  if (browseResult.statusCode.isNotGood() || !browseResult.references || browseResult.references.length !== 1) {
147
183
  throw new Error(`Cannot find DataType for binary encoding ${binaryEncodingNodeId.toString()}`);
@@ -157,7 +193,7 @@ class ExtraDataTypeManager {
157
193
  toString() {
158
194
  const l = [];
159
195
  function write(...args) {
160
- l.push(node_util_1.format.apply(node_util_1.format, args));
196
+ l.push(format.apply(format, args));
161
197
  }
162
198
  write("ExtraDataTypeManager");
163
199
  for (let n = 0; n < this.namespaceArray.length; n++) {
@@ -171,5 +207,4 @@ class ExtraDataTypeManager {
171
207
  return l.join("\n");
172
208
  }
173
209
  }
174
- exports.ExtraDataTypeManager = ExtraDataTypeManager;
175
210
  //# sourceMappingURL=extra_data_type_manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extra_data_type_manager.js","sourceRoot":"","sources":["../source/extra_data_type_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extra_data_type_manager.js","sourceRoot":"","sources":["../source/extra_data_type_manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAA8C,0BAA0B,EAAsB,MAAM,oBAAoB,CAAC;AAKhI,OAAO,EAAE,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AAEjG,MAAM,UAAU,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAC;AAE3D,MAAM,OAAO,oBAAoB;IACtB,cAAc,GAAa,EAAE,CAAC;IAC7B,6BAA6B,GAAuC,EAAE,CAAC;IACvE,QAAQ,GAA+B,IAAI,CAAC;IAC5C,mBAAmB,GAAwC,IAAI,GAAG,EAAE,CAAC;IAEtE,UAAU,CAAC,OAA4B;QAC1C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAEM,iBAAiB,CAAC,cAAwB;QAC7C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAEM,kBAAkB,CAAC,cAAsB;QAC5C,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,cAAc,CAAC,CAAC;IAC/E,CAAC;IAEM,uBAAuB,CAAC,cAAsB,EAAE,eAAgC;QACnF,oBAAoB;QACpB,MAAM,CAAC,cAAc,KAAK,CAAC,EAAE,uDAAuD,CAAC,CAAC;QACtF,IAAI,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;IACzE,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,yBAAyB,CAAC,cAAsB;QACnD,oBAAoB;QACpB,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QACD,OAAO,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC;QAE1D,sFAAsF;QACtF,wFAAwF;QACxF,wFAAwF;QACxF,uDAAuD;QACvD,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC;YAC9E,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACpB,UAAU,CACN,wCAAwC,cAAc,KAAK,OAAO,CAAC,eAAe,iBAAiB;gBAC/F,gBAAgB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,2DAA2D;gBAChG,4CAA4C,CACnD,CAAC;QACN,CAAC;IACL,CAAC;IAEM,8BAA8B,CAAC,cAAsB;QACxD,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,0BAA0B,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IAEM,kBAAkB,CAAC,cAAsB;QAC5C,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,0BAA0B,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IAEM,cAAc,CAAC,aAAqB;QACvC,+BAA+B;QAC/B,MAAM,uBAAuB,GAAG,0BAA0B,EAAE,CAAC;QAC7D,IAAI,uBAAuB,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;YACxD,OAAO,uBAAuB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,EAAE,CAAC,CAAC;IAClE,CAAC;IAEM,2BAA2B,CAAC,cAAsB;QACrD,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACX,yCAAyC,cAAc,CAAC,SAAS,uBAAuB,cAAc,CAAC,QAAQ,EAAE,EAAE,CACtH,CAAC;QACN,CAAC;QACD,OAAO,eAAe,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC;IACvE,CAAC;IAEM,KAAK,CAAC,gCAAgC,CAAC,cAAsB;QAChE,MAAM,aAAa,GAAG,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC;QACvE,IAAI,aAAa,EAAE,CAAC;YAChB,OAAO,aAAa,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,MAAM,OAAO,CAAC;QACzB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;YACxB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,kCAAkC;YACpD,MAAM,kCAAkC,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAE1F,MAAM,IAAI,GAAG,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,6CAA6C,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC9F,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC;YACD,OAAO,MAAM,OAAO,CAAC;QACzB,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAEM,yCAAyC,CAAC,cAAsB;QACnE,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACX,yCAAyC,cAAc,CAAC,SAAS,uBAAuB,cAAc,CAAC,QAAQ,EAAE,EAAE,CACtH,CAAC;QACN,CAAC;QACD,gEAAgE;QAChE,MAAM,aAAa,GAAG,eAAe,CAAC,4BAA4B,CAAC,cAAc,CAAC,CAAC;QACnF,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;QAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,8CAA8C,CAAC,cAAsB;QAC9E,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAAC,cAAc,CAAC,CAAC;QAClF,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;QAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kEAAkE,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnH,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAEM,+CAA+C,CAAC,oBAA4B;QAC/E,MAAM,eAAe,GAAG,IAAI,CAAC,8BAA8B,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC5F,MAAM,WAAW,GAAG,eAAe,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACzE,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACX,6FAA6F;gBACzF,oBAAoB,CAAC,QAAQ,EAAE,CACtC,CAAC;QACN,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,oDAAoD,CAAC,oBAA4B;QAC1F,MAAM,eAAe,GAAG,IAAI,CAAC,8BAA8B,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC5F,IAAI,WAAW,GAAG,eAAe,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACvE,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,WAAW,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QACpF,CAAC;QAED,qDAAqD;QACrD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,MAAM,EAAE,oBAAoB;YAC5B,eAAe,EAAE,aAAa;YAC9B,eAAe,EAAE,eAAe,CAAC,OAAO;YACxC,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,aAAa,CAAC,QAAQ;YACrC,UAAU,EAAE,UAAU,CAAC,UAAU;SACpC,CAAC,CAAC;QAEH,IAAI,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1G,MAAM,IAAI,KAAK,CAAC,4CAA4C,oBAAoB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACnG,CAAC;QAED,MAAM,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzD,MAAM,IAAI,CAAC,gCAAgC,CAAC,cAAc,CAAC,CAAC;QAE5D,WAAW,GAAG,eAAe,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+CAA+C,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QACvH,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAEM,QAAQ;QACX,MAAM,CAAC,GAAa,EAAE,CAAC;QACvB,SAAS,KAAK,CAAC,GAAG,IAA6B;YAC3C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,KAAK,CAAC,0BAA0B,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,SAAS;YACb,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;CACJ"}
@@ -5,3 +5,4 @@ import type { AnyConstructorFunc } from "node-opcua-schemas";
5
5
  *
6
6
  */
7
7
  export declare function getExtensionObjectConstructor(session: IBasicSessionAsync2, dataTypeNodeId: NodeId): Promise<AnyConstructorFunc>;
8
+ //# sourceMappingURL=get_extension_object_constructor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_extension_object_constructor.d.ts","sourceRoot":"","sources":["../source/get_extension_object_constructor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAK7D;;GAEG;AACH,wBAAsB,6BAA6B,CAC/C,OAAO,EAAE,mBAAmB,EAC5B,cAAc,EAAE,MAAM,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAmB7B"}
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getExtensionObjectConstructor = getExtensionObjectConstructor;
4
- const node_opcua_data_model_1 = require("node-opcua-data-model");
1
+ import { AttributeIds } from "node-opcua-data-model";
5
2
  //
6
- const get_extra_data_type_manager_js_1 = require("./get_extra_data_type_manager.js");
7
- const populate_data_type_manager_104_js_1 = require("./private/populate_data_type_manager_104.js");
3
+ import { getExtraDataTypeManager } from "./get_extra_data_type_manager.js";
4
+ import { readDataTypeDefinitionAndBuildType } from "./private/populate_data_type_manager_104.js";
8
5
  /**
9
6
  *
10
7
  */
11
- async function getExtensionObjectConstructor(session, dataTypeNodeId) {
12
- const dataTypeManager = await (0, get_extra_data_type_manager_js_1.getExtraDataTypeManager)(session);
8
+ export async function getExtensionObjectConstructor(session, dataTypeNodeId) {
9
+ const dataTypeManager = await getExtraDataTypeManager(session);
13
10
  const dataTypeFactory = dataTypeManager.getDataTypeFactory(dataTypeNodeId.namespace);
14
11
  const structureInfo = dataTypeFactory.getStructureInfoForDataType(dataTypeNodeId);
15
12
  if (structureInfo) {
@@ -17,13 +14,13 @@ async function getExtensionObjectConstructor(session, dataTypeNodeId) {
17
14
  }
18
15
  const dataValue = await session.read({
19
16
  nodeId: dataTypeNodeId,
20
- attributeId: node_opcua_data_model_1.AttributeIds.BrowseName
17
+ attributeId: AttributeIds.BrowseName
21
18
  });
22
19
  const browseName = dataValue.value.value;
23
20
  if (!browseName.name) {
24
21
  throw new Error(`Unexpected: BrowseName has no name for nodeId ${dataTypeNodeId.toString()}`);
25
22
  }
26
- await (0, populate_data_type_manager_104_js_1.readDataTypeDefinitionAndBuildType)(session, dataTypeNodeId, browseName.name, dataTypeManager, {});
23
+ await readDataTypeDefinitionAndBuildType(session, dataTypeNodeId, browseName.name, dataTypeManager, {});
27
24
  return await dataTypeManager.getExtensionObjectConstructorFromDataType(dataTypeNodeId);
28
25
  }
29
26
  //# sourceMappingURL=get_extension_object_constructor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get_extension_object_constructor.js","sourceRoot":"","sources":["../source/get_extension_object_constructor.ts"],"names":[],"mappings":";;AAWA,sEAsBC;AAjCD,iEAAyE;AAIzE,EAAE;AACF,qFAA2E;AAC3E,mGAAiG;AAEjG;;GAEG;AACI,KAAK,UAAU,6BAA6B,CAC/C,OAA4B,EAC5B,cAAsB;IAEtB,MAAM,eAAe,GAAG,MAAM,IAAA,wDAAuB,EAAC,OAAO,CAAC,CAAC;IAE/D,MAAM,eAAe,GAAG,eAAe,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACrF,MAAM,aAAa,GAAG,eAAe,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC;IAClF,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO,aAAa,CAAC,WAA4C,CAAC;IACtE,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,oCAAY,CAAC,UAAU;KACvC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,KAAsB,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,iDAAiD,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,IAAA,sEAAkC,EAAC,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;IAExG,OAAO,MAAM,eAAe,CAAC,yCAAyC,CAAC,cAAc,CAAC,CAAC;AAC3F,CAAC"}
1
+ {"version":3,"file":"get_extension_object_constructor.js","sourceRoot":"","sources":["../source/get_extension_object_constructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,MAAM,uBAAuB,CAAC;AAIzE,EAAE;AACF,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AAEjG;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAC/C,OAA4B,EAC5B,cAAsB;IAEtB,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAE/D,MAAM,eAAe,GAAG,eAAe,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACrF,MAAM,aAAa,GAAG,eAAe,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC;IAClF,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO,aAAa,CAAC,WAA4C,CAAC;IACtE,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,YAAY,CAAC,UAAU;KACvC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,KAAsB,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,iDAAiD,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,kCAAkC,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;IAExG,OAAO,MAAM,eAAe,CAAC,yCAAyC,CAAC,cAAc,CAAC,CAAC;AAC3F,CAAC"}
@@ -14,3 +14,4 @@ export declare function invalidateExtraDataTypeManager(session: IBasicSessionAsy
14
14
  export declare function hasBoostedSession(session: IBasicSessionAsync2): boolean;
15
15
  export declare function getSessionForDataTypeManagerExtraction(session: IBasicSessionAsync2): IBasicSessionAsync2;
16
16
  export declare function getExtraDataTypeManager(session: IBasicSessionAsync2, strategy?: DataTypeExtractStrategy): Promise<ExtraDataTypeManager>;
17
+ //# sourceMappingURL=get_extra_data_type_manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_extra_data_type_manager.d.ts","sourceRoot":"","sources":["../source/get_extra_data_type_manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAqB,KAAK,mBAAmB,EAAsB,MAAM,2BAA2B,CAAC;AAE5G,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAA2B,MAAM,iCAAiC,CAAC;AAOnG,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACnE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,sBAAsB,CAAC,EAAE,oBAAoB,CAAC;IAC9C,+BAA+B,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;IAE9F,iCAAiC,CAAC,EAAE,MAAM,mBAAmB,CAAC;IAE9D,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAE7F,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,wBAAsB,8BAA8B,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhG;AA0CD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAGvE;AACD,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,mBAAmB,GAAG,mBAAmB,CAMxG;AAUD,wBAAsB,uBAAuB,CACzC,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,CAAC,EAAE,uBAAuB,GACnC,OAAO,CAAC,oBAAoB,CAAC,CAyC/B"}
@@ -1,22 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.invalidateExtraDataTypeManager = invalidateExtraDataTypeManager;
4
- exports.hasBoostedSession = hasBoostedSession;
5
- exports.getSessionForDataTypeManagerExtraction = getSessionForDataTypeManagerExtraction;
6
- exports.getExtraDataTypeManager = getExtraDataTypeManager;
7
- const node_opcua_debug_1 = require("node-opcua-debug");
8
- const node_opcua_factory_1 = require("node-opcua-factory");
9
- const node_opcua_pseudo_session_1 = require("node-opcua-pseudo-session");
1
+ import { checkDebugFlag, make_debugLog, make_errorLog } from "node-opcua-debug";
2
+ import { DataTypeFactory, getStandardDataTypeFactory } from "node-opcua-factory";
3
+ import { clearSessionCache, readNamespaceArray } from "node-opcua-pseudo-session";
10
4
  //
11
- const extra_data_type_manager_js_1 = require("./extra_data_type_manager.js");
12
- const populate_data_type_manager_js_1 = require("./populate_data_type_manager.js");
13
- const doDebug = (0, node_opcua_debug_1.checkDebugFlag)("get_extra_data_type_manager");
14
- const debugLog = (0, node_opcua_debug_1.make_debugLog)("get_extra_data_type_manager");
15
- const errorLog = (0, node_opcua_debug_1.make_errorLog)("get_extra_data_type_manager");
5
+ import { ExtraDataTypeManager } from "./extra_data_type_manager.js";
6
+ import { DataTypeExtractStrategy, populateDataTypeManager } from "./populate_data_type_manager.js";
7
+ const doDebug = checkDebugFlag("get_extra_data_type_manager");
8
+ const debugLog = make_debugLog("get_extra_data_type_manager");
9
+ const errorLog = make_errorLog("get_extra_data_type_manager");
16
10
  const warningLog = errorLog;
17
- async function invalidateExtraDataTypeManager(session) {
11
+ export async function invalidateExtraDataTypeManager(session) {
18
12
  const sessionPriv = session;
19
- (0, node_opcua_pseudo_session_1.clearSessionCache)(session);
13
+ clearSessionCache(session);
20
14
  sessionPriv.$$namespaceArray = undefined;
21
15
  sessionPriv.$$extraDataTypeManager = undefined;
22
16
  if (sessionPriv.$$extraDataTypeManagerToResolve) {
@@ -24,24 +18,24 @@ async function invalidateExtraDataTypeManager(session) {
24
18
  }
25
19
  }
26
20
  async function extractDataTypeManagerPrivate(session, strategy) {
27
- const namespaceArray = await (0, node_opcua_pseudo_session_1.readNamespaceArray)(session);
28
- // c8 ignore next
21
+ const namespaceArray = await readNamespaceArray(session);
22
+ /* c8 ignore next */
29
23
  if (namespaceArray.length === 0) {
30
24
  errorLog("namespaceArray is not populated ! Your server must expose a list of namespace ");
31
25
  }
32
- // c8 ignore next
26
+ /* c8 ignore next */
33
27
  if (doDebug) {
34
28
  debugLog("Namespace Array = ", namespaceArray.join("\n "));
35
29
  }
36
- const dataTypeManager = new extra_data_type_manager_js_1.ExtraDataTypeManager();
30
+ const dataTypeManager = new ExtraDataTypeManager();
37
31
  dataTypeManager.setSession(session);
38
32
  dataTypeManager.setNamespaceArray(namespaceArray);
39
33
  for (let namespaceIndex = 1; namespaceIndex < namespaceArray.length; namespaceIndex++) {
40
- const dataTypeFactory1 = new node_opcua_factory_1.DataTypeFactory([(0, node_opcua_factory_1.getStandardDataTypeFactory)()]);
34
+ const dataTypeFactory1 = new DataTypeFactory([getStandardDataTypeFactory()]);
41
35
  dataTypeManager.registerDataTypeFactory(namespaceIndex, dataTypeFactory1);
42
36
  }
43
- await (0, populate_data_type_manager_js_1.populateDataTypeManager)(session, dataTypeManager, strategy);
44
- // c8 ignore next
37
+ await populateDataTypeManager(session, dataTypeManager, strategy);
38
+ /* c8 ignore next */
45
39
  if (dataTypeManager.namespaceArray.length === 0) {
46
40
  throw new Error("namespaceArray is not populated ! Your server must expose a list of namespace ");
47
41
  }
@@ -55,13 +49,13 @@ function getStrategy(session, strategy) {
55
49
  if (client && client.dataTypeExtractStrategy !== undefined) {
56
50
  return client.dataTypeExtractStrategy;
57
51
  }
58
- return populate_data_type_manager_js_1.DataTypeExtractStrategy.Auto;
52
+ return DataTypeExtractStrategy.Auto;
59
53
  }
60
- function hasBoostedSession(session) {
54
+ export function hasBoostedSession(session) {
61
55
  const _session = session;
62
56
  return !!_session.$$getSessionForDataTypeExtraction || !!_session.session;
63
57
  }
64
- function getSessionForDataTypeManagerExtraction(session) {
58
+ export function getSessionForDataTypeManagerExtraction(session) {
65
59
  const _session = session;
66
60
  if (_session.$$getSessionForDataTypeExtraction) {
67
61
  return _session.$$getSessionForDataTypeExtraction();
@@ -74,7 +68,7 @@ function followSession(session) {
74
68
  }
75
69
  return session;
76
70
  }
77
- async function getExtraDataTypeManager(session, strategy) {
71
+ export async function getExtraDataTypeManager(session, strategy) {
78
72
  const sessionPriv = followSession(session);
79
73
  if (sessionPriv.$$extraDataTypeManager) {
80
74
  return sessionPriv.$$extraDataTypeManager;
@@ -1 +1 @@
1
- {"version":3,"file":"get_extra_data_type_manager.js","sourceRoot":"","sources":["../source/get_extra_data_type_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get_extra_data_type_manager.js","sourceRoot":"","sources":["../source/get_extra_data_type_manager.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -32,3 +32,4 @@ export * from "./populate_data_type_manager.js";
32
32
  export * from "./promote_opaque_structure.js";
33
33
  export * from "./promote_opaque_structure_in_notification_data.js";
34
34
  export * from "./resolve_dynamic_extension_object.js";
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;GAEG;AAEH,cAAc,2DAA2D,CAAC;AAC1E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oDAAoD,CAAC;AACnE,cAAc,uCAAuC,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /*!
3
2
  * The MIT License (MIT)
4
3
  * Copyright (c) 2022-2025 Sterfive SAS - 833264583 RCS ORLEANS - France (https://www.sterfive.com)
@@ -24,28 +23,13 @@
24
23
  /**
25
24
  * @module node-opcua-client-dynamic-extension-object
26
25
  */
27
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
28
- if (k2 === undefined) k2 = k;
29
- var desc = Object.getOwnPropertyDescriptor(m, k);
30
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
31
- desc = { enumerable: true, get: function() { return m[k]; } };
32
- }
33
- Object.defineProperty(o, k2, desc);
34
- }) : (function(o, m, k, k2) {
35
- if (k2 === undefined) k2 = k;
36
- o[k2] = m[k];
37
- }));
38
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
39
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- __exportStar(require("./convert_data_type_definition_to_structuretype_schema.js"), exports);
43
- __exportStar(require("./convert_structuretype_schema_to_structure_definition.js"), exports);
44
- __exportStar(require("./extra_data_type_manager.js"), exports);
45
- __exportStar(require("./get_extension_object_constructor.js"), exports);
46
- __exportStar(require("./get_extra_data_type_manager.js"), exports);
47
- __exportStar(require("./populate_data_type_manager.js"), exports);
48
- __exportStar(require("./promote_opaque_structure.js"), exports);
49
- __exportStar(require("./promote_opaque_structure_in_notification_data.js"), exports);
50
- __exportStar(require("./resolve_dynamic_extension_object.js"), exports);
26
+ export * from "./convert_data_type_definition_to_structuretype_schema.js";
27
+ export * from "./convert_structuretype_schema_to_structure_definition.js";
28
+ export * from "./extra_data_type_manager.js";
29
+ export * from "./get_extension_object_constructor.js";
30
+ export * from "./get_extra_data_type_manager.js";
31
+ export * from "./populate_data_type_manager.js";
32
+ export * from "./promote_opaque_structure.js";
33
+ export * from "./promote_opaque_structure_in_notification_data.js";
34
+ export * from "./resolve_dynamic_extension_object.js";
51
35
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;GAEG;;;;;;;;;;;;;;;;AAEH,4FAA0E;AAC1E,4FAA0E;AAC1E,+DAA6C;AAC7C,wEAAsD;AACtD,mEAAiD;AACjD,kEAAgD;AAChD,gEAA8C;AAC9C,qFAAmE;AACnE,wEAAsD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;GAEG;AAEH,cAAc,2DAA2D,CAAC;AAC1E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oDAAoD,CAAC;AACnE,cAAc,uCAAuC,CAAC"}
@@ -9,3 +9,4 @@ export declare enum DataTypeExtractStrategy {
9
9
  Lazy = 4
10
10
  }
11
11
  export declare function populateDataTypeManager(session: IBasicSessionAsync2, dataTypeManager: ExtraDataTypeManager, strategy: DataTypeExtractStrategy): Promise<void>;
12
+ //# sourceMappingURL=populate_data_type_manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"populate_data_type_manager.d.ts","sourceRoot":"","sources":["../source/populate_data_type_manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,mBAAmB,EAAsB,MAAM,2BAA2B,CAAC;AAGzF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AASzE,wBAAsB,kCAAkC,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAyFvG;AAED,oBAAY,uBAAuB;IAC/B,IAAI,IAAI;IACR,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,IAAI,IAAI;IACR,IAAI,IAAI;CACX;AAED,wBAAsB,uBAAuB,CACzC,OAAO,EAAE,mBAAmB,EAC5B,eAAe,EAAE,oBAAoB,EACrC,QAAQ,EAAE,uBAAuB,GAClC,OAAO,CAAC,IAAI,CAAC,CAqDf"}
@@ -1,24 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataTypeExtractStrategy = void 0;
4
- exports.serverImplementsDataTypeDefinition = serverImplementsDataTypeDefinition;
5
- exports.populateDataTypeManager = populateDataTypeManager;
6
- const node_opcua_constants_1 = require("node-opcua-constants");
7
- const node_opcua_data_model_1 = require("node-opcua-data-model");
8
- const node_opcua_debug_1 = require("node-opcua-debug");
9
- const node_opcua_factory_1 = require("node-opcua-factory");
10
- const node_opcua_nodeid_1 = require("node-opcua-nodeid");
11
- const node_opcua_pseudo_session_1 = require("node-opcua-pseudo-session");
12
- const node_opcua_service_translate_browse_path_1 = require("node-opcua-service-translate-browse-path");
13
- const populate_data_type_manager_103_js_1 = require("./private/populate_data_type_manager_103.js");
14
- const populate_data_type_manager_104_js_1 = require("./private/populate_data_type_manager_104.js");
15
- const doDebug = (0, node_opcua_debug_1.checkDebugFlag)("populateDataTypeManager");
16
- const debugLog = (0, node_opcua_debug_1.make_debugLog)("populateDataTypeManager");
1
+ import { DataTypeIds, ObjectIds, VariableIds, VariableTypeIds } from "node-opcua-constants";
2
+ import { AttributeIds, BrowseDirection, NodeClassMask, ResultMask } from "node-opcua-data-model";
3
+ import { checkDebugFlag, make_debugLog } from "node-opcua-debug";
4
+ import { DataTypeFactory } from "node-opcua-factory";
5
+ import { resolveNodeId } from "node-opcua-nodeid";
6
+ import { readNamespaceArray } from "node-opcua-pseudo-session";
7
+ import { makeBrowsePath } from "node-opcua-service-translate-browse-path";
8
+ import { populateDataTypeManager103 } from "./private/populate_data_type_manager_103.js";
9
+ import { populateDataTypeManager104 } from "./private/populate_data_type_manager_104.js";
10
+ const doDebug = checkDebugFlag("populateDataTypeManager");
11
+ const debugLog = make_debugLog("populateDataTypeManager");
17
12
  const ComplexTypes2017 = "http://opcfoundation.org/UA-Profile/Server/ComplexTypes2017";
18
- async function serverImplementsDataTypeDefinition(session) {
13
+ export async function serverImplementsDataTypeDefinition(session) {
19
14
  const dataValueServerCapabilities = await session.read({
20
- nodeId: (0, node_opcua_nodeid_1.resolveNodeId)(node_opcua_constants_1.VariableIds.Server_ServerCapabilities_ServerProfileArray),
21
- attributeId: node_opcua_data_model_1.AttributeIds.Value
15
+ nodeId: resolveNodeId(VariableIds.Server_ServerCapabilities_ServerProfileArray),
16
+ attributeId: AttributeIds.Value
22
17
  });
23
18
  const serverCapabilities = dataValueServerCapabilities.value?.value ?? [];
24
19
  if (serverCapabilities.indexOf(ComplexTypes2017) >= 0) {
@@ -27,23 +22,23 @@ async function serverImplementsDataTypeDefinition(session) {
27
22
  }
28
23
  // Check if any non-deprecated 1.03 dictionary exists
29
24
  const browseResult1 = await session.browse({
30
- browseDirection: node_opcua_data_model_1.BrowseDirection.Forward,
25
+ browseDirection: BrowseDirection.Forward,
31
26
  includeSubtypes: true,
32
- nodeClassMask: node_opcua_data_model_1.NodeClassMask.Variable,
33
- nodeId: (0, node_opcua_nodeid_1.resolveNodeId)(node_opcua_constants_1.ObjectIds.OPCBinarySchema_TypeSystem),
34
- resultMask: node_opcua_data_model_1.ResultMask.TypeDefinition
27
+ nodeClassMask: NodeClassMask.Variable,
28
+ nodeId: resolveNodeId(ObjectIds.OPCBinarySchema_TypeSystem),
29
+ resultMask: ResultMask.TypeDefinition
35
30
  });
36
31
  const references103 = browseResult1.references || [];
37
32
  for (const ref of references103) {
38
33
  const td = ref.typeDefinition;
39
- if (td.namespace === 0 && td.value === node_opcua_constants_1.VariableTypeIds.DataTypeDictionaryType) {
40
- const p = await session.translateBrowsePath((0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(ref.nodeId, "/Deprecated"));
34
+ if (td.namespace === 0 && td.value === VariableTypeIds.DataTypeDictionaryType) {
35
+ const p = await session.translateBrowsePath(makeBrowsePath(ref.nodeId, "/Deprecated"));
41
36
  if (!p.statusCode.isGood() || !p.targets || p.targets.length === 0) {
42
37
  doDebug && debugLog("server implements 1.03 dictionary but no Deprecated node found");
43
38
  return false;
44
39
  }
45
40
  const deprecatedNodeId = p.targets[0].targetId;
46
- const dataValue = await session.read({ nodeId: deprecatedNodeId, attributeId: node_opcua_data_model_1.AttributeIds.Value });
41
+ const dataValue = await session.read({ nodeId: deprecatedNodeId, attributeId: AttributeIds.Value });
47
42
  if (dataValue.statusCode.isGood() && dataValue.value.value === false) {
48
43
  doDebug && debugLog("server implements 1.03 dictionary but Deprecated node is true");
49
44
  return false;
@@ -53,17 +48,17 @@ async function serverImplementsDataTypeDefinition(session) {
53
48
  // Try to find AT LEAST ONE custom DataType and check its DataTypeDefinition
54
49
  // We browse the Structure type (22) without recursion first
55
50
  const browseResult2 = await session.browse({
56
- browseDirection: node_opcua_data_model_1.BrowseDirection.Forward,
51
+ browseDirection: BrowseDirection.Forward,
57
52
  includeSubtypes: true,
58
- nodeClassMask: node_opcua_data_model_1.NodeClassMask.DataType,
59
- nodeId: (0, node_opcua_nodeid_1.resolveNodeId)(node_opcua_constants_1.DataTypeIds.Structure),
60
- referenceTypeId: (0, node_opcua_nodeid_1.resolveNodeId)("HasSubtype"),
53
+ nodeClassMask: NodeClassMask.DataType,
54
+ nodeId: resolveNodeId(DataTypeIds.Structure),
55
+ referenceTypeId: resolveNodeId("HasSubtype"),
61
56
  resultMask: 63
62
57
  });
63
58
  const references = browseResult2.references || [];
64
59
  const customDataType = references.find((r) => r.nodeId.namespace !== 0);
65
60
  if (customDataType) {
66
- const dv = await session.read({ nodeId: customDataType.nodeId, attributeId: node_opcua_data_model_1.AttributeIds.DataTypeDefinition });
61
+ const dv = await session.read({ nodeId: customDataType.nodeId, attributeId: AttributeIds.DataTypeDefinition });
67
62
  if (dv.statusCode.isGood()) {
68
63
  doDebug && debugLog("server implements 1.04 dictionary with custom DataType");
69
64
  return true;
@@ -72,7 +67,7 @@ async function serverImplementsDataTypeDefinition(session) {
72
67
  else {
73
68
  const standardDataType = references.find((r) => r.nodeId.namespace === 0);
74
69
  if (standardDataType) {
75
- const dv = await session.read({ nodeId: standardDataType.nodeId, attributeId: node_opcua_data_model_1.AttributeIds.DataTypeDefinition });
70
+ const dv = await session.read({ nodeId: standardDataType.nodeId, attributeId: AttributeIds.DataTypeDefinition });
76
71
  if (dv.statusCode.isGood()) {
77
72
  doDebug && debugLog("server implements 1.04 dictionary with standard DataType");
78
73
  return true;
@@ -81,16 +76,16 @@ async function serverImplementsDataTypeDefinition(session) {
81
76
  }
82
77
  // If no custom type at first level, check Union too
83
78
  const browseResult3 = await session.browse({
84
- browseDirection: node_opcua_data_model_1.BrowseDirection.Forward,
79
+ browseDirection: BrowseDirection.Forward,
85
80
  includeSubtypes: true,
86
- nodeClassMask: node_opcua_data_model_1.NodeClassMask.DataType,
87
- nodeId: (0, node_opcua_nodeid_1.resolveNodeId)(node_opcua_constants_1.DataTypeIds.Union),
88
- referenceTypeId: (0, node_opcua_nodeid_1.resolveNodeId)("HasSubtype"),
81
+ nodeClassMask: NodeClassMask.DataType,
82
+ nodeId: resolveNodeId(DataTypeIds.Union),
83
+ referenceTypeId: resolveNodeId("HasSubtype"),
89
84
  resultMask: 63
90
85
  });
91
86
  const customDataType2 = (browseResult3.references || []).find((r) => r.nodeId.namespace !== 0);
92
87
  if (customDataType2) {
93
- const dv = await session.read({ nodeId: customDataType2.nodeId, attributeId: node_opcua_data_model_1.AttributeIds.DataTypeDefinition });
88
+ const dv = await session.read({ nodeId: customDataType2.nodeId, attributeId: AttributeIds.DataTypeDefinition });
94
89
  if (dv.statusCode.isGood()) {
95
90
  doDebug && debugLog("server implements 1.04 dictionary with custom Union");
96
91
  return true;
@@ -99,15 +94,15 @@ async function serverImplementsDataTypeDefinition(session) {
99
94
  doDebug && debugLog("server does not implement 1.04 dictionary or we cannot find any evidence of it");
100
95
  return false;
101
96
  }
102
- var DataTypeExtractStrategy;
97
+ export var DataTypeExtractStrategy;
103
98
  (function (DataTypeExtractStrategy) {
104
99
  DataTypeExtractStrategy[DataTypeExtractStrategy["Auto"] = 0] = "Auto";
105
100
  DataTypeExtractStrategy[DataTypeExtractStrategy["Force103"] = 1] = "Force103";
106
101
  DataTypeExtractStrategy[DataTypeExtractStrategy["Force104"] = 2] = "Force104";
107
102
  DataTypeExtractStrategy[DataTypeExtractStrategy["Both"] = 3] = "Both";
108
103
  DataTypeExtractStrategy[DataTypeExtractStrategy["Lazy"] = 4] = "Lazy";
109
- })(DataTypeExtractStrategy || (exports.DataTypeExtractStrategy = DataTypeExtractStrategy = {}));
110
- async function populateDataTypeManager(session, dataTypeManager, strategy) {
104
+ })(DataTypeExtractStrategy || (DataTypeExtractStrategy = {}));
105
+ export async function populateDataTypeManager(session, dataTypeManager, strategy) {
111
106
  dataTypeManager.setSession(session);
112
107
  if (strategy === DataTypeExtractStrategy.Lazy) {
113
108
  doDebug && debugLog("populateDataTypeManager: Lazy mode");
@@ -116,11 +111,11 @@ async function populateDataTypeManager(session, dataTypeManager, strategy) {
116
111
  doDebug && debugLog("populateDataTypeManager: Lazy mode - server implements 1.04 dictionary - we will be lazy");
117
112
  // we are in lazy mode for 1.0.5+
118
113
  // create teh dataTypeFactory for namespace 1
119
- const namespace = await (0, node_opcua_pseudo_session_1.readNamespaceArray)(session);
114
+ const namespace = await readNamespaceArray(session);
120
115
  for (let i = 1; i < namespace.length; i++) {
121
116
  let dataTypeFactory = dataTypeManager.getDataTypeFactory(i);
122
117
  if (!dataTypeFactory) {
123
- dataTypeFactory = new node_opcua_factory_1.DataTypeFactory([]);
118
+ dataTypeFactory = new DataTypeFactory([]);
124
119
  dataTypeManager.registerDataTypeFactory(i, dataTypeFactory);
125
120
  // throw new Error("cannot find dataType Manager for namespace of " + dataTypeNodeId.toString());
126
121
  }
@@ -129,8 +124,8 @@ async function populateDataTypeManager(session, dataTypeManager, strategy) {
129
124
  }
130
125
  doDebug && debugLog("populateDataTypeManager: Lazy mode - server does not implement 1.04 dictionary - we will be eager");
131
126
  // for old 1.03 servers we must be eager as we don't have a way to lazy load 1.03 dictionaries yet
132
- await (0, populate_data_type_manager_103_js_1.populateDataTypeManager103)(session, dataTypeManager);
133
- await (0, populate_data_type_manager_104_js_1.populateDataTypeManager104)(session, dataTypeManager);
127
+ await populateDataTypeManager103(session, dataTypeManager);
128
+ await populateDataTypeManager104(session, dataTypeManager);
134
129
  return;
135
130
  }
136
131
  if (strategy === DataTypeExtractStrategy.Auto) {
@@ -138,23 +133,23 @@ async function populateDataTypeManager(session, dataTypeManager, strategy) {
138
133
  const force104 = await serverImplementsDataTypeDefinition(session);
139
134
  if (force104) {
140
135
  doDebug && debugLog("populateDataTypeManager: Auto mode - server implements 1.04 dictionary - we will be 104 eager");
141
- await (0, populate_data_type_manager_104_js_1.populateDataTypeManager104)(session, dataTypeManager);
136
+ await populateDataTypeManager104(session, dataTypeManager);
142
137
  return;
143
138
  }
144
139
  doDebug &&
145
140
  debugLog("populateDataTypeManager: Auto mode - server does not implement 1.04 dictionary - we will be 103 eager and 104 eager");
146
141
  // old way for 1.03 and early 1.04 prototype
147
- await (0, populate_data_type_manager_103_js_1.populateDataTypeManager103)(session, dataTypeManager);
148
- await (0, populate_data_type_manager_104_js_1.populateDataTypeManager104)(session, dataTypeManager);
142
+ await populateDataTypeManager103(session, dataTypeManager);
143
+ await populateDataTypeManager104(session, dataTypeManager);
149
144
  return;
150
145
  }
151
146
  if (strategy === DataTypeExtractStrategy.Force103 || strategy === DataTypeExtractStrategy.Both) {
152
147
  doDebug && debugLog("populateDataTypeManager: Force103 mode - we will be 103 eager");
153
- await (0, populate_data_type_manager_103_js_1.populateDataTypeManager103)(session, dataTypeManager);
148
+ await populateDataTypeManager103(session, dataTypeManager);
154
149
  }
155
150
  if (strategy === DataTypeExtractStrategy.Force104 || strategy === DataTypeExtractStrategy.Both) {
156
151
  doDebug && debugLog("populateDataTypeManager: Force104 mode - we will be 104 eager");
157
- await (0, populate_data_type_manager_104_js_1.populateDataTypeManager104)(session, dataTypeManager);
152
+ await populateDataTypeManager104(session, dataTypeManager);
158
153
  }
159
154
  }
160
155
  //# sourceMappingURL=populate_data_type_manager.js.map