node-opcua-client-dynamic-extension-object 2.143.0 → 2.145.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.
@@ -409,7 +409,11 @@ async function _exploreDataTypeDefinition(session, dataTypeDictionaryTypeNode, d
409
409
  debugLog(" type ", name.padEnd(30, " "), binaryEncoding.toString());
410
410
  // let's verify that constructor is operational
411
411
  try {
412
- const Constructor = dataTypeFactory.getStructureInfoByTypeName(name).constructor;
412
+ const structureInfo = dataTypeFactory.getStructureInfoByTypeName(name);
413
+ if (structureInfo.schema.isAbstract) {
414
+ continue;
415
+ }
416
+ const Constructor = structureInfo.constructor;
413
417
  if (!Constructor) {
414
418
  throw new Error(`Cannot instantiate abstract DataType(name=${name})`);
415
419
  }
@@ -685,38 +689,75 @@ async function populateDataTypeManager103(session, dataTypeManager) {
685
689
  else {
686
690
  // attempt to load all dataTypeDictionary in parallel as much as possible
687
691
  // by ensuring parallel operation happens only when dependencies are resolved
688
- const canBeProcessed = (d, alreadyProcessed) => {
689
- for (const namespace of Object.values(d.dependencies)) {
690
- if (d.targetNamespace === namespace) {
692
+ const alreadyProcessed = new Set();
693
+ alreadyProcessed.add("http://opcfoundation.org/UA/");
694
+ alreadyProcessed.add("http://www.w3.org/2001/XMLSchema-instance");
695
+ alreadyProcessed.add("http://opcfoundation.org/BinarySchema/");
696
+ const unquote = (s) => {
697
+ // remove starting and ending ' or " if any ...
698
+ if (s.startsWith("'") || s.startsWith('"')) {
699
+ s = s.substring(1);
700
+ }
701
+ if (s.endsWith("'") || s.endsWith('"')) {
702
+ s = s.substring(0, s.length - 1);
703
+ }
704
+ return s;
705
+ };
706
+ // check if all dependencies have been processed for this dataTypeDictionary
707
+ const allDependenciesAlreadyProcessed = (typeDictionaryInfo) => {
708
+ for (const [key, namespace1] of Object.entries(typeDictionaryInfo.dependencies)) {
709
+ // codesys may add quotes around the namespace
710
+ const namespace = unquote(namespace1);
711
+ if (typeDictionaryInfo.targetNamespace === namespace) {
691
712
  continue;
692
713
  }
693
714
  if (!alreadyProcessed.has(namespace)) {
715
+ console.log(alreadyProcessed.values(), "vs", namespace);
694
716
  return false;
695
717
  }
696
718
  }
697
719
  return true;
698
720
  };
699
- const alreadyProcessed = new Set();
700
- alreadyProcessed.add("http://opcfoundation.org/UA/");
701
- alreadyProcessed.add("http://www.w3.org/2001/XMLSchema-instance");
702
- alreadyProcessed.add("http://opcfoundation.org/BinarySchema/");
703
721
  const queue = [...dataTypeDictionaryInfo];
704
- while (queue.length > 0) {
705
- doDebug && console.log("queue length = ", queue.length);
722
+ // we load typeDictionary in parallel by processing all
723
+ // typeDictionary that have all their dependencies resolved
724
+ const extractIndependantTypeInfo = (queue) => {
706
725
  const toProcess = queue.splice(0);
707
- const promises = [];
708
- for (const d of toProcess) {
709
- if (canBeProcessed(d, alreadyProcessed)) {
710
- promises.push((async () => {
711
- await processReferenceOnDataTypeDictionaryType(d);
712
- alreadyProcessed.add(d.targetNamespace);
713
- })());
726
+ const result = [];
727
+ for (const typeDictionaryInfo of toProcess) {
728
+ if (allDependenciesAlreadyProcessed(typeDictionaryInfo)) {
729
+ // extract this typeDictionaryInfo
730
+ result.push(typeDictionaryInfo);
714
731
  }
715
732
  else {
716
- queue.push(d);
733
+ // keep it for later
734
+ queue.push(typeDictionaryInfo);
717
735
  }
718
736
  }
719
- // const promise: Promise<void>[] = dataTypeDictionaryInfo.map(processReferenceOnDataTypeDictionaryType);
737
+ return result;
738
+ };
739
+ const processFunc = async (typeDictionaryInfo) => {
740
+ try {
741
+ doDebug && debugLog("processing ", typeDictionaryInfo.targetNamespace);
742
+ await processReferenceOnDataTypeDictionaryType(typeDictionaryInfo);
743
+ }
744
+ catch (err) {
745
+ errorLog("Error in processReferenceOnDataTypeDictionaryType", err);
746
+ }
747
+ alreadyProcessed.add(unquote(typeDictionaryInfo.targetNamespace));
748
+ };
749
+ while (queue.length > 0) {
750
+ for (const d of queue) {
751
+ console.log({ t: d.targetNamespace, d: d.dependencies });
752
+ }
753
+ doDebug && console.log("queue length = ", queue.length);
754
+ const readyToProcess = extractIndependantTypeInfo(queue);
755
+ if (readyToProcess.length === 0) {
756
+ // we are stuck
757
+ errorLog("Cannot process any more dataTypeDictionary");
758
+ break;
759
+ }
760
+ const promises = readyToProcess.map((typeDictionaryInfo) => processFunc(typeDictionaryInfo));
720
761
  await Promise.all(promises);
721
762
  }
722
763
  }
@@ -1 +1 @@
1
- {"version":3,"file":"populate_data_type_manager_103.js","sourceRoot":"","sources":["../../source/private/populate_data_type_manager_103.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"populate_data_type_manager_103.js","sourceRoot":"","sources":["../../source/private/populate_data_type_manager_103.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-client-dynamic-extension-object",
3
- "version": "2.143.0",
3
+ "version": "2.145.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",
@@ -43,7 +43,7 @@
43
43
  "internet of things"
44
44
  ],
45
45
  "homepage": "http://node-opcua.github.io/",
46
- "gitHead": "3bd85d4036f219f6f7e401d54e60afb3592ff1ba",
46
+ "gitHead": "e2efb3b0b420f04e3cb54ce7b360a3499e135c8b",
47
47
  "files": [
48
48
  "dist",
49
49
  "source"
@@ -543,7 +543,11 @@ async function _exploreDataTypeDefinition(
543
543
  debugLog(" type ", name.padEnd(30, " "), binaryEncoding.toString());
544
544
  // let's verify that constructor is operational
545
545
  try {
546
- const Constructor = dataTypeFactory.getStructureInfoByTypeName(name).constructor;
546
+ const structureInfo = dataTypeFactory.getStructureInfoByTypeName(name);
547
+ if (structureInfo.schema.isAbstract) {
548
+ continue;
549
+ }
550
+ const Constructor = structureInfo.constructor;
547
551
  if (!Constructor) {
548
552
  throw new Error(`Cannot instantiate abstract DataType(name=${name})`);
549
553
  }
@@ -876,39 +880,79 @@ export async function populateDataTypeManager103(
876
880
  } else {
877
881
  // attempt to load all dataTypeDictionary in parallel as much as possible
878
882
  // by ensuring parallel operation happens only when dependencies are resolved
879
- const canBeProcessed = (d: TypeDictionaryInfo, alreadyProcessed: Set<string>) => {
880
- for (const namespace of Object.values(d.dependencies)) {
881
- if (d.targetNamespace === namespace) {
883
+ const alreadyProcessed = new Set<string>();
884
+ alreadyProcessed.add("http://opcfoundation.org/UA/");
885
+ alreadyProcessed.add("http://www.w3.org/2001/XMLSchema-instance");
886
+ alreadyProcessed.add("http://opcfoundation.org/BinarySchema/");
887
+
888
+ const unquote = (s: string) => {
889
+ // remove starting and ending ' or " if any ...
890
+ if (s.startsWith("'") || s.startsWith('"')) {
891
+ s = s.substring(1);
892
+ }
893
+ if (s.endsWith("'") || s.endsWith('"')) {
894
+ s = s.substring(0, s.length - 1);
895
+ }
896
+ return s;
897
+ }
898
+ // check if all dependencies have been processed for this dataTypeDictionary
899
+ const allDependenciesAlreadyProcessed = (typeDictionaryInfo: TypeDictionaryInfo) => {
900
+
901
+ for (const [key, namespace1] of Object.entries(typeDictionaryInfo.dependencies)) {
902
+ // codesys may add quotes around the namespace
903
+ const namespace = unquote(namespace1);
904
+ if (typeDictionaryInfo.targetNamespace === namespace) {
882
905
  continue;
883
906
  }
884
907
  if (!alreadyProcessed.has(namespace)) {
908
+ console.log(alreadyProcessed.values(), "vs", namespace)
885
909
  return false;
886
910
  }
887
911
  }
888
912
  return true;
889
913
  }
890
914
 
891
- const alreadyProcessed = new Set<string>();
892
- alreadyProcessed.add("http://opcfoundation.org/UA/");
893
- alreadyProcessed.add("http://www.w3.org/2001/XMLSchema-instance");
894
- alreadyProcessed.add("http://opcfoundation.org/BinarySchema/");
895
915
  const queue: TypeDictionaryInfo[] = [...dataTypeDictionaryInfo];
896
916
 
897
- while (queue.length > 0) {
898
- doDebug && console.log("queue length = ", queue.length);
917
+ // we load typeDictionary in parallel by processing all
918
+ // typeDictionary that have all their dependencies resolved
919
+ const extractIndependantTypeInfo = (queue: TypeDictionaryInfo[]): TypeDictionaryInfo[] => {
899
920
  const toProcess = queue.splice(0);
900
- const promises: Promise<void>[] = [];
901
- for (const d of toProcess) {
902
- if (canBeProcessed(d, alreadyProcessed)) {
903
- promises.push((async () => {
904
- await processReferenceOnDataTypeDictionaryType(d)
905
- alreadyProcessed.add(d.targetNamespace);
906
- })());
921
+ const result: TypeDictionaryInfo[]=[];
922
+ for (const typeDictionaryInfo of toProcess) {
923
+ if (allDependenciesAlreadyProcessed(typeDictionaryInfo)) {
924
+ // extract this typeDictionaryInfo
925
+ result.push(typeDictionaryInfo);
907
926
  } else {
908
- queue.push(d);
927
+ // keep it for later
928
+ queue.push(typeDictionaryInfo);
909
929
  }
910
930
  }
911
- // const promise: Promise<void>[] = dataTypeDictionaryInfo.map(processReferenceOnDataTypeDictionaryType);
931
+ return result;
932
+ }
933
+ const processFunc = async (typeDictionaryInfo: TypeDictionaryInfo) => {
934
+ try {
935
+ doDebug && debugLog("processing ", typeDictionaryInfo.targetNamespace);
936
+ await processReferenceOnDataTypeDictionaryType(typeDictionaryInfo);
937
+ } catch (err) {
938
+ errorLog("Error in processReferenceOnDataTypeDictionaryType", err);
939
+ }
940
+ alreadyProcessed.add(unquote(typeDictionaryInfo.targetNamespace));
941
+ }
942
+ while (queue.length > 0) {
943
+ for (const d of queue) {
944
+ console.log({ t: d.targetNamespace, d: d.dependencies });
945
+ }
946
+
947
+ doDebug && console.log("queue length = ", queue.length);
948
+ const readyToProcess = extractIndependantTypeInfo(queue);
949
+ if (readyToProcess.length === 0) {
950
+ // we are stuck
951
+ errorLog("Cannot process any more dataTypeDictionary");
952
+ break;
953
+ }
954
+ const promises: Promise<void>[] =
955
+ readyToProcess.map((typeDictionaryInfo) => processFunc(typeDictionaryInfo));
912
956
  await Promise.all(promises);
913
957
  }
914
958
  }