node-opcua-client-dynamic-extension-object 2.140.0 → 2.142.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.
@@ -10,6 +10,7 @@ const node_opcua_pseudo_session_1 = require("node-opcua-pseudo-session");
10
10
  const node_opcua_schemas_1 = require("node-opcua-schemas");
11
11
  const node_opcua_types_1 = require("node-opcua-types");
12
12
  const convert_data_type_definition_to_structuretype_schema_1 = require("../convert_data_type_definition_to_structuretype_schema");
13
+ const node_opcua_status_code_1 = require("node-opcua-status-code");
13
14
  const errorLog = (0, node_opcua_debug_1.make_errorLog)(__filename);
14
15
  const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
15
16
  const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
@@ -19,7 +20,7 @@ async function readDataTypeDefinitionAndBuildType(session, dataTypeNodeId, name,
19
20
  if (dataTypeFactory.getStructureInfoForDataType(dataTypeNodeId)) {
20
21
  return;
21
22
  }
22
- const [isAbstractDataValue, dataTypeDefinitionDataValue] = await session.read([
23
+ const [isAbstractDataValue, dataTypeDefinitionDataValue, browseNameDataValue] = await session.read([
23
24
  {
24
25
  attributeId: node_opcua_data_model_1.AttributeIds.IsAbstract,
25
26
  nodeId: dataTypeNodeId
@@ -27,11 +28,21 @@ async function readDataTypeDefinitionAndBuildType(session, dataTypeNodeId, name,
27
28
  {
28
29
  attributeId: node_opcua_data_model_1.AttributeIds.DataTypeDefinition,
29
30
  nodeId: dataTypeNodeId
31
+ },
32
+ {
33
+ attributeId: node_opcua_data_model_1.AttributeIds.BrowseName,
34
+ nodeId: dataTypeNodeId
30
35
  }
31
36
  ]);
37
+ if (isAbstractDataValue.statusCode == node_opcua_status_code_1.StatusCodes.BadNodeIdUnknown) {
38
+ // may be model is incomplete and dataTypeNodeId is missing
39
+ debugLog("Cannot find dataTypeNodeId = ", dataTypeNodeId.toString());
40
+ return;
41
+ }
32
42
  /* istanbul ignore next */
33
43
  if (isAbstractDataValue.statusCode.isNotGood()) {
34
- throw new Error(" Cannot find dataType isAbstract ! with nodeId =" + dataTypeNodeId.toString());
44
+ errorLog("browseName", browseNameDataValue.value.toString());
45
+ throw new Error(" Cannot find dataType isAbstract ! with nodeId =" + dataTypeNodeId.toString() + " " + isAbstractDataValue.statusCode.toString());
35
46
  }
36
47
  const isAbstract = isAbstractDataValue.value.value;
37
48
  let dataTypeDefinition = dataTypeDefinitionDataValue.value.value;
@@ -1 +1 @@
1
- {"version":3,"file":"populate_data_type_manager_104.js","sourceRoot":"","sources":["../../source/private/populate_data_type_manager_104.ts"],"names":[],"mappings":";;AAuBA,gFAgEC;AAED,gEA4CC;AArID,iEAAsE;AACtE,uDAAiG;AACjG,2DAAqD;AACrD,yDAAsE;AACtE,yEAA6L;AAC7L,2DAAiH;AACjH,uDAIgD;AAGhD,kIAGiE;AAEjE,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,UAAU,CAAC,CAAC;AAC/C,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,UAAU,CAAC,CAAC;AAEpC,KAAK,UAAU,kCAAkC,CACpD,OAA4B,EAC5B,cAAsB,EACtB,IAAY,EACZ,eAAgC,EAChC,KAAa;IAEb,IAAI,CAAC;QACD,IAAI,eAAe,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9D,OAAO;QACX,CAAC;QACD,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAC1E;gBACI,WAAW,EAAE,oCAAY,CAAC,UAAU;gBACpC,MAAM,EAAE,cAAc;aACzB;YACD;gBACI,WAAW,EAAE,oCAAY,CAAC,kBAAkB;gBAC5C,MAAM,EAAE,cAAc;aACzB;SACJ,CAAC,CAAC;QACH,0BAA0B;QAC1B,IAAI,mBAAmB,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,kDAAkD,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpG,CAAC;QACD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAgB,CAAC;QAE9D,IAAI,kBAAkB,GAAuB,2BAA2B,CAAC,KAAK,CAAC,KAA2B,CAAC;QAC3G,0BAA0B;QAC1B,IAAI,2BAA2B,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;YACrD,sCAAsC;YACtC,wFAAwF;YACxF,gBAAgB;YAChB,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBACnD,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,oCAAY,CAAC,UAAU,EAAE;oBAChE,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,oCAAY,CAAC,UAAU,EAAE;iBACnE,CAAC,CAAC;gBACH,UAAU,CAAC,kDAAkD,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC5J,OAAO;YACX,CAAC;YACD,6DAA6D;YAC7D,kBAAkB,GAAG,IAAI,sCAAmB,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,qGAA8C,EAC/D,OAAO,EACP,cAAc,EACd,IAAI,EACJ,kBAAkB,EAClB,IAAI,EACJ,eAAe,EACf,UAAU,EACV,KAAK,CACR,CAAC;QACF,IAAI,UAAU,EAAE,CAAC;YACb,yCAAyC;YACzC,eAAe,CAAC,yBAAyB,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACJ,MAAM,WAAW,GAAG,IAAA,mDAAyC,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAC5C,OAA4B,EAC5B,eAAqC;IAKrC,MAAM,KAAK,GAAW,EAAE,CAAC;IAEzB,KAAK,UAAU,YAAY,CAAC,CAAuB;QAC/C,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC;YACD,IAAI,cAAc,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;gBACjC,wBAAwB;gBACxB,OAAO;YACX,CAAC;YACD,IAAI,eAAe,GAAG,eAAe,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACnF,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,eAAe,GAAG,IAAI,oCAAe,CAAC,EAAE,CAAC,CAAC;gBAC1C,eAAe,CAAC,uBAAuB,CAAC,cAAc,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBACnF,mGAAmG;YACvG,CAAC;YACD,uBAAuB;YACvB,IAAI,eAAe,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC9D,kBAAkB;gBAClB,OAAO;YACX,CAAC;YACD,sBAAsB;YACtB,OAAO,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzF,MAAM,kCAAkC,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,IAAK,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QAClH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAA6B;QAC3C,MAAM,EAAE,0BAAM,CAAC,UAAU,EAAE,iBAAiB;QAC5C,eAAe,EAAE,IAAI;QACrB,eAAe,EAAE,uCAAe,CAAC,OAAO;QACxC,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE,IAAA,iCAAa,EAAC,YAAY,CAAC;QAC5C,UAAU,EAAE,IAAI;KACnB,CAAC;IACF,MAAM,2BAA2B,CAAC,OAAO,EAAE,IAAA,iCAAa,EAAC,WAAW,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AACvG,CAAC;AACD,KAAK,UAAU,2BAA2B,CACtC,OAA4H,EAC5H,MAAc,EACd,yBAAmD,EACnD,MAAoD;IAIpD,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAkB,EAAE,EAAE;QAE1C,MAAM,YAAY,GAA6B;YAC3C,GAAG,yBAAyB;YAC5B,MAAM;SACT,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,IAAA,qCAAS,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAE5D,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;gBACtB,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClB,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC,CAAC,EAAE,CAAC,CAAC;QACV,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC,CAAC;IACF,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"populate_data_type_manager_104.js","sourceRoot":"","sources":["../../source/private/populate_data_type_manager_104.ts"],"names":[],"mappings":";;AAwBA,gFA0EC;AAED,gEA4CC;AAhJD,iEAAsE;AACtE,uDAAiG;AACjG,2DAAqD;AACrD,yDAAsE;AACtE,yEAA6L;AAC7L,2DAAiH;AACjH,uDAIgD;AAGhD,kIAGiE;AACjE,mEAAqD;AAErD,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,UAAU,CAAC,CAAC;AAC/C,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,UAAU,CAAC,CAAC;AAEpC,KAAK,UAAU,kCAAkC,CACpD,OAA4B,EAC5B,cAAsB,EACtB,IAAY,EACZ,eAAgC,EAChC,KAAa;IAEb,IAAI,CAAC;QACD,IAAI,eAAe,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9D,OAAO;QACX,CAAC;QACD,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,mBAAmB,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAC/F;gBACI,WAAW,EAAE,oCAAY,CAAC,UAAU;gBACpC,MAAM,EAAE,cAAc;aACzB;YACD;gBACI,WAAW,EAAE,oCAAY,CAAC,kBAAkB;gBAC5C,MAAM,EAAE,cAAc;aACzB;YACD;gBACI,WAAW,EAAE,oCAAY,CAAC,UAAU;gBACpC,MAAM,EAAE,cAAc;aACzB;SACJ,CAAC,CAAC;QACH,IAAI,mBAAmB,CAAC,UAAU,IAAI,oCAAW,CAAC,gBAAgB,EAAE,CAAC;YACjE,2DAA2D;YAC3D,QAAQ,CAAC,+BAA+B,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrE,OAAO;QACX,CAAC;QACD,0BAA0B;QAC1B,IAAI,mBAAmB,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;YAC7C,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,kDAAkD,GAAG,cAAc,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,mBAAmB,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtJ,CAAC;QACD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAgB,CAAC;QAE9D,IAAI,kBAAkB,GAAuB,2BAA2B,CAAC,KAAK,CAAC,KAA2B,CAAC;QAC3G,0BAA0B;QAC1B,IAAI,2BAA2B,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;YACrD,sCAAsC;YACtC,wFAAwF;YACxF,gBAAgB;YAChB,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;oBACnD,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,oCAAY,CAAC,UAAU,EAAE;oBAChE,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,oCAAY,CAAC,UAAU,EAAE;iBACnE,CAAC,CAAC;gBACH,UAAU,CAAC,kDAAkD,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC5J,OAAO;YACX,CAAC;YACD,6DAA6D;YAC7D,kBAAkB,GAAG,IAAI,sCAAmB,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,qGAA8C,EAC/D,OAAO,EACP,cAAc,EACd,IAAI,EACJ,kBAAkB,EAClB,IAAI,EACJ,eAAe,EACf,UAAU,EACV,KAAK,CACR,CAAC;QACF,IAAI,UAAU,EAAE,CAAC;YACb,yCAAyC;YACzC,eAAe,CAAC,yBAAyB,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACJ,MAAM,WAAW,GAAG,IAAA,mDAAyC,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAC5C,OAA4B,EAC5B,eAAqC;IAKrC,MAAM,KAAK,GAAW,EAAE,CAAC;IAEzB,KAAK,UAAU,YAAY,CAAC,CAAuB;QAC/C,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC;YACD,IAAI,cAAc,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;gBACjC,wBAAwB;gBACxB,OAAO;YACX,CAAC;YACD,IAAI,eAAe,GAAG,eAAe,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACnF,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,eAAe,GAAG,IAAI,oCAAe,CAAC,EAAE,CAAC,CAAC;gBAC1C,eAAe,CAAC,uBAAuB,CAAC,cAAc,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBACnF,mGAAmG;YACvG,CAAC;YACD,uBAAuB;YACvB,IAAI,eAAe,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC9D,kBAAkB;gBAClB,OAAO;YACX,CAAC;YACD,sBAAsB;YACtB,OAAO,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzF,MAAM,kCAAkC,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,IAAK,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QAClH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAA6B;QAC3C,MAAM,EAAE,0BAAM,CAAC,UAAU,EAAE,iBAAiB;QAC5C,eAAe,EAAE,IAAI;QACrB,eAAe,EAAE,uCAAe,CAAC,OAAO;QACxC,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE,IAAA,iCAAa,EAAC,YAAY,CAAC;QAC5C,UAAU,EAAE,IAAI;KACnB,CAAC;IACF,MAAM,2BAA2B,CAAC,OAAO,EAAE,IAAA,iCAAa,EAAC,WAAW,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AACvG,CAAC;AACD,KAAK,UAAU,2BAA2B,CACtC,OAA4H,EAC5H,MAAc,EACd,yBAAmD,EACnD,MAAoD;IAIpD,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAkB,EAAE,EAAE;QAE1C,MAAM,YAAY,GAA6B;YAC3C,GAAG,yBAAyB;YAC5B,MAAM;SACT,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,IAAA,qCAAS,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAE5D,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;gBACtB,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClB,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC,CAAC,EAAE,CAAC,CAAC;QACV,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC,CAAC;IACF,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-client-dynamic-extension-object",
3
- "version": "2.140.0",
3
+ "version": "2.142.0",
4
4
  "description": "pure nodejs OPCUA SDK - module client-dynamic-extension-object",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -15,18 +15,18 @@
15
15
  "node-opcua-binary-stream": "2.139.0",
16
16
  "node-opcua-constants": "2.139.0",
17
17
  "node-opcua-data-model": "2.139.0",
18
- "node-opcua-data-value": "2.139.0",
18
+ "node-opcua-data-value": "2.142.0",
19
19
  "node-opcua-debug": "2.139.0",
20
20
  "node-opcua-extension-object": "2.139.0",
21
21
  "node-opcua-factory": "2.139.0",
22
22
  "node-opcua-nodeid": "2.139.0",
23
- "node-opcua-pseudo-session": "2.140.0",
24
- "node-opcua-schemas": "2.139.0",
25
- "node-opcua-service-browse": "2.139.0",
26
- "node-opcua-service-translate-browse-path": "2.139.0",
23
+ "node-opcua-pseudo-session": "2.142.0",
24
+ "node-opcua-schemas": "2.142.0",
25
+ "node-opcua-service-browse": "2.142.0",
26
+ "node-opcua-service-translate-browse-path": "2.142.0",
27
27
  "node-opcua-status-code": "2.139.0",
28
- "node-opcua-types": "2.139.0",
29
- "node-opcua-variant": "2.139.0"
28
+ "node-opcua-types": "2.142.0",
29
+ "node-opcua-variant": "2.142.0"
30
30
  },
31
31
  "author": "Etienne Rossignon",
32
32
  "license": "MIT",
@@ -43,7 +43,7 @@
43
43
  "internet of things"
44
44
  ],
45
45
  "homepage": "http://node-opcua.github.io/",
46
- "gitHead": "f966ee4ce83c1012795fbf030d261df091c3c189",
46
+ "gitHead": "50cfa07779d4c07b299176ac9c27527fcd97d079",
47
47
  "files": [
48
48
  "dist",
49
49
  "source"
@@ -15,6 +15,7 @@ import {
15
15
  ICache,
16
16
  convertDataTypeDefinitionToStructureTypeSchema
17
17
  } from "../convert_data_type_definition_to_structuretype_schema";
18
+ import { StatusCodes } from "node-opcua-status-code";
18
19
 
19
20
  const errorLog = make_errorLog(__filename);
20
21
  const debugLog = make_debugLog(__filename);
@@ -32,7 +33,7 @@ export async function readDataTypeDefinitionAndBuildType(
32
33
  if (dataTypeFactory.getStructureInfoForDataType(dataTypeNodeId)) {
33
34
  return;
34
35
  }
35
- const [isAbstractDataValue, dataTypeDefinitionDataValue] = await session.read([
36
+ const [isAbstractDataValue, dataTypeDefinitionDataValue, browseNameDataValue] = await session.read([
36
37
  {
37
38
  attributeId: AttributeIds.IsAbstract,
38
39
  nodeId: dataTypeNodeId
@@ -40,11 +41,21 @@ export async function readDataTypeDefinitionAndBuildType(
40
41
  {
41
42
  attributeId: AttributeIds.DataTypeDefinition,
42
43
  nodeId: dataTypeNodeId
44
+ },
45
+ {
46
+ attributeId: AttributeIds.BrowseName,
47
+ nodeId: dataTypeNodeId
43
48
  }
44
49
  ]);
50
+ if (isAbstractDataValue.statusCode == StatusCodes.BadNodeIdUnknown) {
51
+ // may be model is incomplete and dataTypeNodeId is missing
52
+ debugLog("Cannot find dataTypeNodeId = ", dataTypeNodeId.toString());
53
+ return;
54
+ }
45
55
  /* istanbul ignore next */
46
56
  if (isAbstractDataValue.statusCode.isNotGood()) {
47
- throw new Error(" Cannot find dataType isAbstract ! with nodeId =" + dataTypeNodeId.toString());
57
+ errorLog("browseName", browseNameDataValue.value.toString());
58
+ throw new Error(" Cannot find dataType isAbstract ! with nodeId =" + dataTypeNodeId.toString() + " " + isAbstractDataValue.statusCode.toString());
48
59
  }
49
60
  const isAbstract = isAbstractDataValue.value.value as boolean;
50
61