node-opcua-factory 2.75.0 → 2.77.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.
@@ -16,14 +16,26 @@ const node_opcua_debug_1 = require("node-opcua-debug");
16
16
  const node_opcua_nodeid_1 = require("node-opcua-nodeid");
17
17
  const utils = require("node-opcua-utils");
18
18
  const enumerations_1 = require("./enumerations");
19
- const datatype_factory_1 = require("./datatype_factory");
20
19
  const get_standard_data_type_factory_1 = require("./get_standard_data_type_factory");
21
- const structured_type_schema_1 = require("./structured_type_schema");
22
20
  const types_1 = require("./types");
23
21
  const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
24
22
  function r(str, length = 30) {
25
23
  return (str + " ").substring(0, length);
26
24
  }
25
+ function _findFieldSchema(typeDictionary, field, value) {
26
+ const fieldType = field.fieldType;
27
+ if (field.allowSubType && field.category === "complex") {
28
+ const fieldTypeConstructor = value ? value.constructor : field.fieldTypeConstructor;
29
+ const _newFieldSchema = fieldTypeConstructor.schema;
30
+ return _newFieldSchema;
31
+ }
32
+ const fieldTypeConstructor = field.fieldTypeConstructor;
33
+ if (fieldTypeConstructor) {
34
+ return fieldTypeConstructor.prototype.schema;
35
+ }
36
+ const strucutreInfo = typeDictionary.getStructureInfoByTypeName(fieldType);
37
+ return strucutreInfo.schema;
38
+ }
27
39
  function _decode_member_(value, field, stream, options) {
28
40
  const tracer = options.tracer;
29
41
  const cursorBefore = stream.length;
@@ -58,7 +70,7 @@ function _decode_member_(value, field, stream, options) {
58
70
  return value;
59
71
  }
60
72
  function _applyOnAllSchemaFields(self, schema, data, functor, args) {
61
- const baseSchema = (0, structured_type_schema_1.get_base_schema)(schema);
73
+ const baseSchema = schema.getBaseSchema();
62
74
  if (baseSchema) {
63
75
  _applyOnAllSchemaFields(self, baseSchema, data, functor, args);
64
76
  }
@@ -263,7 +275,7 @@ function _exploreObject(self, field, data, args) {
263
275
  _dump_simple_value(self, field, data, value, fieldType);
264
276
  }
265
277
  else {
266
- const typeDictionary = self.schema.$$factory;
278
+ const typeDictionary = self.schema.getDataTypeFactory();
267
279
  // istanbul ignore next
268
280
  if (!typeDictionary) {
269
281
  errorLog("Internal Error: No typeDictionary for ", self.schema);
@@ -281,7 +293,7 @@ function _exploreObject(self, field, data, args) {
281
293
  const m = Math.min(_nbElements, value.length);
282
294
  for (let i = 0; i < m; i++) {
283
295
  const element = value[i];
284
- const _newFieldSchema = (0, datatype_factory_1._findFieldSchema)(typeDictionary, field, element);
296
+ const _newFieldSchema = _findFieldSchema(typeDictionary, field, element);
285
297
  data.lines.push(padding + ` { ` + chalk.cyan(`/* ${i} - ${_newFieldSchema === null || _newFieldSchema === void 0 ? void 0 : _newFieldSchema.name}*/`));
286
298
  const data1 = {
287
299
  lines: [],
@@ -298,7 +310,7 @@ function _exploreObject(self, field, data, args) {
298
310
  }
299
311
  }
300
312
  else {
301
- const _newFieldSchema = (0, datatype_factory_1._findFieldSchema)(typeDictionary, field, value);
313
+ const _newFieldSchema = _findFieldSchema(typeDictionary, field, value);
302
314
  data.lines.push(fieldNameF + " " + fieldTypeF + ": {");
303
315
  const data1 = { padding: padding + " ", lines: [] };
304
316
  _applyOnAllSchemaFields(value, _newFieldSchema, data1, _exploreObject, args);
@@ -527,7 +539,7 @@ exports.BaseUAObject = BaseUAObject;
527
539
  function _visitSchemaChain(self, schema, pojo, func, extraData) {
528
540
  (0, node_opcua_assert_1.assert)(typeof func === "function");
529
541
  // apply also construct to baseType schema first
530
- const baseSchema = (0, structured_type_schema_1.get_base_schema)(schema);
542
+ const baseSchema = schema.getBaseSchema ? schema.getBaseSchema() : null;
531
543
  if (baseSchema) {
532
544
  _visitSchemaChain(self, baseSchema, pojo, func, extraData);
533
545
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base_ua_object.js","sourceRoot":"","sources":["../source/base_ua_object.ts"],"names":[],"mappings":";;;;AAAA,uCAAuC;AACvC,+BAA+B;AAC/B;;GAEG;AACH,sCAAsC;AACtC,+BAA+B;AAC/B,yDAA2C;AAC3C,mEAAsD;AACtD,uEAAwG;AACxG,uDAA0D;AAC1D,yDAA2C;AAC3C,0CAA0C;AAE1C,iDAA8E;AAC9E,yDAAuE;AACvE,qFAA+E;AAC/E,qEAA2D;AAC3D,mCAWiB;AAEjB,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAE3C,SAAS,CAAC,CAAC,GAAW,EAAE,MAAM,GAAG,EAAE;IAC/B,OAAO,CAAC,GAAG,GAAG,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,eAAe,CAAC,KAAU,EAAE,KAA0B,EAAE,MAAoB,EAAE,OAA2B;IAC9G,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAElC,QAAQ,KAAK,CAAC,QAAQ,EAAE;QACpB,KAAK,qBAAa,CAAC,KAAK;YACpB,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;gBACrB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACvC;YACD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACpF,MAAM;QACV,KAAK,qBAAa,CAAC,WAAW;YAC1B,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;gBACrB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACvC;YACD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACpF,MAAM;QACV,KAAK,qBAAa,CAAC,OAAO,CAAC,CAAC;YACxB,IAAA,0BAAM,EAAC,KAAK,CAAC,QAAQ,KAAK,qBAAa,CAAC,OAAO,CAAC,CAAC;YAEjD,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE;gBAC7B,KAAK,CAAC,oBAAoB,GAAG,IAAA,4DAA2B,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;aAC7E;YACD,IAAI,OAAO,KAAK,CAAC,oBAAoB,KAAK,UAAU,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,KAAK,CAAC,IAAI,GAAG,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;aAChG;YACD,4DAA4D;YAC5D,MAAM,WAAW,GAAG,KAAK,CAAC,oBAAoB,CAAC;YAC/C,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;YAC1B,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACtC;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,uBAAuB,CAAI,IAAkB,EAAE,MAA6B,EAAE,IAAO,EAAE,OAAiB,EAAE,IAAU;IACzH,MAAM,UAAU,GAAG,IAAA,wCAAe,EAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,UAAU,EAAE;QACZ,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;KAClE;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;QAC/B,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;KACpC;AACL,CAAC;AAED,MAAM,WAAW,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9H,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,MAAA,OAAO,CAAC,GAAG,0CAAE,UAAU,CAAA,CAAC,CAAC,CAAC,KAAK,CAAC;AAEnF,SAAS,cAAc,CAAC,KAAmB,EAAE,IAAmB;IAC5D,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,SAAS,CAAC;KACpB;SAAM;QACH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,OAAO,gBAAgB,CAAC;SAC3B;QACD,IAAA,0BAAM,EAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7B,MAAM,CAAC,GAAG,EAAE,CAAC;QAEb,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAChC,IAAI,WAAW,GAAG,IAAI,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACxB,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,OAAO,YAAY,MAAM,EAAE;gBAC3B,OAAO,GAAG,IAAA,0BAAO,EAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;aACtC;iBAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE;gBACzC,OAAO,GAAG,MAAM,CAAC;aACpB;iBAAM;gBACH,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC7B,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9B,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBACd,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;oBAC1C,WAAW,GAAG,IAAI,CAAC;iBACtB;aACJ;YACD,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE;gBACrB,WAAW,GAAG,IAAI,CAAC;aACtB;YACD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACnB;QAED,MAAM,MAAM,GAAG,aAAa,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACnD,IAAI,WAAW,EAAE;YACb,OAAO,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;SAC3G;aAAM;YACH,OAAO,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,GAAG,CAAC;SACvD;KACJ;AACL,CAAC;AAMD,sCAAsC;AACtC,0CAA0C;AAC1C,SAAS,cAAc,CAAC,IAAkB,EAAE,KAA0B,EAAE,IAAmB,EAAE,IAAS;IAClG,IAAI,CAAC,IAAI,EAAE;QACP,OAAO;KACV;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAElC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAEhC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAE7B,IAAI,KAAK,GAAI,IAAY,CAAC,SAAS,CAAC,CAAC;IAErC,IAAI,GAAG,CAAC;IAER,2DAA2D;IAC3D,IAAI,GAAG,GAAG,MAAM,CAAC;IACjB,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE;QAC/B,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC;KACtC;IAED,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE;QACjC,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;KACxC;IACD,MAAM,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1D,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,SAAS,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,WAAW,MAAM,CAAC,CAAC;IAErG,yDAAyD;IACzD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE;QACtD,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,qCAAqC,CAAC;QACpH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO;KACV;IACD,sDAAsD;IACtD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE;QACxD,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,kCAAkC,CAAC;QACjH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO;KACV;IAED,wCAAwC;IACxC,IAAI,SAAS,KAAK,eAAe,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,EAAE;QAC1D,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,QAAQ,CAAC;QACrC,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO;KACV;IACD,IAAI,SAAS,KAAK,eAAe,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,EAAE;QAC1D,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,QAAQ,CAAC;QACrC,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO;KACV;IACD,IAAI,SAAS,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,EAAE;QACtD,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO;KACV;IAED,SAAS,uBAAuB,CAC5B,IAAkB,EAClB,KAA0B,EAC1B,IAAmB,EACnB,KAAU,EACV,SAAiB;QAEjB,MAAM,CAAC,GAAG,KAAK,CAAC,MAA+B,CAAC;QAEhD,uBAAuB;QACvB,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;YACd,4BAA4B;YAC5B,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;SAC/C;QACD,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;YAC9B,uBAAuB;YACvB,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACzB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAkB,CAAC;aAC3D;iBAAM;gBACH,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,GAAG,CAAkB,CAAC;aAChE;QACL,CAAC,CAAC;QACF,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YACf,GAAG;gBACC,UAAU;oBACV,GAAG;oBACH,UAAU;oBACV,KAAK;oBACL,KAAK;yBACA,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;yBAC9B,GAAG,CAAC,GAAG,CAAC;yBACR,IAAI,CAAC,IAAI,CAAC;oBACf,GAAG,CAAC;YACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACxB;aAAM;YACH,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACzB,GAAG,GAAG,GAAG,UAAU,IAAI,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACxB;IACL,CAAC;IAED,SAAS,kBAAkB,CACvB,IAAkB,EAClB,KAA0B,EAC1B,IAAmB,EACnB,KAAU,EACV,SAAiB;QAEjB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,KAAK,YAAY,MAAM,EAAE;YACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC;YAC/C,IAAI,UAAU,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE;gBAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAA,0BAAO,EAAC,KAAK,CAAC,CAAC;gBAC3F,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;aAC1C;iBAAM;gBACH,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACnD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC;aAC9D;SACJ;aAAM;YACH,IAAI,KAAK,CAAC,OAAO,EAAE;gBACf,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,UAAU,GAAG,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aAC5E;iBAAM;gBACH,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,YAAY,0BAAM,EAAE;oBACzD,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;iBAC/B;qBAAM,IAAI,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,QAAQ,EAAE;oBAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;wBAC9B,KAAK,GAAG,eAAe,GAAG,qCAAY,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;qBACzE;yBAAM;wBACH,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;wBAC5E,KAAK,GAAG,EAAE,GAAG,KAAK,GAAG,iBAAiB,GAAG,KAAK,CAAC;qBAClD;iBACJ;qBAAM,IAAI,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,SAAS,EAAE;oBAC5D,IAAI;wBACA,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;qBACpE;oBAAC,WAAM;wBACJ,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,IAAG,gBAAgB,CAAC,CAAC;qBAC3D;iBACJ;qBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;oBAC3E,yCAAyC;oBACzC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBAC7C;gBACD,GAAG;oBACC,UAAU;wBACV,GAAG;wBACH,UAAU;wBACV,IAAI;wBACJ,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;aACvF;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACxB;IACL,CAAC;IAED,SAAS,mBAAmB,CACxB,IAAkB,EAClB,KAA0B,EAC1B,IAAmB,EACnB,KAAU,EACV,SAAiB;QAEjB,IAAI,KAAK,CAAC,OAAO,EAAE;YACf,uBAAuB;YACvB,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC;YAC1B,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;SAC3D;aAAM;YACH,MAAM,cAAc,GAAI,IAAI,CAAC,MAAc,CAAC,SAA4B,CAAC;YAEzE,uBAAuB;YACvB,IAAI,CAAC,cAAc,EAAE;gBACjB,QAAQ,CAAC,wCAAwC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChE,OAAO;aACV;YAED,IAAI,KAAK,CAAC,OAAO,EAAE;gBACf,IAAI,KAAK,KAAK,IAAI,EAAE;oBAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC;iBAChE;qBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,UAAU,GAAG,mBAAmB,CAAC,CAAC;iBACxE;qBAAM;oBACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC;oBACvD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;wBACxB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBAEzB,MAAM,eAAe,GAAG,IAAA,mCAAgB,EAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;wBAEzE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,IAAI,CAAC,CAAC,CAAC;wBAEvF,MAAM,KAAK,GAAG;4BACV,KAAK,EAAE,EAAc;4BACrB,OAAO,EAAE,OAAO,GAAG,MAAM;yBAC5B,CAAC;wBACF,uBAAuB,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;wBAE/E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAE5C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;qBAC1E;oBACD,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE;wBAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;qBACzE;oBACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;iBAClC;aACJ;iBAAM;gBACH,MAAM,eAAe,GAAG,IAAA,mCAAgB,EAAC,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACvE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC;gBACvD,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,EAAc,EAAE,CAAC;gBACjE,uBAAuB,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;gBAC7E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAE5C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;aAClC;SACJ;IACL,CAAC;IAED,QAAQ,QAAQ,EAAE;QACd,KAAK,qBAAa,CAAC,WAAW;YAC1B,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAC7D,MAAM;QACV,KAAK,qBAAa,CAAC,KAAK;YACpB,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YACxD,MAAM;QACV,KAAK,qBAAa,CAAC,OAAO;YACtB,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YACzD,MAAM;QACV;YACI,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,QAAQ,CAAC,CAAC;KAC5E;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,CAAwB,EAAE,KAAU,EAAE,SAAoB;IACxE,IAAI,KAAK,YAAY,KAAK,EAAE;QACxB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7D;IACD;;;;MAIE;IACF,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;QACf,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC1B;SAAM,IAAI,KAAK,CAAC,MAAM,EAAE;QACrB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;KACzB;SAAM;QACH,OAAO,KAAK,CAAC;KAChB;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,IAAkB,EAAE,MAA6B,EAAE,IAAS;IAC1E,4BAA4B;IAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;QAC/B,MAAM,UAAU,GAAI,IAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE;YACjD,SAAS;SACZ;QAED,IAAI,IAAA,oCAAqB,EAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACxC,MAAM,WAAW,GAAG,IAAA,oCAAqB,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAA,0BAAM,EAAC,WAAW,KAAK,IAAI,CAAC,CAAC;YAC7B,IAAI,KAAK,CAAC,OAAO,EAAE;gBACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;aAC/F;iBAAM;gBACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;aACpE;YACD,SAAS;SACZ;QACD,MAAM,CAAC,GAAG,KAAK,CAAC,MAA+B,CAAC,CAAC,mCAAmC;QAEpF,IAAI,KAAK,CAAC,OAAO,EAAE;YACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAChF;aAAM;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;SACrD;KACJ;AACL,CAAC;AAMD;;;GAGG;AACH,MAAa,YAAY;IACrB;QACI,OAAO;IACX,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,MAA0B;QACpC,MAAM;IACV,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,MAAoB;QAC9B,MAAM;IACV,CAAC;IAED;;;;OAIG;IACI,eAAe;QAClB,MAAM,MAAM,GAAG,IAAI,qDAA0B,EAAE,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,GAAG,IAAW;QAC1B,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;YAC9E,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAgB,CAAC,CAAC;SAC7D;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACf,sCAAsC;gBACtC,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAgB,CAAC,CAAC;aAClE;YACD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;SACzB;IACL,CAAC;IAED;;;;;OAKG;IACI,OAAO;QACV,IAAA,0BAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACrB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACpC;aAAM;YACH,OAAO,IAAI,CAAC;SACf;IACL,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,MAAoB,EAAE,OAA2B;QAChE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5F,MAAM,IAAI,GAAQ,IAAW,CAAC;QAE9B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE/B,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE;gBACvC,OAAO;gBACP,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,CAAC,WAAW,EAAE;oBAC3C,SAAS;iBACZ;aACJ;YACD,IAAI,KAAK,CAAC,OAAO,EAAE;gBACf,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;gBACnC,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC7B,IAAI,EAAE,KAAK,UAAU,EAAE;oBACnB,EAAE,GAAG,CAAC,CAAC;iBACV;gBACD,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;gBAE/B,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;oBACzB,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC7C,OAAO,CAAC,IAAI,GAAG,WAAW,GAAG,CAAC,CAAC;oBAE/B,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBAE/C,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;iBAC9C;gBACD,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aAC5D;iBAAM;gBACH,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC1B,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;aAClD;SACJ;QAED,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAEM,OAAO;QACV,MAAM,IAAI,GAAyC;YAC/C,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,GAAG;SACf,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACxF,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;SAC/C;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEM,gBAAgB,CAAI,IAAc,EAAE,IAAO;QAC9C,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAEM,MAAM;QACT,IAAA,0BAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACpB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAgB,CAAC,CAAC;SAC3D;aAAM;YACH,IAAA,0BAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;SACf;IACL,CAAC;IAEM,KAAK,EAAC,oCAAoC;QAC7C,MAAM,IAAI,GAAQ,IAAW,CAAC;QAE9B,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,SAAS,eAAe,CAAC,MAAW,EAAE,OAAY;YAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;gBAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE;oBAC/B,SAAS;iBACZ;gBACD,IAAI,KAAK,CAAC,OAAO,EAAE;oBACf,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC/C;qBAAM;oBACH,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC1C;aACJ;QACL,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEhD,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;CACJ;AAxKD,oCAwKC;AAED,SAAS,iBAAiB,CACtB,IAAkB,EAClB,MAA6B,EAC7B,IAAS,EACT,IAA4E,EAC5E,SAAc;IAEd,IAAA,0BAAM,EAAC,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC;IAEnC,gDAAgD;IAChD,MAAM,UAAU,GAAG,IAAA,wCAAe,EAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,UAAU,EAAE;QACZ,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;KAC9D;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"base_ua_object.js","sourceRoot":"","sources":["../source/base_ua_object.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,17 @@
1
1
  import { ExpandedNodeId, NodeId } from "node-opcua-nodeid";
2
2
  import { EnumerationDefinitionSchema } from "./enumerations";
3
- import { CommonInterface, StructuredTypeField, IStructuredTypeSchema, ConstructorFuncWithSchema, ConstructorFunc, IBaseUAObject } from "./types";
4
- export declare function _findFieldSchema(typeDictionary: DataTypeFactory, field: StructuredTypeField, value: any): IStructuredTypeSchema;
3
+ import { CommonInterface, IStructuredTypeSchema, ConstructorFuncWithSchema, ConstructorFunc, IBaseUAObject } from "./types";
4
+ export interface StructureInfo {
5
+ constructor: ConstructorFuncWithSchema | null;
6
+ schema: IStructuredTypeSchema;
7
+ }
5
8
  export declare class DataTypeFactory {
6
9
  defaultByteOrder: string;
7
10
  targetNamespace: string;
8
11
  imports: string[];
9
- private _structureTypeConstructorByNameMap;
10
- private _structureTypeConstructorByDataTypeMap;
11
- private _structureTypeConstructorByEncodingNodeIdMap;
12
+ private _structureInfoByName;
13
+ private _structureInfoByDataTypeMap;
14
+ private _structureInfoByEncodingMap;
12
15
  private _enumerations;
13
16
  private baseDataFactories;
14
17
  constructor(baseDataFactories: DataTypeFactory[]);
@@ -19,13 +22,15 @@ export declare class DataTypeFactory {
19
22
  registerEnumeration(enumeration: EnumerationDefinitionSchema): void;
20
23
  hasEnumeration(enumName: string): boolean;
21
24
  getEnumeration(enumName: string): EnumerationDefinitionSchema | null;
22
- findConstructorForDataType(dataTypeNodeId: NodeId): ConstructorFuncWithSchema;
23
- getConstructorForDataType(dataTypeNodeId: NodeId): ConstructorFuncWithSchema | null;
25
+ findStructureInfoForDataType(dataTypeNodeId: NodeId): StructureInfo;
26
+ getStructureInfoForDataType(dataTypeNodeId: NodeId): StructureInfo | null;
24
27
  structuredTypesNames(): IterableIterator<string>;
25
- getStructureTypeConstructor(typeName: string): ConstructorFuncWithSchema;
26
- hasStructuredType(typeName: string): boolean;
28
+ enumerations(): IterableIterator<string>;
29
+ getStructureInfoByTypeName(typeName: string): StructureInfo;
30
+ hasStructureByTypeName(typeName: string): boolean;
27
31
  getStructuredTypeSchema(typeName: string): IStructuredTypeSchema;
28
32
  dump(): void;
33
+ registerAbstractStructure(dataTypeNodeId: NodeId, className: string, schema: IStructuredTypeSchema): void;
29
34
  registerClassDefinition(dataTypeNodeId: NodeId, className: string, classConstructor: ConstructorFuncWithSchema): void;
30
35
  getConstructor(binaryEncodingNodeId: NodeId): ConstructorFunc | null;
31
36
  hasConstructor(binaryEncodingNodeId: NodeId): boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataTypeFactory = exports._findFieldSchema = void 0;
3
+ exports.DataTypeFactory = void 0;
4
4
  /**
5
5
  * @module node-opcua-factory
6
6
  */
@@ -14,23 +14,12 @@ const enumerations_1 = require("./enumerations");
14
14
  const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
15
15
  const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(__filename);
16
16
  const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
17
- function _findFieldSchema(typeDictionary, field, value) {
18
- const fieldType = field.fieldType;
19
- if (field.allowSubType && field.category === "complex") {
20
- const fieldTypeConstructor = value ? value.constructor : field.fieldTypeConstructor;
21
- const _newFieldSchema = fieldTypeConstructor.schema;
22
- return _newFieldSchema;
23
- }
24
- const fieldTypeConstructor = field.fieldTypeConstructor || typeDictionary.getStructureTypeConstructor(fieldType);
25
- return field.schema || fieldTypeConstructor.schema;
26
- }
27
- exports._findFieldSchema = _findFieldSchema;
28
17
  class DataTypeFactory {
29
18
  constructor(baseDataFactories) {
30
19
  this.imports = [];
31
- this._structureTypeConstructorByNameMap = new Map();
32
- this._structureTypeConstructorByDataTypeMap = new Map();
33
- this._structureTypeConstructorByEncodingNodeIdMap = new Map();
20
+ this._structureInfoByName = new Map();
21
+ this._structureInfoByDataTypeMap = new Map();
22
+ this._structureInfoByEncodingMap = new Map();
34
23
  this._enumerations = new Map();
35
24
  this.defaultByteOrder = "LittleEndian";
36
25
  this.targetNamespace = "";
@@ -84,23 +73,23 @@ class DataTypeFactory {
84
73
  return ee;
85
74
  }
86
75
  // ----------------------------
87
- findConstructorForDataType(dataTypeNodeId) {
88
- const constructor = this.getConstructorForDataType(dataTypeNodeId);
89
- if (constructor) {
90
- return constructor;
76
+ findStructureInfoForDataType(dataTypeNodeId) {
77
+ const structureInfo = this.getStructureInfoForDataType(dataTypeNodeId);
78
+ if (structureInfo) {
79
+ return structureInfo;
91
80
  }
92
- this.getConstructorForDataType(dataTypeNodeId);
81
+ this.getStructureInfoForDataType(dataTypeNodeId);
93
82
  throw new Error("Cannot find StructureType constructor for dataType " + dataTypeNodeId.toString());
94
83
  }
95
- getConstructorForDataType(dataTypeNodeId) {
96
- const constructor = this._structureTypeConstructorByDataTypeMap.get(dataTypeNodeId.toString());
97
- if (constructor) {
98
- return constructor;
84
+ getStructureInfoForDataType(dataTypeNodeId) {
85
+ const structureInfo = this._structureInfoByDataTypeMap.get(dataTypeNodeId.toString());
86
+ if (structureInfo) {
87
+ return structureInfo;
99
88
  }
100
89
  for (const factory of this.baseDataFactories) {
101
- const constructor2 = factory.getConstructorForDataType(dataTypeNodeId);
102
- if (constructor2) {
103
- return constructor2;
90
+ const structureInfo2 = factory.getStructureInfoForDataType(dataTypeNodeId);
91
+ if (structureInfo2) {
92
+ return structureInfo2;
104
93
  }
105
94
  }
106
95
  return null;
@@ -109,20 +98,23 @@ class DataTypeFactory {
109
98
  // Access by typeName
110
99
  // ----------------------------------------------------------------------------------------------------
111
100
  structuredTypesNames() {
112
- return this._structureTypeConstructorByNameMap.keys();
101
+ return this._structureInfoByName.keys();
113
102
  }
114
- getStructureTypeConstructor(typeName) {
115
- const constructor = this._structureTypeConstructorByNameMap.get(typeName);
116
- if (constructor) {
117
- return constructor;
103
+ enumerations() {
104
+ return this._enumerations.keys();
105
+ }
106
+ getStructureInfoByTypeName(typeName) {
107
+ const structureInfo = this._structureInfoByName.get(typeName);
108
+ if (structureInfo) {
109
+ return structureInfo;
118
110
  }
119
111
  for (const factory of this.baseDataFactories) {
120
- if (!factory.hasStructuredType(typeName)) {
112
+ if (!factory.hasStructureByTypeName(typeName)) {
121
113
  continue;
122
114
  }
123
- const constructor2 = factory.getStructureTypeConstructor(typeName);
124
- if (constructor2) {
125
- return constructor2;
115
+ const structureInfo2 = factory.getStructureInfoByTypeName(typeName);
116
+ if (structureInfo2) {
117
+ return structureInfo2;
126
118
  }
127
119
  }
128
120
  // istanbul ignore next
@@ -132,20 +124,20 @@ class DataTypeFactory {
132
124
  // istanbul ignore next
133
125
  throw new Error("Cannot find StructureType constructor for " + typeName + " - it may be abstract, or it could be a basic type");
134
126
  }
135
- hasStructuredType(typeName) {
136
- if (this._structureTypeConstructorByNameMap.has(typeName)) {
127
+ hasStructureByTypeName(typeName) {
128
+ if (this._structureInfoByName.has(typeName)) {
137
129
  return true;
138
130
  }
139
131
  for (const factory of this.baseDataFactories) {
140
- if (factory.hasStructuredType(typeName)) {
132
+ if (factory.hasStructureByTypeName(typeName)) {
141
133
  return true;
142
134
  }
143
135
  }
144
136
  return false;
145
137
  }
146
138
  getStructuredTypeSchema(typeName) {
147
- const constructor = this.getStructureTypeConstructor(typeName);
148
- return constructor.schema;
139
+ const structureInfo = this.getStructureInfoByTypeName(typeName);
140
+ return structureInfo.schema;
149
141
  }
150
142
  // istanbul ignore next
151
143
  dump() {
@@ -153,8 +145,12 @@ class DataTypeFactory {
153
145
  console.log(" Factory ", [...this.structuredTypesNames()].sort().forEach((e) => e));
154
146
  console.log(" done");
155
147
  }
148
+ registerAbstractStructure(dataTypeNodeId, className, schema) {
149
+ schema.isAbstract = true;
150
+ this._registerFactory(dataTypeNodeId, className, null, schema);
151
+ }
156
152
  registerClassDefinition(dataTypeNodeId, className, classConstructor) {
157
- this._registerFactory(dataTypeNodeId, className, classConstructor);
153
+ this._registerFactory(dataTypeNodeId, className, classConstructor, classConstructor.schema);
158
154
  if (classConstructor.encodingDefaultBinary && classConstructor.encodingDefaultBinary.value !== 0) {
159
155
  this.associateWithBinaryEncoding(className, classConstructor.encodingDefaultBinary);
160
156
  }
@@ -168,14 +164,17 @@ class DataTypeFactory {
168
164
  // ----------------------------------------------------------------------------------------------------
169
165
  getConstructor(binaryEncodingNodeId) {
170
166
  const expandedNodeIdKey = makeExpandedNodeIdKey(binaryEncodingNodeId);
171
- const constructor = this._structureTypeConstructorByEncodingNodeIdMap.get(expandedNodeIdKey);
172
- if (constructor) {
173
- return constructor;
167
+ const structureInfo = this._structureInfoByEncodingMap.get(expandedNodeIdKey);
168
+ if (!structureInfo)
169
+ return null;
170
+ const Constructor = structureInfo.constructor;
171
+ if (Constructor) {
172
+ return Constructor;
174
173
  }
175
174
  for (const factory of this.baseDataFactories) {
176
- const constructor2 = factory.getConstructor(binaryEncodingNodeId);
177
- if (constructor2) {
178
- return constructor2;
175
+ const Constructor2 = factory.getConstructor(binaryEncodingNodeId);
176
+ if (Constructor2) {
177
+ return Constructor2;
179
178
  }
180
179
  }
181
180
  debugLog(chalk.red("#getConstructor : cannot find constructor for expandedId "), binaryEncodingNodeId.toString());
@@ -185,13 +184,9 @@ class DataTypeFactory {
185
184
  if (!binaryEncodingNodeId) {
186
185
  return false;
187
186
  }
188
- /* istanbul ignore next */
189
- if (!verifyExpandedNodeId(binaryEncodingNodeId)) {
190
- console.log("Invalid expandedNodeId");
191
- return false;
192
- }
187
+ verifyExpandedNodeId(binaryEncodingNodeId);
193
188
  const expandedNodeIdKey = makeExpandedNodeIdKey(binaryEncodingNodeId);
194
- const constructor = this._structureTypeConstructorByEncodingNodeIdMap.get(expandedNodeIdKey);
189
+ const constructor = this._structureInfoByEncodingMap.get(expandedNodeIdKey);
195
190
  if (constructor) {
196
191
  return true;
197
192
  }
@@ -204,36 +199,31 @@ class DataTypeFactory {
204
199
  return false;
205
200
  }
206
201
  constructObject(binaryEncodingNodeId) {
207
- if (!verifyExpandedNodeId(binaryEncodingNodeId)) {
208
- throw new Error(" constructObject : invalid expandedNodeId provided " + binaryEncodingNodeId.toString());
209
- }
210
- const constructor = this.getConstructor(binaryEncodingNodeId);
211
- if (!constructor) {
202
+ verifyExpandedNodeId(binaryEncodingNodeId);
203
+ const Constructor = this.getConstructor(binaryEncodingNodeId);
204
+ if (!Constructor) {
212
205
  debugLog("Cannot find constructor for " + binaryEncodingNodeId.toString());
213
206
  throw new Error("Cannot find constructor for " + binaryEncodingNodeId.toString());
214
207
  }
215
- return new constructor();
208
+ return new Constructor();
216
209
  }
217
210
  associateWithBinaryEncoding(className, expandedNodeId) {
218
- const classConstructor = this.getStructureTypeConstructor(className);
211
+ const structureInfo = this.getStructureInfoByTypeName(className);
219
212
  if (doDebug) {
220
213
  debugLog(" associateWithBinaryEncoding ", className, expandedNodeId.toString());
221
214
  }
222
- /* istanbul ignore next */
223
- if (!verifyExpandedNodeId(expandedNodeId)) {
224
- throw new Error("Invalid expandedNodeId " + expandedNodeId.toString() + " className = " + className);
225
- }
215
+ verifyExpandedNodeId(expandedNodeId);
226
216
  const expandedNodeIdKey = makeExpandedNodeIdKey(expandedNodeId);
227
217
  /* istanbul ignore next */
228
- if (this._structureTypeConstructorByEncodingNodeIdMap.has(expandedNodeIdKey)) {
218
+ if (this._structureInfoByEncodingMap.has(expandedNodeIdKey)) {
229
219
  throw new Error(" Class " +
230
220
  className +
231
221
  " with ID " +
232
222
  expandedNodeId +
233
223
  " already in constructorMap for " +
234
- this._structureTypeConstructorByEncodingNodeIdMap.get(expandedNodeIdKey).name);
224
+ this._structureInfoByEncodingMap.get(expandedNodeIdKey).schema.name);
235
225
  }
236
- this._structureTypeConstructorByEncodingNodeIdMap.set(expandedNodeIdKey, classConstructor);
226
+ this._structureInfoByEncodingMap.set(expandedNodeIdKey, structureInfo);
237
227
  }
238
228
  toString() {
239
229
  const l = [];
@@ -243,24 +233,28 @@ class DataTypeFactory {
243
233
  dumpDataFactory(this, write);
244
234
  return l.join("\n");
245
235
  }
246
- _registerFactory(dataTypeNodeId, typeName, constructor) {
236
+ _registerFactory(dataTypeNodeId, typeName, constructor, schema) {
247
237
  /* istanbul ignore next */
248
- if (this._structureTypeConstructorByNameMap.has(typeName)) {
249
- warningLog(this.getStructureTypeConstructor(typeName));
238
+ if (this._structureInfoByName.has(typeName)) {
239
+ warningLog(this.getStructureInfoByTypeName(typeName));
250
240
  warningLog("target namespace = `" + this.targetNamespace + "`");
251
241
  warningLog(" registerFactory : " + typeName + " already registered. dataTypeNodeId=", dataTypeNodeId.toString());
252
242
  return;
253
243
  }
254
- debugLog("registering typeName ", typeName, dataTypeNodeId.toString());
255
- this._structureTypeConstructorByNameMap.set(typeName, constructor);
244
+ debugLog("registering typeName ", typeName, dataTypeNodeId.toString(), "isAbstract ", schema.isAbstract);
245
+ const structureInfo = { constructor, schema };
246
+ this._structureInfoByName.set(typeName, structureInfo);
256
247
  if (dataTypeNodeId.value !== 0) {
257
- this._structureTypeConstructorByDataTypeMap.set(dataTypeNodeId.toString(), constructor);
258
- }
259
- Object.defineProperty(constructor.schema, "$$factory", {
260
- enumerable: false,
261
- value: this,
262
- writable: false
263
- });
248
+ this._structureInfoByDataTypeMap.set(dataTypeNodeId.toString(), structureInfo);
249
+ }
250
+ // console.log("is this neceesary anymore ?");
251
+ // if (constructor) {
252
+ // Object.defineProperty(constructor.schema, "$$factory", {
253
+ // enumerable: false,
254
+ // value: this,
255
+ // writable: false
256
+ // });
257
+ // }
264
258
  }
265
259
  }
266
260
  exports.DataTypeFactory = DataTypeFactory;
@@ -276,7 +270,7 @@ function dumpDataFactory(dataFactory, write) {
276
270
  for (const structureTypeName of dataFactory.structuredTypesNames()) {
277
271
  const schema = dataFactory.getStructuredTypeSchema(structureTypeName);
278
272
  write("structureTypeName =", structureTypeName);
279
- if (!dataFactory.getConstructorForDataType(schema.dataTypeNodeId)) {
273
+ if (!dataFactory.getStructureInfoForDataType(schema.dataTypeNodeId)) {
280
274
  write(" ( No constructor for " + schema.name + " " + schema.dataTypeNodeId.toString());
281
275
  }
282
276
  if (!schema.encodingDefaultBinary) {
@@ -1 +1 @@
1
- {"version":3,"file":"datatype_factory.js","sourceRoot":"","sources":["../source/datatype_factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datatype_factory.js","sourceRoot":"","sources":["../source/datatype_factory.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,5 @@
1
- /**
2
- * @module node-opcua-factory
3
- */
4
- import { ExpandedNodeId } from "node-opcua-nodeid";
5
1
  import { DataTypeFactory } from "./datatype_factory";
6
- import { ConstructorFunc, ConstructorFuncWithSchema } from "./types";
2
+ import { ConstructorFuncWithSchema } from "./types";
7
3
  export declare function getStandardDataTypeFactory(): DataTypeFactory;
8
4
  export declare function getStructureTypeConstructor(typeName: string): ConstructorFuncWithSchema;
9
- export declare function hasStructuredType(typeName: string): boolean;
10
- export declare function getConstructor(binaryEncodingNodeId: ExpandedNodeId): ConstructorFunc | null;
11
- export declare function hasConstructor(binaryEncodingNodeId: ExpandedNodeId): boolean;
12
5
  export declare function dump(): void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dump = exports.hasConstructor = exports.getConstructor = exports.hasStructuredType = exports.getStructureTypeConstructor = exports.getStandardDataTypeFactory = void 0;
3
+ exports.dump = exports.getStructureTypeConstructor = exports.getStandardDataTypeFactory = void 0;
4
4
  const datatype_factory_1 = require("./datatype_factory");
5
5
  let globalFactory;
6
6
  function getStandardDataTypeFactory() {
@@ -12,21 +12,16 @@ function getStandardDataTypeFactory() {
12
12
  }
13
13
  exports.getStandardDataTypeFactory = getStandardDataTypeFactory;
14
14
  function getStructureTypeConstructor(typeName) {
15
- return getStandardDataTypeFactory().getStructureTypeConstructor(typeName);
15
+ const structureInfo = getStandardDataTypeFactory().getStructureInfoByTypeName(typeName);
16
+ if (!structureInfo) {
17
+ throw new Error("cannot find Structure Information for " + typeName);
18
+ }
19
+ if (!structureInfo.constructor) {
20
+ throw new Error("cannot Structure is Abstract ! " + typeName);
21
+ }
22
+ return structureInfo.constructor;
16
23
  }
17
24
  exports.getStructureTypeConstructor = getStructureTypeConstructor;
18
- function hasStructuredType(typeName) {
19
- return getStandardDataTypeFactory().hasStructuredType(typeName);
20
- }
21
- exports.hasStructuredType = hasStructuredType;
22
- function getConstructor(binaryEncodingNodeId) {
23
- return getStandardDataTypeFactory().getConstructor(binaryEncodingNodeId);
24
- }
25
- exports.getConstructor = getConstructor;
26
- function hasConstructor(binaryEncodingNodeId) {
27
- return getStandardDataTypeFactory().hasConstructor(binaryEncodingNodeId);
28
- }
29
- exports.hasConstructor = hasConstructor;
30
25
  /* istanbul ignore next */
31
26
  function dump() {
32
27
  getStandardDataTypeFactory().dump();
@@ -1 +1 @@
1
- {"version":3,"file":"get_standard_data_type_factory.js","sourceRoot":"","sources":["../source/get_standard_data_type_factory.ts"],"names":[],"mappings":";;;AAKA,yDAAqD;AAIrD,IAAI,aAA8B,CAAC;AAEnC,SAAgB,0BAA0B;IACtC,IAAI,CAAC,aAAa,EAAE;QAChB,aAAa,GAAG,IAAI,kCAAe,CAAC,EAAE,CAAC,CAAC;QACxC,aAAa,CAAC,eAAe,GAAG,8BAA8B,CAAC;KAClE;IACD,OAAO,aAAa,CAAC;AACzB,CAAC;AAND,gEAMC;AAED,SAAgB,2BAA2B,CAAC,QAAgB;IACxD,OAAO,0BAA0B,EAAE,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;AAC9E,CAAC;AAFD,kEAEC;AAED,SAAgB,iBAAiB,CAAC,QAAgB;IAC9C,OAAO,0BAA0B,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAFD,8CAEC;AAED,SAAgB,cAAc,CAAC,oBAAoC;IAC/D,OAAO,0BAA0B,EAAE,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;AAC7E,CAAC;AAFD,wCAEC;AAED,SAAgB,cAAc,CAAC,oBAAoC;IAC/D,OAAO,0BAA0B,EAAE,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;AAC7E,CAAC;AAFD,wCAEC;AAGD,0BAA0B;AAC1B,SAAgB,IAAI;IAChB,0BAA0B,EAAE,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC;AAFD,oBAEC"}
1
+ {"version":3,"file":"get_standard_data_type_factory.js","sourceRoot":"","sources":["../source/get_standard_data_type_factory.ts"],"names":[],"mappings":";;;AAKA,yDAAqD;AAIrD,IAAI,aAA8B,CAAC;AAEnC,SAAgB,0BAA0B;IACtC,IAAI,CAAC,aAAa,EAAE;QAChB,aAAa,GAAG,IAAI,kCAAe,CAAC,EAAE,CAAC,CAAC;QACxC,aAAa,CAAC,eAAe,GAAG,8BAA8B,CAAC;KAClE;IACD,OAAO,aAAa,CAAC;AACzB,CAAC;AAND,gEAMC;AAED,SAAgB,2BAA2B,CAAC,QAAgB;IACxD,MAAM,aAAa,GAAI,0BAA0B,EAAE,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACzF,IAAI,CAAC,aAAa,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAE,QAAQ,CAAC,CAAA;KACtE;IACD,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAE,QAAQ,CAAC,CAAA;KAChE;IACD,OAAO,aAAa,CAAC,WAAW,CAAC;AACrC,CAAC;AATD,kEASC;AAID,0BAA0B;AAC1B,SAAgB,IAAI;IAChB,0BAA0B,EAAE,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC;AAFD,oBAEC"}
@@ -1,4 +1 @@
1
- import { ExpandedNodeId } from "node-opcua-nodeid";
2
- import { IBaseUAObject, IStructuredTypeSchema } from "./types";
3
- export declare function getStructuredTypeSchema(typeName: string): IStructuredTypeSchema;
4
- export declare function constructObject(binaryEncodingNodeId: ExpandedNodeId): IBaseUAObject;
1
+ export {};
@@ -1,13 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.constructObject = exports.getStructuredTypeSchema = void 0;
4
- const get_standard_data_type_factory_1 = require("./get_standard_data_type_factory");
5
- function getStructuredTypeSchema(typeName) {
6
- return (0, get_standard_data_type_factory_1.getStandardDataTypeFactory)().getStructuredTypeSchema(typeName);
7
- }
8
- exports.getStructuredTypeSchema = getStructuredTypeSchema;
9
- function constructObject(binaryEncodingNodeId) {
10
- return (0, get_standard_data_type_factory_1.getStandardDataTypeFactory)().constructObject(binaryEncodingNodeId);
11
- }
12
- exports.constructObject = constructObject;
3
+ // export function getStructuredTypeSchema(typeName: string): IStructuredTypeSchema {
4
+ // return getStandardDataTypeFactory().getStructuredTypeSchema(typeName);
5
+ // }
6
+ // export function constructObject(binaryEncodingNodeId: ExpandedNodeId): IBaseUAObject {
7
+ // return getStandardDataTypeFactory().constructObject(binaryEncodingNodeId);
8
+ // }
13
9
  //# sourceMappingURL=get_structured_type_schema.js.map