node-opcua-convert-nodeset-to-javascript 2.75.0 → 2.76.2

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,8 +16,7 @@ const node_opcua_constants_1 = require("node-opcua-constants");
16
16
  const walk_through_1 = require("./walk_through");
17
17
  const convert_to_typescript_1 = require("./convert_to_typescript");
18
18
  const cache_1 = require("./private/cache");
19
- function getPackageInfo(dependency, options) {
20
- //xx console.log("getPackageInfo", dependency);
19
+ function getPackageFolder(dependency, options) {
21
20
  const l = [...(options.lookupFolders || [])];
22
21
  l.push(path.join(__dirname, "../../"));
23
22
  for (const folder of l) {
@@ -25,11 +24,15 @@ function getPackageInfo(dependency, options) {
25
24
  if (!fs.existsSync(d)) {
26
25
  continue;
27
26
  }
28
- const p = JSON.parse(fs.readFileSync(d, "utf8"));
29
- return p;
27
+ return d;
30
28
  }
31
29
  throw new Error("cannot find package.json for " + dependency);
32
30
  }
31
+ function getPackageInfo(dependency, options) {
32
+ const d = getPackageFolder(dependency, options);
33
+ const p = JSON.parse(fs.readFileSync(d, "utf8"));
34
+ return p;
35
+ }
33
36
  function convertNamespaceTypeToTypescript(session, namespaceIndex, options) {
34
37
  return __awaiter(this, void 0, void 0, function* () {
35
38
  if (namespaceIndex < 0) {
@@ -130,7 +133,7 @@ function _output_package_json(info, options) {
130
133
  fs.writeFileSync(packagejson, content2.join("\n"));
131
134
  });
132
135
  }
133
- function _output_tsconfig_json(info) {
136
+ function _output_tsconfig_json(info, options) {
134
137
  return __awaiter(this, void 0, void 0, function* () {
135
138
  const tsconfig = path.join(info.folder, "tsconfig.json");
136
139
  const content3 = [];
@@ -148,7 +151,10 @@ function _output_tsconfig_json(info) {
148
151
  // content3.push(` { "path": "../node-opcua-address-space-base" }`);
149
152
  const l = [];
150
153
  for (const dep of info.dependencies) {
151
- l.push(` { "path": "../${dep}" }`);
154
+ // only add in dep if not found in node_module
155
+ if (!isIn_node_modules_Folder(dep)) {
156
+ l.push(` { "path": "../${dep}" }`);
157
+ }
152
158
  }
153
159
  content3.push(l.join(",\n"));
154
160
  content3.push(` ],`);
@@ -158,6 +164,10 @@ function _output_tsconfig_json(info) {
158
164
  content3.push(` ]`);
159
165
  content3.push(`}`);
160
166
  fs.writeFileSync(tsconfig, content3.join("\n"));
167
+ function isIn_node_modules_Folder(dep) {
168
+ const c = getPackageFolder(dep, options);
169
+ return !!c.match(/node_modules/);
170
+ }
161
171
  });
162
172
  }
163
173
  function outputFiles(infos, options) {
@@ -166,7 +176,7 @@ function outputFiles(infos, options) {
166
176
  // create indexes
167
177
  yield _output_index_ts_file(info);
168
178
  yield _output_package_json(info, options);
169
- yield _output_tsconfig_json(info);
179
+ yield _output_tsconfig_json(info, options);
170
180
  }
171
181
  });
172
182
  }
@@ -1 +1 @@
1
- {"version":3,"file":"convert_namespace_to_typescript.js","sourceRoot":"","sources":["../source/convert_namespace_to_typescript.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAA6B;AAC7B,yBAAyB;AAGzB,+DAAmD;AACnD,iDAAgI;AAChI,mEAAkE;AAClE,2CAAiD;AAGjD,SAAS,cAAc,CAAC,UAAkB,EAAE,OAAgB;IACxD,+CAA+C;IAE/C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvC,KAAK,MAAM,MAAM,IAAI,CAAC,EAAE;QACpB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,eAAe,CAAC,CAAC;QAC1D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YACnB,SAAS;SACZ;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,CAAC;KACZ;IACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,UAAU,CAAC,CAAC;AAClE,CAAC;AAQD,SAAsB,gCAAgC,CAClD,OAAsB,EACtB,cAAsB,EACtB,OAAgB;;QAEhB,IAAI,cAAc,GAAG,CAAC,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACxD;QACD,MAAM,KAAK,GAAG,MAAM,IAAA,sBAAc,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAErD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACpC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SACpC;QAED,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,0BAA0B;QAC1B,MAAM,WAAW,GAAG;YACV,KAAK,CAAC,SAAiC,EAAE,KAAa;;oBACxD,IAAI,SAAS,CAAC,MAAM,CAAC,SAAS,KAAK,cAAc,EAAE;wBAC/C,OAAO;qBACV;oBAED,KAAM,CAAC,YAAY,EAAE,CAAC;oBAEtB,IAAI,SAAS,CAAC,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,KAAK,kCAAW,CAAC,WAAW,EAAE;wBACxF,OAAO,CAAC,qBAAqB;qBAChC;oBACD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,+CAAuB,EAC3F,OAAO,EACP,SAAS,CAAC,MAAM,EAChB,OAAO,EACP,KAAM,CACT,CAAC;oBAEF,IAAI,IAAI,KAAK,OAAO,EAAE;wBAClB,OAAO;qBACV;oBAED,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;wBACpB,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;qBACpB;oBACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;wBACxB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;qBACxB;oBACD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;wBAC9B,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;qBAC9B;oBACD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;oBACrE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;oBACjF,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;oBAC3C,KAAK,CAAC,MAAM,CAAC,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAChG,CAAC;aAAA;SACJ,CAAC;QAEF,MAAM,IAAA,qCAAsB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACnD,MAAM,IAAA,uCAAwB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACrD,MAAM,IAAA,mCAAoB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEjD,MAAM,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CAAA;AA7DD,4EA6DC;AAED,SAAe,qBAAqB,CAAC,IAAU;;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACxD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;gBAC5B,SAAS;aACZ;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE;gBAC7B,SAAS;aACZ;YACD,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;SACjE;QACD,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,sBAAsB;IAC1B,CAAC;CAAA;AACD,SAAe,oBAAoB,CAAC,IAAU,EAAE,OAAgB;;QAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC;QAEjF,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAC/C,QAAQ,CAAC,IAAI,CAAC,mBAAmB,OAAO,IAAI,CAAC,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACjD,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QACjE,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAEvC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACvC,gBAAgB;QAChB,MAAM,QAAQ,GAA8B,EAAE,CAAC;QAC/C,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE;YACxC,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACpD,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;SACpC;QACD,QAAQ,CAAC,IAAI,CACT,IAAI,CAAC,YAAY;aACZ,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;aAC9C,IAAI,CAAC,KAAK,CAAC,CACnB,CAAC;QAEF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAElB,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;CAAA;AACD,SAAe,qBAAqB,CAAC,IAAU;;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEnB,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACpC,yEAAyE;QACzE,MAAM,CAAC,GAAG,EAAc,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE;YACjC,CAAC,CAAC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,CAAC;SAC1C;QACD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEnB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;CAAA;AACD,SAAe,WAAW,CAAC,KAA8B,EAAE,OAAgB;;QACvE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAW,EAAE;YAC/C,iBAAiB;YACjB,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAElC,MAAM,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAE1C,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;SACrC;IACL,CAAC;CAAA"}
1
+ {"version":3,"file":"convert_namespace_to_typescript.js","sourceRoot":"","sources":["../source/convert_namespace_to_typescript.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.convertTypeToTypescript = exports._convertTypeToTypescript = exports._exportDataTypeToTypescript = exports.findUsedImport = exports.extractClassMemberDef = exports.checkIfShouldExposeInnerDefinition = exports.findClassMember = exports.extractClassDefinition = exports.makeTypeName2 = exports.convertDataTypeToTypescript = void 0;
13
+ /* eslint-disable max-depth */
13
14
  const chalk = require("chalk");
14
15
  const wrap = require("wordwrap");
15
16
  const node_opcua_data_model_1 = require("node-opcua-data-model");
@@ -27,6 +28,19 @@ const wrapText = wrap(0, 50);
27
28
  const f2 = (str) => str.padEnd(50, "-");
28
29
  const f1 = (str) => str.padEnd(50, " ");
29
30
  const baseExtension = "_Base";
31
+ const m0 = !doDebug ? "" : `/* 0 */`;
32
+ const m1 = !doDebug ? "" : `/* 1 */`;
33
+ const m2 = !doDebug ? "" : `/* 2 */`;
34
+ const m3 = !doDebug ? "" : `/* 3 */`;
35
+ const m4 = !doDebug ? "" : `/* 4 */`;
36
+ const m5 = !doDebug ? "" : `/* 5 */`;
37
+ const m6 = !doDebug ? "" : `/* 6 */`;
38
+ const m7 = !doDebug ? "" : `/* 7 */`;
39
+ const m8 = !doDebug ? "" : `/* 8 */`;
40
+ const m9 = !doDebug ? "" : `/* 9 */`;
41
+ const mA = !doDebug ? "" : `/* a */`;
42
+ const mB = !doDebug ? "" : `/* b */`;
43
+ const mC = !doDebug ? "" : `/* c */`;
30
44
  function convertDataTypeToTypescript(session, dataTypeId) {
31
45
  return __awaiter(this, void 0, void 0, function* () {
32
46
  const definition = yield (0, utils_1.getDefinition)(session, dataTypeId);
@@ -400,9 +414,9 @@ function extractVariableExtra(session, nodeId, cache, classMember) {
400
414
  const t = isUnspecifiedDataType((_a = classMember.classDef) === null || _a === void 0 ? void 0 : _a.dataType);
401
415
  const suffix = jtype === "undefined" || isUnspecifiedDataType(dataType)
402
416
  ? `<any, any>`
403
- : `<${jtype}${t ? `, /*c*/DataType.${node_opcua_variant_1.DataType[dataType]}` : ""}>`;
404
- // const suffix2 = `<T${t ? `, /*a*/DT extends DataType` : ""}>`;
405
- const suffix3 = `<T${t ? `, /*b*/DT` : ""}>`;
417
+ : `<${jtype}${t ? `, ${m0}DataType.${node_opcua_variant_1.DataType[dataType]}` : ""}>`;
418
+ // const suffix2 = `<T${t ? `, /DT extends DataType` : ""}>`;
419
+ const suffix3 = `<T${t ? `, ${m1}DT` : ""}>`;
406
420
  const typeDef = yield (0, utils_1.getTypeDefOrBaseType)(session, nodeId);
407
421
  const typeDefCD = yield extractClassDefinition(session, typeDef.nodeId, cache);
408
422
  const chevrons = calculateChevrons(typeDefCD, { dataType });
@@ -424,7 +438,7 @@ function extractVariableExtra(session, nodeId, cache, classMember) {
424
438
  suffixInstantiate = `<${jtype}>`;
425
439
  }
426
440
  else {
427
- suffixInstantiate = `<${jtype}, /*z*/DataType.${node_opcua_variant_1.DataType[dataType]}>`;
441
+ suffixInstantiate = `<${jtype}, DataType.${node_opcua_variant_1.DataType[dataType]}>`;
428
442
  }
429
443
  }
430
444
  return { suffixInstantiate, suffix, suffix2, suffix3, dataTypeNodeId, dataType, jtype, typeToReference, chevrons };
@@ -558,13 +572,22 @@ function preDumpChildren(padding, classDef, f, cache) {
558
572
  }
559
573
  });
560
574
  }
575
+ const isPlaceHolder = (def) => {
576
+ const { modellingRule } = def;
577
+ return modellingRule === "MandatoryPlaceholder" || modellingRule === "OptionalPlaceholder";
578
+ };
579
+ function countExposedChildren(children) {
580
+ return children.reduce((p, def) => p + (isPlaceHolder(def) ? 0 : 1), 0);
581
+ }
561
582
  function dumpChildren(padding, children, f, cache) {
562
583
  f = f || new node_opcua_utils_1.LineFile();
563
584
  for (const def of children) {
564
585
  const { suffixInstantiate, name, childType, modellingRule, isOptional, description } = def;
565
586
  def.typeToReference.forEach((t) => cache.ensureImported(t));
566
- if (modellingRule === "MandatoryPlaceholder" || modellingRule === "OptionalPlaceholder")
587
+ if (isPlaceHolder(def)) {
588
+ f.write(" // PlaceHolder for ", name);
567
589
  continue;
590
+ }
568
591
  cache.ensureImported(childType);
569
592
  const adjustedName = toJavascritPropertyName(name, { ignoreConflictingName: true });
570
593
  if (description.text) {
@@ -647,7 +670,7 @@ function toComment(prefix, description) {
647
670
  .map((x) => prefix + x)
648
671
  .join("\n");
649
672
  }
650
- // eslint-disable-next-line max-statements
673
+ // eslint-disable-next-line max-statements, complexity
651
674
  function _exportDataTypeToTypescript(session, nodeId, cache, f) {
652
675
  return __awaiter(this, void 0, void 0, function* () {
653
676
  f = f || new node_opcua_utils_1.LineFile();
@@ -693,14 +716,56 @@ function _exportDataTypeToTypescript(session, nodeId, cache, f) {
693
716
  f.write(`}`);
694
717
  }
695
718
  else if (definition instanceof node_opcua_types_1.StructureDefinition) {
696
- type = "structure";
697
- if (interfaceName === "DTStructure") {
698
- f.write(`export interface ${interfaceName} {`);
719
+ if (baseInterfaceName === "DTUnion") {
720
+ type = "structure";
721
+ for (let i = 0; i < definition.fields.length; i++) {
722
+ f.write(`export interface ${interfaceName}_${i} extends ${baseInterfaceName} {`);
723
+ for (let j = 0; j < definition.fields.length; j++) {
724
+ const field = definition.fields[j];
725
+ const fieldName = toJavascritPropertyName(field.name, { ignoreConflictingName: false });
726
+ if (j === i) {
727
+ yield outputStructureField(f, field);
728
+ }
729
+ else {
730
+ f.write(` ${quotifyIfNecessary(fieldName)}?: never`);
731
+ }
732
+ }
733
+ f.write(`}`);
734
+ }
735
+ f.write(`export type ${interfaceName} = `);
736
+ for (let i = 0; i < definition.fields.length; i++) {
737
+ f.write(` | ${interfaceName}_${i}`);
738
+ }
739
+ f.write(` ;`);
699
740
  }
700
741
  else {
701
- f.write(`export interface ${interfaceName} extends ${baseInterfaceName} {`);
742
+ type = "structure";
743
+ if (!definition.fields.length && interfaceName !== "DTStructure") {
744
+ f.write(`export type ${interfaceName} = ${baseInterfaceName};`);
745
+ }
746
+ else {
747
+ if (interfaceName === "DTStructure") {
748
+ f.write(`export interface ${interfaceName} {`);
749
+ }
750
+ else {
751
+ f.write(`export interface ${interfaceName} extends ${baseInterfaceName} {`);
752
+ }
753
+ for (const field of definition.fields) {
754
+ yield outputStructureField(f, field);
755
+ }
756
+ f.write(`}`);
757
+ }
702
758
  }
703
- for (const field of definition.fields) {
759
+ }
760
+ else {
761
+ type = "basic";
762
+ f.write(`// NO DEFINITION`);
763
+ f.write(`export type ${interfaceName} = ${baseInterfaceName};`);
764
+ // throw new Error("Invalid " + definition?.constructor.name);
765
+ }
766
+ return { type, content: f.toString(), typeName: interfaceName };
767
+ function outputStructureField(f, field) {
768
+ return __awaiter(this, void 0, void 0, function* () {
704
769
  const fieldName = toJavascritPropertyName(field.name, { ignoreConflictingName: false });
705
770
  // special case ! fieldName=
706
771
  if (field.description.text) {
@@ -709,17 +774,8 @@ function _exportDataTypeToTypescript(session, nodeId, cache, f) {
709
774
  const ar = field.valueRank >= 1 ? "[]" : "";
710
775
  const { dataType, jtype } = yield getCorrepondingJavascriptType(session, field.dataType, cache, importCollector);
711
776
  f.write(` ${quotifyIfNecessary(fieldName)}: ${jtype}${ar}; // ${node_opcua_variant_1.DataType[dataType]} ${field.dataType.toString()}`);
712
- }
713
- f.write(`}`);
714
- }
715
- else {
716
- type = "basic";
717
- f.write(`// NO DEFINITION`);
718
- f.write(`export interface ${interfaceName} extends ${baseInterfaceName} {`);
719
- f.write(`}`);
720
- // throw new Error("Invalid " + definition?.constructor.name);
777
+ });
721
778
  }
722
- return { type, content: f.toString(), typeName: interfaceName };
723
779
  });
724
780
  }
725
781
  exports._exportDataTypeToTypescript = _exportDataTypeToTypescript;
@@ -732,14 +788,14 @@ function calculateChevrons(classDef, classDefDerived) {
732
788
  return { chevronsDef, chevronsUse, chevronsExtend };
733
789
  }
734
790
  if (!isUnspecifiedDataType(dataType)) {
735
- chevronsDef = `<T extends ${dataTypeName}/*j*/>`;
736
- chevronsUse = "<T/*k*/>";
791
+ chevronsDef = `<T extends ${dataTypeName}${m3}>`;
792
+ chevronsUse = `<T${m4}>`;
737
793
  if (classDefDerived) {
738
794
  if (isUnspecifiedDataType(classDefDerived.dataType)) {
739
- chevronsExtend = `<T, /*i*/DataType.${node_opcua_variant_1.DataType[dataType]}>`;
795
+ chevronsExtend = `<T, ${m5}DataType.${node_opcua_variant_1.DataType[dataType]}>`;
740
796
  }
741
797
  else {
742
- chevronsExtend = `<T/*h*/>`;
798
+ chevronsExtend = `<T${m6}>`;
743
799
  }
744
800
  }
745
801
  }
@@ -748,12 +804,12 @@ function calculateChevrons(classDef, classDefDerived) {
748
804
  chevronsDef = `<T, DT extends DataType>`;
749
805
  if (classDefDerived) {
750
806
  if (isUnspecifiedDataType(classDefDerived.dataType)) {
751
- chevronsUse = "<T, /*m*/DT>";
752
- chevronsExtend = `<T/*g*/, DT>`;
807
+ chevronsUse = `<T, ${m7}DT>`;
808
+ chevronsExtend = `<T${m8}, DT>`;
753
809
  }
754
810
  else {
755
- chevronsUse = `<T, /*n*/DataType.${node_opcua_variant_1.DataType[classDefDerived.dataType]}>`;
756
- chevronsExtend = `<T, /*e*/DataType.${node_opcua_variant_1.DataType[classDefDerived.dataType]}>`;
811
+ chevronsUse = `<T, ${m9}DataType.${node_opcua_variant_1.DataType[classDefDerived.dataType]}>`;
812
+ chevronsExtend = `<T, ${mA}DataType.${node_opcua_variant_1.DataType[classDefDerived.dataType]}>`;
757
813
  }
758
814
  }
759
815
  }
@@ -842,45 +898,64 @@ function _convertTypeToTypescript(session, nodeId, cache, f) {
842
898
  cache.ensureImported(baseInterfaceName);
843
899
  cache.ensureImported(Object.assign(Object.assign({}, baseInterfaceName), { name: baseInterfaceName.name + `${baseExtension}` }));
844
900
  const ch = calculateChevrons(classDef);
845
- if (nodeClass === node_opcua_data_model_1.NodeClass.VariableType) {
846
- if (classDef.dataTypeImport) {
847
- console.log(chalk.red(" ----------------> ", classDef.browseName));
848
- classDef.dataTypeImport.forEach((a) => {
849
- console.log(chalk.red(" ------------------------> ", a.module, a.name, a.namespace));
850
- });
851
- classDef.dataTypeImport.forEach(cache.ensureImported.bind(cache));
852
- }
853
- cache.referenceBasicType("DataType");
854
- const chevrons = calculateChevrons(classDef);
855
- const chevronsBase = calculateChevrons(classDef.baseClassDef, classDef);
856
- // Shall we cache.ensureImported({ ...baseInterfaceName!, module: dataTypeName, name: dataTypeName });
857
- const classBaseName = `${interfaceName.name}${baseExtension}${chevrons.chevronsDef}`;
858
- if ((baseInterfaceName === null || baseInterfaceName === void 0 ? void 0 : baseInterfaceName.name) === "UAVariableT") {
859
- f.write(`export interface ${classBaseName} {`);
860
- }
861
- else {
862
- const baseName = `${baseInterfaceName === null || baseInterfaceName === void 0 ? void 0 : baseInterfaceName.name}${baseExtension}${chevronsBase.chevronsExtend}`;
863
- f.write(`export interface ${classBaseName} extends ${baseName} {`);
864
- }
865
- }
866
- else {
867
- const classBaseName = `${interfaceName.name}${baseExtension}`;
868
- if ((baseInterfaceName === null || baseInterfaceName === void 0 ? void 0 : baseInterfaceName.name) === "UAObject") {
869
- f.write(`export interface ${classBaseName} {`);
901
+ {
902
+ if (nodeClass === node_opcua_data_model_1.NodeClass.VariableType) {
903
+ if (classDef.dataTypeImport) {
904
+ if (doDebug) {
905
+ console.log(chalk.red(" ----------------> ", classDef.browseName));
906
+ classDef.dataTypeImport.forEach((a) => {
907
+ console.log(chalk.red(" ------------------------> ", a.module, a.name, a.namespace));
908
+ });
909
+ }
910
+ classDef.dataTypeImport.forEach(cache.ensureImported.bind(cache));
911
+ }
912
+ cache.referenceBasicType("DataType");
913
+ const chevrons = calculateChevrons(classDef);
914
+ const chevronsBase = calculateChevrons(classDef.baseClassDef, classDef);
915
+ // Shall we cache.ensureImported({ ...baseInterfaceName!, module: dataTypeName, name: dataTypeName });
916
+ const classBaseName = `${interfaceName.name}${baseExtension}${chevrons.chevronsDef}`;
917
+ if (countExposedChildren(members) === 0 && (baseInterfaceName === null || baseInterfaceName === void 0 ? void 0 : baseInterfaceName.name) !== "UAVariableT") {
918
+ //
919
+ const baseName = `${baseInterfaceName === null || baseInterfaceName === void 0 ? void 0 : baseInterfaceName.name}${baseExtension}${chevronsBase.chevronsExtend}`;
920
+ f.write(`export type ${classBaseName} = ${baseName};`);
921
+ }
922
+ else {
923
+ if ((baseInterfaceName === null || baseInterfaceName === void 0 ? void 0 : baseInterfaceName.name) === "UAVariableT") {
924
+ f.write(`export interface ${classBaseName} {`);
925
+ }
926
+ else {
927
+ const baseName = `${baseInterfaceName === null || baseInterfaceName === void 0 ? void 0 : baseInterfaceName.name}${baseExtension}${chevronsBase.chevronsExtend}`;
928
+ f.write(`export interface ${classBaseName} extends ${baseName} {`);
929
+ }
930
+ yield dumpChildren(" ", members, f, cache);
931
+ f.write(`}`);
932
+ }
870
933
  }
871
934
  else {
872
- const baseName = `${baseInterfaceName === null || baseInterfaceName === void 0 ? void 0 : baseInterfaceName.name}${baseExtension}`;
873
- f.write(`export interface ${classBaseName} extends ${baseName} {`);
935
+ const classBaseName = `${interfaceName.name}${baseExtension}`;
936
+ if (countExposedChildren(members) === 0 && (baseInterfaceName === null || baseInterfaceName === void 0 ? void 0 : baseInterfaceName.name) !== "UAObject") {
937
+ const baseName = `${baseInterfaceName === null || baseInterfaceName === void 0 ? void 0 : baseInterfaceName.name}${baseExtension}`;
938
+ f.write(`export type ${classBaseName} = ${baseName};`);
939
+ }
940
+ else {
941
+ if ((baseInterfaceName === null || baseInterfaceName === void 0 ? void 0 : baseInterfaceName.name) === "UAObject") {
942
+ f.write(`export interface ${classBaseName} {`);
943
+ }
944
+ else {
945
+ const baseName = `${baseInterfaceName === null || baseInterfaceName === void 0 ? void 0 : baseInterfaceName.name}${baseExtension}`;
946
+ f.write(`export interface ${classBaseName} extends ${baseName} {`);
947
+ }
948
+ yield dumpChildren(" ", members, f, cache);
949
+ f.write(`}`);
950
+ }
874
951
  }
875
952
  }
876
- yield dumpChildren(" ", members, f, cache);
877
- f.write(`}`);
878
953
  const baseStuff = getBaseClassWithOmit(classDef);
879
954
  if (nodeClass === node_opcua_data_model_1.NodeClass.VariableType) {
880
955
  cache.referenceBasicType("DataType");
881
956
  // if dataType is a extension object we can simpligy by forcing DT
882
957
  const className = `${interfaceName.name}${ch.chevronsDef}`;
883
- const c = isUnspecifiedDataType(dataType) ? "<T, DT /*A*/>" : "<T /*B*/>";
958
+ const c = isUnspecifiedDataType(dataType) ? `<T, DT${mB}>` : `<T${mC}>`;
884
959
  const classBaseName = `${interfaceName.name}${baseExtension}${c}`;
885
960
  f.write(`export interface ${className} extends ${baseStuff}, ${classBaseName} {`);
886
961
  }
@@ -1 +1 @@
1
- {"version":3,"file":"convert_to_typescript.js","sourceRoot":"","sources":["../source/convert_to_typescript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convert_to_typescript.js","sourceRoot":"","sources":["../source/convert_to_typescript.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-convert-nodeset-to-javascript",
3
- "version": "2.75.0",
3
+ "version": "2.76.2",
4
4
  "description": "pure nodejs OPCUA SDK - module -convert-nodeset-to-javascript",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
@@ -14,29 +14,26 @@
14
14
  "dependencies": {
15
15
  "@types/wordwrap": "^1.0.1",
16
16
  "case-anything": "1.1.5",
17
- "node-opcua-address-space": "2.75.0",
18
- "node-opcua-address-space-base": "2.75.0",
19
- "node-opcua-assert": "2.74.0",
20
- "node-opcua-basic-types": "2.74.0",
17
+ "chalk": "4.1.2",
18
+ "node-opcua-address-space": "2.76.2",
19
+ "node-opcua-address-space-base": "2.76.2",
20
+ "node-opcua-assert": "2.76.0",
21
21
  "node-opcua-constants": "2.74.0",
22
- "node-opcua-data-access": "2.75.0",
23
- "node-opcua-data-model": "2.75.0",
24
- "node-opcua-data-value": "2.75.0",
25
- "node-opcua-debug": "2.74.0",
26
- "node-opcua-factory": "2.75.0",
27
- "node-opcua-nodeid": "2.74.0",
28
- "node-opcua-pseudo-session": "2.75.0",
29
- "node-opcua-service-translate-browse-path": "2.75.0",
30
- "node-opcua-status-code": "2.74.0",
31
- "node-opcua-types": "2.75.0",
32
- "node-opcua-utils": "2.74.0",
22
+ "node-opcua-data-model": "2.76.2",
23
+ "node-opcua-debug": "2.76.2",
24
+ "node-opcua-nodeid": "2.76.2",
25
+ "node-opcua-nodesets": "2.74.0",
26
+ "node-opcua-pseudo-session": "2.76.2",
27
+ "node-opcua-status-code": "2.76.2",
28
+ "node-opcua-types": "2.76.2",
29
+ "node-opcua-utils": "2.76.0",
30
+ "node-opcua-variant": "2.76.2",
33
31
  "wordwrap": "^1.0.0"
34
32
  },
35
33
  "devDependencies": {
36
- "node-opcua-leak-detector": "2.74.0",
37
- "node-opcua-nodesets": "2.74.0",
38
- "node-opcua-packet-analyzer": "2.75.0",
39
- "node-opcua-variant": "2.75.0",
34
+ "node-opcua-leak-detector": "2.76.2",
35
+ "node-opcua-packet-analyzer": "2.76.2",
36
+ "node-opcua-service-translate-browse-path": "2.76.2",
40
37
  "should": "^13.2.3"
41
38
  },
42
39
  "author": "Etienne Rossignon",
@@ -54,5 +51,5 @@
54
51
  "internet of things"
55
52
  ],
56
53
  "homepage": "http://node-opcua.github.io/",
57
- "gitHead": "5ccb835ca480c2a8a591ae61b5949a9d8bad4017"
54
+ "gitHead": "acb5ecaf1e1c71af3b63e80909d58447f3f298e7"
58
55
  }
@@ -8,9 +8,7 @@ import { convertTypeToTypescript } from "./convert_to_typescript";
8
8
  import { constructCache } from "./private/cache";
9
9
  import { Options } from "./options";
10
10
 
11
- function getPackageInfo(dependency: string, options: Options) {
12
- //xx console.log("getPackageInfo", dependency);
13
-
11
+ function getPackageFolder(dependency: string, options: Options) {
14
12
  const l = [...(options.lookupFolders || [])];
15
13
  l.push(path.join(__dirname, "../../"));
16
14
  for (const folder of l) {
@@ -18,11 +16,15 @@ function getPackageInfo(dependency: string, options: Options) {
18
16
  if (!fs.existsSync(d)) {
19
17
  continue;
20
18
  }
21
- const p = JSON.parse(fs.readFileSync(d, "utf8"));
22
- return p;
19
+ return d;
23
20
  }
24
21
  throw new Error("cannot find package.json for " + dependency);
25
22
  }
23
+ function getPackageInfo(dependency: string, options: Options) {
24
+ const d = getPackageFolder(dependency, options);
25
+ const p = JSON.parse(fs.readFileSync(d, "utf8"));
26
+ return p;
27
+ }
26
28
 
27
29
  interface Info {
28
30
  files: string[];
@@ -146,7 +148,7 @@ async function _output_package_json(info: Info, options: Options): Promise<void>
146
148
 
147
149
  fs.writeFileSync(packagejson, content2.join("\n"));
148
150
  }
149
- async function _output_tsconfig_json(info: Info): Promise<void> {
151
+ async function _output_tsconfig_json(info: Info, options: Options): Promise<void> {
150
152
  const tsconfig = path.join(info.folder, "tsconfig.json");
151
153
  const content3: string[] = [];
152
154
  content3.push(`{`);
@@ -164,7 +166,10 @@ async function _output_tsconfig_json(info: Info): Promise<void> {
164
166
  // content3.push(` { "path": "../node-opcua-address-space-base" }`);
165
167
  const l = [] as string[];
166
168
  for (const dep of info.dependencies) {
167
- l.push(` { "path": "../${dep}" }`);
169
+ // only add in dep if not found in node_module
170
+ if (!isIn_node_modules_Folder(dep)) {
171
+ l.push(` { "path": "../${dep}" }`);
172
+ }
168
173
  }
169
174
  content3.push(l.join(",\n"));
170
175
  content3.push(` ],`);
@@ -175,6 +180,11 @@ async function _output_tsconfig_json(info: Info): Promise<void> {
175
180
  content3.push(`}`);
176
181
 
177
182
  fs.writeFileSync(tsconfig, content3.join("\n"));
183
+
184
+ function isIn_node_modules_Folder(dep: string) {
185
+ const c = getPackageFolder(dep, options);
186
+ return !!c.match(/node_modules/);
187
+ }
178
188
  }
179
189
  async function outputFiles(infos: { [key: string]: Info }, options: Options) {
180
190
  for (const info of Object.values(infos) as Info[]) {
@@ -183,6 +193,6 @@ async function outputFiles(infos: { [key: string]: Info }, options: Options) {
183
193
 
184
194
  await _output_package_json(info, options);
185
195
 
186
- await _output_tsconfig_json(info);
196
+ await _output_tsconfig_json(info, options);
187
197
  }
188
198
  }
@@ -1,9 +1,17 @@
1
+ /* eslint-disable max-depth */
1
2
  import * as chalk from "chalk";
2
3
  import * as wrap from "wordwrap";
3
4
  import { LocalizedText, NodeClass, QualifiedName } from "node-opcua-data-model";
4
5
  import { NodeId } from "node-opcua-nodeid";
5
6
  import { IBasicSession } from "node-opcua-pseudo-session";
6
- import { EnumDefinition, ReferenceDescription, StructureDefinition, _enumerationDataChangeTrigger } from "node-opcua-types";
7
+ import {
8
+ EnumDefinition,
9
+ ReferenceDescription,
10
+ StructureDefinition,
11
+ StructureField,
12
+ Union,
13
+ _enumerationDataChangeTrigger
14
+ } from "node-opcua-types";
7
15
  import { LineFile, lowerFirstLetter } from "node-opcua-utils";
8
16
  import { DataType } from "node-opcua-variant";
9
17
  import assert from "node-opcua-assert";
@@ -44,6 +52,20 @@ const f2 = (str: string) => str.padEnd(50, "-");
44
52
  const f1 = (str: string) => str.padEnd(50, " ");
45
53
  const baseExtension = "_Base";
46
54
 
55
+ const m0 = !doDebug ? "" : `/* 0 */`;
56
+ const m1 = !doDebug ? "" : `/* 1 */`;
57
+ const m2 = !doDebug ? "" : `/* 2 */`;
58
+ const m3 = !doDebug ? "" : `/* 3 */`;
59
+ const m4 = !doDebug ? "" : `/* 4 */`;
60
+ const m5 = !doDebug ? "" : `/* 5 */`;
61
+ const m6 = !doDebug ? "" : `/* 6 */`;
62
+ const m7 = !doDebug ? "" : `/* 7 */`;
63
+ const m8 = !doDebug ? "" : `/* 8 */`;
64
+ const m9 = !doDebug ? "" : `/* 9 */`;
65
+ const mA = !doDebug ? "" : `/* a */`;
66
+ const mB = !doDebug ? "" : `/* b */`;
67
+ const mC = !doDebug ? "" : `/* c */`;
68
+
47
69
  export async function convertDataTypeToTypescript(session: IBasicSession, dataTypeId: NodeId): Promise<void> {
48
70
  const definition = await getDefinition(session, dataTypeId);
49
71
  const browseName = await getBrowseName(session, dataTypeId);
@@ -561,13 +583,14 @@ async function extractVariableExtra(session: IBasicSession, nodeId: NodeId, cach
561
583
  importCollector({ name: "DataType", namespace: -1, module: "BasicType" });
562
584
 
563
585
  const t = isUnspecifiedDataType(classMember.classDef?.dataType);
586
+
564
587
  const suffix =
565
588
  jtype === "undefined" || isUnspecifiedDataType(dataType)
566
589
  ? `<any, any>`
567
- : `<${jtype}${t ? `, /*c*/DataType.${DataType[dataType]}` : ""}>`;
590
+ : `<${jtype}${t ? `, ${m0}DataType.${DataType[dataType]}` : ""}>`;
568
591
 
569
- // const suffix2 = `<T${t ? `, /*a*/DT extends DataType` : ""}>`;
570
- const suffix3 = `<T${t ? `, /*b*/DT` : ""}>`;
592
+ // const suffix2 = `<T${t ? `, /DT extends DataType` : ""}>`;
593
+ const suffix3 = `<T${t ? `, ${m1}DT` : ""}>`;
571
594
 
572
595
  const typeDef = await getTypeDefOrBaseType(session, nodeId);
573
596
  const typeDefCD = await extractClassDefinition(session, typeDef.nodeId!, cache);
@@ -588,7 +611,7 @@ async function extractVariableExtra(session: IBasicSession, nodeId: NodeId, cach
588
611
  if (!isUnspecifiedDataType(typeDefCD.dataType)) {
589
612
  suffixInstantiate = `<${jtype}>`;
590
613
  } else {
591
- suffixInstantiate = `<${jtype}, /*z*/DataType.${DataType[dataType]}>`;
614
+ suffixInstantiate = `<${jtype}, DataType.${DataType[dataType]}>`;
592
615
  }
593
616
  }
594
617
 
@@ -603,7 +626,6 @@ interface ClassDefinitionB {
603
626
  };
604
627
  interfaceName: Import;
605
628
  baseClassDef?: ClassDefinition | null;
606
-
607
629
  }
608
630
  // eslint-disable-next-line max-statements
609
631
  export async function extractClassMemberDef(
@@ -612,10 +634,9 @@ export async function extractClassMemberDef(
612
634
  parentDef: ClassDefinitionB,
613
635
  cache: Cache
614
636
  ): Promise<ClassMember> {
615
-
616
637
  const nodeClass = await getNodeClass(session, nodeId);
617
638
  const browseName = await getBrowseName(session, nodeId);
618
-
639
+
619
640
  const name = toJavascritPropertyName(browseName.name!, { ignoreConflictingName: true });
620
641
 
621
642
  if (nodeClass !== NodeClass.Method && nodeClass !== NodeClass.Object && nodeClass !== NodeClass.Variable) {
@@ -628,7 +649,6 @@ export async function extractClassMemberDef(
628
649
  const modellingRule = await getModellingRule(session, nodeId);
629
650
  const isOptional = sameInBaseClassIsMandatory(parentDef, browseName) ? false : modellingRule === "Optional";
630
651
 
631
-
632
652
  const typeDefinition = await getTypeDefOrBaseType(session, nodeId);
633
653
 
634
654
  if (nodeClass !== NodeClass.Method && (!typeDefinition.browseName || !typeDefinition.browseName.name)) {
@@ -756,6 +776,14 @@ async function preDumpChildren(padding: string, classDef: ClassDefinition, f: Li
756
776
  }
757
777
  }
758
778
 
779
+ const isPlaceHolder = (def: ClassMemberBasic) => {
780
+ const { modellingRule } = def;
781
+ return modellingRule === "MandatoryPlaceholder" || modellingRule === "OptionalPlaceholder";
782
+ };
783
+
784
+ function countExposedChildren(children: ClassMemberBasic[]) {
785
+ return children.reduce((p, def) => p + (isPlaceHolder(def) ? 0 : 1), 0);
786
+ }
759
787
  function dumpChildren(padding: string, children: ClassMemberBasic[], f: LineFile, cache: Cache): void {
760
788
  f = f || new LineFile();
761
789
 
@@ -763,7 +791,10 @@ function dumpChildren(padding: string, children: ClassMemberBasic[], f: LineFile
763
791
  const { suffixInstantiate, name, childType, modellingRule, isOptional, description } = def;
764
792
  def.typeToReference.forEach((t) => cache.ensureImported(t));
765
793
 
766
- if (modellingRule === "MandatoryPlaceholder" || modellingRule === "OptionalPlaceholder") continue;
794
+ if (isPlaceHolder(def)) {
795
+ f.write(" // PlaceHolder for ", name);
796
+ continue;
797
+ }
767
798
  cache.ensureImported(childType);
768
799
  const adjustedName = toJavascritPropertyName(name, { ignoreConflictingName: true });
769
800
  if (description.text) {
@@ -858,7 +889,7 @@ function toComment(prefix: string, description: string) {
858
889
  .join("\n");
859
890
  }
860
891
  export type Type = "enum" | "basic" | "structure" | "ua";
861
- // eslint-disable-next-line max-statements
892
+ // eslint-disable-next-line max-statements, complexity
862
893
  export async function _exportDataTypeToTypescript(
863
894
  session: IBasicSession,
864
895
  nodeId: NodeId,
@@ -913,31 +944,60 @@ export async function _exportDataTypeToTypescript(
913
944
  }
914
945
  f.write(`}`);
915
946
  } else if (definition instanceof StructureDefinition) {
916
- type = "structure";
917
- if (interfaceName === "DTStructure") {
918
- f.write(`export interface ${interfaceName} {`);
947
+ if (baseInterfaceName === "DTUnion") {
948
+ type = "structure";
949
+ for (let i = 0; i < definition.fields!.length; i++) {
950
+ f.write(`export interface ${interfaceName}_${i} extends ${baseInterfaceName} {`);
951
+ for (let j = 0; j < definition.fields!.length; j++) {
952
+ const field = definition.fields![j];
953
+ const fieldName = toJavascritPropertyName(field.name!, { ignoreConflictingName: false });
954
+ if (j === i) {
955
+ await outputStructureField(f, field);
956
+ } else {
957
+ f.write(` ${quotifyIfNecessary(fieldName)}?: never`);
958
+ }
959
+ }
960
+ f.write(`}`);
961
+ }
962
+ f.write(`export type ${interfaceName} = `);
963
+ for (let i = 0; i < definition.fields!.length; i++) {
964
+ f.write(` | ${interfaceName}_${i}`);
965
+ }
966
+ f.write(` ;`);
919
967
  } else {
920
- f.write(`export interface ${interfaceName} extends ${baseInterfaceName} {`);
921
- }
922
- for (const field of definition.fields!) {
923
- const fieldName = toJavascritPropertyName(field.name!, { ignoreConflictingName: false });
924
- // special case ! fieldName=
925
- if (field.description.text) {
926
- f.write(`/** ${field.description.text}*/`);
968
+ type = "structure";
969
+ if (!definition.fields!.length && interfaceName !== "DTStructure") {
970
+ f.write(`export type ${interfaceName} = ${baseInterfaceName};`);
971
+ } else {
972
+ if (interfaceName === "DTStructure") {
973
+ f.write(`export interface ${interfaceName} {`);
974
+ } else {
975
+ f.write(`export interface ${interfaceName} extends ${baseInterfaceName} {`);
976
+ }
977
+ for (const field of definition.fields!) {
978
+ await outputStructureField(f, field);
979
+ }
980
+ f.write(`}`);
927
981
  }
928
- const ar = field.valueRank >= 1 ? "[]" : "";
929
- const { dataType, jtype } = await getCorrepondingJavascriptType(session, field.dataType, cache, importCollector);
930
- f.write(` ${quotifyIfNecessary(fieldName)}: ${jtype}${ar}; // ${DataType[dataType]} ${field.dataType.toString()}`);
931
982
  }
932
- f.write(`}`);
933
983
  } else {
934
984
  type = "basic";
935
985
  f.write(`// NO DEFINITION`);
936
- f.write(`export interface ${interfaceName} extends ${baseInterfaceName} {`);
937
- f.write(`}`);
986
+ f.write(`export type ${interfaceName} = ${baseInterfaceName};`);
938
987
  // throw new Error("Invalid " + definition?.constructor.name);
939
988
  }
940
989
  return { type, content: f.toString(), typeName: interfaceName };
990
+
991
+ async function outputStructureField(f: LineFile, field: StructureField) {
992
+ const fieldName = toJavascritPropertyName(field.name!, { ignoreConflictingName: false });
993
+ // special case ! fieldName=
994
+ if (field.description.text) {
995
+ f.write(`/** ${field.description.text}*/`);
996
+ }
997
+ const ar = field.valueRank >= 1 ? "[]" : "";
998
+ const { dataType, jtype } = await getCorrepondingJavascriptType(session, field.dataType, cache, importCollector);
999
+ f.write(` ${quotifyIfNecessary(fieldName)}: ${jtype}${ar}; // ${DataType[dataType]} ${field.dataType.toString()}`);
1000
+ }
941
1001
  }
942
1002
 
943
1003
  function calculateChevrons(classDef: ClassDefinition, classDefDerived?: { dataType: DataType }) {
@@ -950,13 +1010,13 @@ function calculateChevrons(classDef: ClassDefinition, classDefDerived?: { dataTy
950
1010
  }
951
1011
 
952
1012
  if (!isUnspecifiedDataType(dataType)) {
953
- chevronsDef = `<T extends ${dataTypeName}/*j*/>`;
954
- chevronsUse = "<T/*k*/>";
1013
+ chevronsDef = `<T extends ${dataTypeName}${m3}>`;
1014
+ chevronsUse = `<T${m4}>`;
955
1015
  if (classDefDerived) {
956
1016
  if (isUnspecifiedDataType(classDefDerived.dataType)) {
957
- chevronsExtend = `<T, /*i*/DataType.${DataType[dataType]}>`;
1017
+ chevronsExtend = `<T, ${m5}DataType.${DataType[dataType]}>`;
958
1018
  } else {
959
- chevronsExtend = `<T/*h*/>`;
1019
+ chevronsExtend = `<T${m6}>`;
960
1020
  }
961
1021
  }
962
1022
  } else {
@@ -964,11 +1024,11 @@ function calculateChevrons(classDef: ClassDefinition, classDefDerived?: { dataTy
964
1024
  chevronsDef = `<T, DT extends DataType>`;
965
1025
  if (classDefDerived) {
966
1026
  if (isUnspecifiedDataType(classDefDerived.dataType)) {
967
- chevronsUse = "<T, /*m*/DT>";
968
- chevronsExtend = `<T/*g*/, DT>`;
1027
+ chevronsUse = `<T, ${m7}DT>`;
1028
+ chevronsExtend = `<T${m8}, DT>`;
969
1029
  } else {
970
- chevronsUse = `<T, /*n*/DataType.${DataType[classDefDerived.dataType]}>`;
971
- chevronsExtend = `<T, /*e*/DataType.${DataType[classDefDerived.dataType]}>`;
1030
+ chevronsUse = `<T, ${m9}DataType.${DataType[classDefDerived.dataType]}>`;
1031
+ chevronsExtend = `<T, ${mA}DataType.${DataType[classDefDerived.dataType]}>`;
972
1032
  }
973
1033
  }
974
1034
  }
@@ -1082,46 +1142,60 @@ export async function _convertTypeToTypescript(
1082
1142
 
1083
1143
  const ch = calculateChevrons(classDef);
1084
1144
 
1085
- if (nodeClass === NodeClass.VariableType) {
1086
- if (classDef.dataTypeImport) {
1087
- console.log(chalk.red(" ----------------> ", classDef.browseName));
1088
- classDef.dataTypeImport.forEach((a) => {
1089
- console.log(chalk.red(" ------------------------> ", a.module, a.name, a.namespace));
1090
- });
1091
- classDef.dataTypeImport.forEach(cache.ensureImported.bind(cache));
1092
- }
1093
-
1094
- cache.referenceBasicType("DataType");
1095
- const chevrons = calculateChevrons(classDef);
1096
- const chevronsBase = calculateChevrons(classDef.baseClassDef!, classDef);
1097
- // Shall we cache.ensureImported({ ...baseInterfaceName!, module: dataTypeName, name: dataTypeName });
1098
- const classBaseName = `${interfaceName.name}${baseExtension}${chevrons.chevronsDef}`;
1099
-
1100
- if (baseInterfaceName?.name === "UAVariableT") {
1101
- f.write(`export interface ${classBaseName} {`);
1102
- } else {
1103
- const baseName = `${baseInterfaceName?.name}${baseExtension}${chevronsBase.chevronsExtend}`;
1104
- f.write(`export interface ${classBaseName} extends ${baseName} {`);
1105
- }
1106
- } else {
1107
- const classBaseName = `${interfaceName.name}${baseExtension}`;
1108
- if (baseInterfaceName?.name === "UAObject") {
1109
- f.write(`export interface ${classBaseName} {`);
1145
+ {
1146
+ if (nodeClass === NodeClass.VariableType) {
1147
+ if (classDef.dataTypeImport) {
1148
+ if (doDebug) {
1149
+ console.log(chalk.red(" ----------------> ", classDef.browseName));
1150
+ classDef.dataTypeImport.forEach((a) => {
1151
+ console.log(chalk.red(" ------------------------> ", a.module, a.name, a.namespace));
1152
+ });
1153
+ }
1154
+ classDef.dataTypeImport.forEach(cache.ensureImported.bind(cache));
1155
+ }
1156
+ cache.referenceBasicType("DataType");
1157
+ const chevrons = calculateChevrons(classDef);
1158
+ const chevronsBase = calculateChevrons(classDef.baseClassDef!, classDef);
1159
+ // Shall we cache.ensureImported({ ...baseInterfaceName!, module: dataTypeName, name: dataTypeName });
1160
+ const classBaseName = `${interfaceName.name}${baseExtension}${chevrons.chevronsDef}`;
1161
+ if (countExposedChildren(members) === 0 && baseInterfaceName?.name !== "UAVariableT") {
1162
+ //
1163
+ const baseName = `${baseInterfaceName?.name}${baseExtension}${chevronsBase.chevronsExtend}`;
1164
+ f.write(`export type ${classBaseName} = ${baseName};`);
1165
+ } else {
1166
+ if (baseInterfaceName?.name === "UAVariableT") {
1167
+ f.write(`export interface ${classBaseName} {`);
1168
+ } else {
1169
+ const baseName = `${baseInterfaceName?.name}${baseExtension}${chevronsBase.chevronsExtend}`;
1170
+ f.write(`export interface ${classBaseName} extends ${baseName} {`);
1171
+ }
1172
+ await dumpChildren(" ", members, f, cache);
1173
+ f.write(`}`);
1174
+ }
1110
1175
  } else {
1111
- const baseName = `${baseInterfaceName?.name}${baseExtension}`;
1112
- f.write(`export interface ${classBaseName} extends ${baseName} {`);
1176
+ const classBaseName = `${interfaceName.name}${baseExtension}`;
1177
+ if (countExposedChildren(members) === 0 && baseInterfaceName?.name !== "UAObject") {
1178
+ const baseName = `${baseInterfaceName?.name}${baseExtension}`;
1179
+ f.write(`export type ${classBaseName} = ${baseName};`);
1180
+ } else {
1181
+ if (baseInterfaceName?.name === "UAObject") {
1182
+ f.write(`export interface ${classBaseName} {`);
1183
+ } else {
1184
+ const baseName = `${baseInterfaceName?.name}${baseExtension}`;
1185
+ f.write(`export interface ${classBaseName} extends ${baseName} {`);
1186
+ }
1187
+ await dumpChildren(" ", members, f, cache);
1188
+ f.write(`}`);
1189
+ }
1113
1190
  }
1114
1191
  }
1115
- await dumpChildren( " ", members, f, cache);
1116
- f.write(`}`);
1117
-
1118
1192
  const baseStuff = getBaseClassWithOmit(classDef);
1119
1193
 
1120
1194
  if (nodeClass === NodeClass.VariableType) {
1121
1195
  cache.referenceBasicType("DataType");
1122
1196
  // if dataType is a extension object we can simpligy by forcing DT
1123
1197
  const className = `${interfaceName.name}${ch.chevronsDef}`;
1124
- const c = isUnspecifiedDataType(dataType) ? "<T, DT /*A*/>" : "<T /*B*/>";
1198
+ const c = isUnspecifiedDataType(dataType) ? `<T, DT${mB}>` : `<T${mC}>`;
1125
1199
  const classBaseName = `${interfaceName.name}${baseExtension}${c}`;
1126
1200
  f.write(`export interface ${className} extends ${baseStuff}, ${classBaseName} {`);
1127
1201
  } else {
@@ -1130,6 +1204,7 @@ export async function _convertTypeToTypescript(
1130
1204
  f.write(`export interface ${className} extends ${baseStuff}, ${classBaseName} {`);
1131
1205
  }
1132
1206
  f.write(`}`);
1207
+
1133
1208
  return { type: "ua", content: f.toString(), typeName: interfaceName.name };
1134
1209
  }
1135
1210
 
@@ -7,7 +7,10 @@
7
7
  "incremental": true
8
8
  },
9
9
  "references": [
10
- ],
10
+ {
11
+ "path": "../node-opcua-debug"
12
+ }
13
+ ],
11
14
  "exclude": ["node_modules", "dist", "test", "source/*"],
12
15
  "include": ["./tmp/node-opcua-nodeset*/index.d.ts"]
13
16
  }