node-opcua-client-dynamic-extension-object 2.139.0 → 2.141.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.
- package/dist/get_extra_data_type_manager.d.ts +9 -0
- package/dist/get_extra_data_type_manager.js +18 -2
- package/dist/get_extra_data_type_manager.js.map +1 -1
- package/dist/populate_data_type_manager.js +15 -5
- package/dist/populate_data_type_manager.js.map +1 -1
- package/dist/private/populate_data_type_manager_103.js +72 -15
- package/dist/private/populate_data_type_manager_103.js.map +1 -1
- package/dist/private/populate_data_type_manager_104.js +13 -2
- package/dist/private/populate_data_type_manager_104.js.map +1 -1
- package/dist/promote_opaque_structure.d.ts +4 -0
- package/dist/promote_opaque_structure.js +4 -0
- package/dist/promote_opaque_structure.js.map +1 -1
- package/package.json +7 -7
- package/source/get_extra_data_type_manager.ts +36 -4
- package/source/populate_data_type_manager.ts +19 -6
- package/source/private/populate_data_type_manager_103.ts +99 -37
- package/source/private/populate_data_type_manager_104.ts +13 -2
- package/source/promote_opaque_structure.ts +4 -0
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { IBasicSessionAsync2 } from "node-opcua-pseudo-session";
|
|
2
|
+
import { NodeId } from "node-opcua-nodeid";
|
|
2
3
|
import { ExtraDataTypeManager } from "./extra_data_type_manager";
|
|
3
4
|
import { DataTypeExtractStrategy } from "./populate_data_type_manager";
|
|
5
|
+
export interface IBasicSessionAsync2Private extends IBasicSessionAsync2 {
|
|
6
|
+
$$namespaceArray?: string[];
|
|
7
|
+
$$extraDataTypeManager?: ExtraDataTypeManager;
|
|
8
|
+
$$extraDataTypeManagerToResolve?: [(a: ExtraDataTypeManager) => void, (err: Error) => void][];
|
|
9
|
+
$$getSessionForDataTypeExtraction?: () => IBasicSessionAsync2;
|
|
10
|
+
on?: (this: IBasicSessionAsync2Private, event: "session_restored", func: () => void) => void;
|
|
11
|
+
sessionId?: NodeId;
|
|
12
|
+
}
|
|
4
13
|
export declare function invalidateExtraDataTypeManager(session: IBasicSessionAsync2): Promise<void>;
|
|
5
14
|
export declare function extractDataTypeManagerPrivate(session: IBasicSessionAsync2, strategy: DataTypeExtractStrategy): Promise<ExtraDataTypeManager>;
|
|
6
15
|
export declare function getExtraDataTypeManager(session: IBasicSessionAsync2, strategy?: DataTypeExtractStrategy): Promise<ExtraDataTypeManager>;
|
|
@@ -55,8 +55,21 @@ function getStrategy(session, strategy) {
|
|
|
55
55
|
}
|
|
56
56
|
return populate_data_type_manager_1.DataTypeExtractStrategy.Auto;
|
|
57
57
|
}
|
|
58
|
+
function getSessionForDataTypeManagerExtraction(session) {
|
|
59
|
+
const _session = session;
|
|
60
|
+
if (_session.$$getSessionForDataTypeExtraction) {
|
|
61
|
+
return _session.$$getSessionForDataTypeExtraction();
|
|
62
|
+
}
|
|
63
|
+
return session;
|
|
64
|
+
}
|
|
65
|
+
function followSession(session) {
|
|
66
|
+
if (session.session) {
|
|
67
|
+
return followSession(session.session);
|
|
68
|
+
}
|
|
69
|
+
return session;
|
|
70
|
+
}
|
|
58
71
|
async function getExtraDataTypeManager(session, strategy) {
|
|
59
|
-
const sessionPriv = session;
|
|
72
|
+
const sessionPriv = followSession(session);
|
|
60
73
|
if (sessionPriv.$$extraDataTypeManager) {
|
|
61
74
|
return sessionPriv.$$extraDataTypeManager;
|
|
62
75
|
}
|
|
@@ -72,7 +85,10 @@ async function getExtraDataTypeManager(session, strategy) {
|
|
|
72
85
|
(async () => {
|
|
73
86
|
try {
|
|
74
87
|
strategy = getStrategy(session, strategy);
|
|
75
|
-
const
|
|
88
|
+
const sessionToUse = getSessionForDataTypeManagerExtraction(session);
|
|
89
|
+
const dataTypeManager = await extractDataTypeManagerPrivate(sessionToUse, strategy);
|
|
90
|
+
// note: reconnection will call invalidateExtraDataTypeManager
|
|
91
|
+
// if the session is recreated
|
|
76
92
|
const tmp = sessionPriv.$$extraDataTypeManagerToResolve;
|
|
77
93
|
sessionPriv.$$extraDataTypeManagerToResolve = undefined;
|
|
78
94
|
for (const [resolve] of tmp) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_extra_data_type_manager.js","sourceRoot":"","sources":["../source/get_extra_data_type_manager.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"get_extra_data_type_manager.js","sourceRoot":"","sources":["../source/get_extra_data_type_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,17 +26,18 @@ async function serverImplementsDataTypeDefinition(session) {
|
|
|
26
26
|
resultMask: node_opcua_data_model_1.ResultMask.TypeDefinition
|
|
27
27
|
});
|
|
28
28
|
let count103DataType = 0;
|
|
29
|
-
|
|
29
|
+
const innerF = async (ref) => {
|
|
30
30
|
const td = ref.typeDefinition;
|
|
31
|
-
if (!(td.namespace === 0 && td.value === node_opcua_constants_1.VariableTypeIds.DataTypeDictionaryType))
|
|
32
|
-
|
|
31
|
+
if (!(td.namespace === 0 && td.value === node_opcua_constants_1.VariableTypeIds.DataTypeDictionaryType)) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
33
34
|
// we have a type definition,
|
|
34
35
|
// let check if there is a deprecated property
|
|
35
36
|
const p = await session.translateBrowsePath((0, node_opcua_service_translate_browse_path_1.makeBrowsePath)(ref.nodeId, "/Deprecated"));
|
|
36
37
|
if (!p.statusCode.isGood() || !p.targets || p.targets.length === 0) {
|
|
37
38
|
// the dataTypeDictionaryType is not exposing a Deprecated property
|
|
38
39
|
count103DataType++;
|
|
39
|
-
|
|
40
|
+
return;
|
|
40
41
|
}
|
|
41
42
|
const deprecatedNodeId = p.targets[0].targetId;
|
|
42
43
|
// we have a deprecated property => this is a 1.03 server or 1.04
|
|
@@ -45,9 +46,18 @@ async function serverImplementsDataTypeDefinition(session) {
|
|
|
45
46
|
if (dataValue.statusCode.isGood() && dataValue.value.value === false) {
|
|
46
47
|
// this is a 1.03 server
|
|
47
48
|
count103DataType++;
|
|
48
|
-
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
if (false) {
|
|
53
|
+
for (let r of (browseResult1.references || [])) {
|
|
54
|
+
await innerF(r);
|
|
49
55
|
}
|
|
50
56
|
}
|
|
57
|
+
else {
|
|
58
|
+
const promises = (browseResult1.references || []).map((a) => innerF(a));
|
|
59
|
+
await Promise.all(promises);
|
|
60
|
+
}
|
|
51
61
|
if (count103DataType >= 1) {
|
|
52
62
|
// some namespace are old , we cannot assume that all namespace are 1.04
|
|
53
63
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"populate_data_type_manager.js","sourceRoot":"","sources":["../source/populate_data_type_manager.ts"],"names":[],"mappings":";;;AAkBA,
|
|
1
|
+
{"version":3,"file":"populate_data_type_manager.js","sourceRoot":"","sources":["../source/populate_data_type_manager.ts"],"names":[],"mappings":";;;AAkBA,gFA0GC;AASD,0DAsBC;AA3JD,iEAAiG;AACjG,yDAAkD;AAClD,yEAGmC;AACnC,+DAA+E;AAC/E,2DAA8C;AAE9C,uGAA0E;AAG1E,6FAAsF;AACtF,6FAAsF;AAEtF;;GAEG;AACI,KAAK,UAAU,kCAAkC,CACpD,OAA4B;IAE5B,mFAAmF;IACnF,6BAA6B;IAC7B,0FAA0F;IAC1F,MAAM,aAAa,GAAG,MAAM,IAAA,qCAAS,EAAC,OAAO,EAAE;QAC3C,eAAe,EAAE,uCAAe,CAAC,OAAO;QACxC,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,qCAAa,CAAC,QAAQ;QACrC,MAAM,EAAE,IAAA,iCAAa,EAAC,gCAAS,CAAC,0BAA0B,CAAC;QAC3D,UAAU,EAAE,kCAAU,CAAC,cAAc;KACxC,CAAC,CAAC;IAEH,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAG,KAAK,EAAE,GAAyB,EAAE,EAAE;QAC/C,MAAM,EAAE,GAAG,GAAG,CAAC,cAAc,CAAC;QAC9B,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,sCAAe,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC/E,OAAO;QACX,CAAC;QACD,6BAA6B;QAC7B,8CAA8C;QAC9C,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,IAAA,yDAAc,EAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjE,mEAAmE;YACnE,gBAAgB,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QACD,MAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/C,iEAAiE;QACjE,gEAAgE;QAChE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,oCAAY,CAAC,KAAK,EAAE,CAAC,CAAC;QACpG,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACnE,wBAAwB;YACxB,gBAAgB,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;IACL,CAAC,CAAA;IAED,IAAI,KAAK,EAAE,CAAC;QACR,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;YAC7C,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,MAAM,QAAQ,GAAoB,CAAC,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;QACxB,wEAAwE;QACxE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,2FAA2F;IAC3F,6DAA6D;IAC7D,MAAM,YAAY,GAAG,MAAM,IAAA,qCAAS,EAAC,OAAO,EAAE;QAC1C,eAAe,EAAE,uCAAe,CAAC,OAAO;QACxC,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,qCAAa,CAAC,QAAQ;QACrC,MAAM,EAAE,IAAA,iCAAa,EAAC,6BAAQ,CAAC,eAAe,CAAC;QAC/C,eAAe,EAAE,YAAY;QAC7B,UAAU,EAAE,EAAE;KACjB,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,MAAM,IAAA,qCAAS,EAAC,OAAO,EAAE;QAC3C,eAAe,EAAE,uCAAe,CAAC,OAAO;QACxC,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,qCAAa,CAAC,QAAQ;QACrC,MAAM,EAAE,IAAA,iCAAa,EAAC,kCAAW,CAAC,KAAK,CAAC;QACxC,eAAe,EAAE,YAAY;QAC7B,UAAU,EAAE,EAAE;KACjB,CAAC,CAAC;IAEH,IAAI,UAAU,GAA2B,EAAE,CAAC;IAC5C,IAAI,YAAY,IAAI,YAAY,CAAC,UAAU;QAAE,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACrG,IAAI,aAAa,IAAI,aAAa,CAAC,UAAU;QAAE,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAExG,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE1C,mHAAmH;IACnH,mBAAmB;IACnB,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC;IACvE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE1C,IAAI,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrC,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,WAAW,EAAE,oCAAY,CAAC,kBAAkB;KAC/C,CAAC,CAAC,CAAC;IAEJ,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,oCAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC1G,MAAM,aAAa,GAAc,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE9F,wFAAwF;IACxF,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACjF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEnD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1F,IAAI,OAAO,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;QACZ,8DAA8D;QAC9D,UAAU;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,IAAY,uBAKX;AALD,WAAY,uBAAuB;IAC/B,qEAAQ,CAAA;IACR,6EAAY,CAAA;IACZ,6EAAY,CAAA;IACZ,qEAAQ,CAAA;AACZ,CAAC,EALW,uBAAuB,uCAAvB,uBAAuB,QAKlC;AAAA,CAAC;AAEK,KAAK,UAAU,uBAAuB,CACzC,OAA4B,EAC5B,eAAqC,EACrC,QAAiC;IAEjC,IAAI,QAAQ,KAAK,uBAAuB,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,kCAAkC,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,IAAA,2DAA0B,EAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC3D,OAAO;QACX,CAAC;QACD,4CAA4C;QAC5C,MAAM,IAAA,2DAA0B,EAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC3D,MAAM,IAAA,2DAA0B,EAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC3D,OAAO;IACX,CAAC;IACD,IAAI,QAAQ,IAAI,uBAAuB,CAAC,QAAQ,IAAI,QAAQ,IAAI,uBAAuB,CAAC,IAAI,EAAE,CAAC;QAC3F,MAAM,IAAA,2DAA0B,EAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,QAAQ,IAAI,uBAAuB,CAAC,QAAQ,IAAI,QAAQ,IAAI,uBAAuB,CAAC,IAAI,EAAE,CAAC;QAC3F,MAAM,IAAA,2DAA0B,EAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC/D,CAAC;AACL,CAAC"}
|
|
@@ -335,7 +335,8 @@ async function _extractDataTypeDictionary(session, d, dataTypeManager) {
|
|
|
335
335
|
session.read({ nodeId: dataTypeDictionaryNodeId, attributeId: node_opcua_data_model_1.AttributeIds.BrowseName }),
|
|
336
336
|
_readNamespaceUriProperty(session, dataTypeDictionaryNodeId)
|
|
337
337
|
]);
|
|
338
|
-
doDebug &&
|
|
338
|
+
doDebug &&
|
|
339
|
+
debugLog("DataTypeDictionary is deprecated or BSD schema stored in dataValue is null !", chalk_1.default.cyan(name.value.value.toString()), "namespace =", namespace);
|
|
339
340
|
debugLog("let's use the new way (1.04) and let's explore all dataTypes exposed by this name space");
|
|
340
341
|
}
|
|
341
342
|
// dataType definition in store directly in UADataType under the definition attribute
|
|
@@ -347,7 +348,8 @@ async function _extractDataTypeDictionary(session, d, dataTypeManager) {
|
|
|
347
348
|
}
|
|
348
349
|
else {
|
|
349
350
|
const rawSchema = d.rawSchema; // DataValue = await session.read({ nodeId: dataTypeDictionaryNodeId, attributeId: AttributeIds.Value });
|
|
350
|
-
doDebug &&
|
|
351
|
+
doDebug &&
|
|
352
|
+
debugLog(" ----- Using old method for extracting schema => with BSD files -----", dataTypeDictionaryNodeId.namespaceUri);
|
|
351
353
|
// old method ( until 1.03 )
|
|
352
354
|
// one need to read the schema file store in the dataTypeDictionary node and parse it !
|
|
353
355
|
/* istanbul ignore next */
|
|
@@ -505,13 +507,16 @@ async function populateDataTypeManager103(session, dataTypeManager) {
|
|
|
505
507
|
async function putInCorrectOrder() {
|
|
506
508
|
const infos = [];
|
|
507
509
|
const innerMap = {};
|
|
508
|
-
|
|
510
|
+
const innerF = async (reference) => {
|
|
509
511
|
const dataTypeDictionaryNodeId = reference.nodeId;
|
|
510
|
-
const
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
512
|
+
const promises = [
|
|
513
|
+
/* isDictionaryDeprecated: bool = await */ _readDeprecatedFlag(session, dataTypeDictionaryNodeId),
|
|
514
|
+
/* rawSchemaDataValue!: DataValue = await */ session.read({
|
|
515
|
+
attributeId: node_opcua_data_model_1.AttributeIds.Value,
|
|
516
|
+
nodeId: dataTypeDictionaryNodeId
|
|
517
|
+
})
|
|
518
|
+
];
|
|
519
|
+
const [isDictionaryDeprecated, rawSchemaDataValue] = await Promise.all(promises);
|
|
515
520
|
const rawSchema = rawSchemaDataValue.value.value ? rawSchemaDataValue.value.value.toString() : "";
|
|
516
521
|
const info = {
|
|
517
522
|
dataTypeDictionaryNodeId,
|
|
@@ -561,7 +566,9 @@ async function populateDataTypeManager103(session, dataTypeManager) {
|
|
|
561
566
|
innerMap[info.targetNamespace] = info;
|
|
562
567
|
}
|
|
563
568
|
// assert(info.targetNamespace.length !== 0);
|
|
564
|
-
}
|
|
569
|
+
};
|
|
570
|
+
const promises = references.map(innerF);
|
|
571
|
+
await Promise.all(promises);
|
|
565
572
|
// ----------------------------------
|
|
566
573
|
const orderedList = [];
|
|
567
574
|
const visited = {};
|
|
@@ -590,7 +597,8 @@ async function populateDataTypeManager103(session, dataTypeManager) {
|
|
|
590
597
|
const map2 = {};
|
|
591
598
|
for (const d of dataTypeDictionaryInfo) {
|
|
592
599
|
map[d.targetNamespace] = d;
|
|
593
|
-
doDebug &&
|
|
600
|
+
doDebug &&
|
|
601
|
+
debugLog(" fixing based dataTypeFactory dependencies for ", d.targetNamespace, "index = ", d.dataTypeDictionaryNodeId.namespace);
|
|
594
602
|
const baseDataFactories = [(0, node_opcua_factory_1.getStandardDataTypeFactory)()];
|
|
595
603
|
for (const namespace of Object.values(d.dependencies)) {
|
|
596
604
|
if (namespace === d.targetNamespace) {
|
|
@@ -604,10 +612,11 @@ async function populateDataTypeManager103(session, dataTypeManager) {
|
|
|
604
612
|
if (dataTypeManager.hasDataTypeFactory(namespaceIndex)) {
|
|
605
613
|
const dep = dataTypeManager.getDataTypeFactory(namespaceIndex);
|
|
606
614
|
baseDataFactories.push(dep);
|
|
607
|
-
doDebug &&
|
|
615
|
+
doDebug &&
|
|
616
|
+
debugLog(" considering , ", baseDataFactory.targetNamespace, "index = ", baseDataFactory.dataTypeDictionaryNodeId.namespace);
|
|
608
617
|
}
|
|
609
618
|
}
|
|
610
|
-
doDebug && debugLog(
|
|
619
|
+
doDebug && debugLog(" baseDataFactories = ", baseDataFactories.map((f) => f.targetNamespace).join(" "));
|
|
611
620
|
map2[d.targetNamespace] = baseDataFactories;
|
|
612
621
|
}
|
|
613
622
|
namespaceArray = dataTypeManager.namespaceArray;
|
|
@@ -659,10 +668,58 @@ async function populateDataTypeManager103(session, dataTypeManager) {
|
|
|
659
668
|
const dataTypeFactory = dataTypeManager.getDataTypeFactoryForNamespace(dataTypeDictionaryNodeId.namespace);
|
|
660
669
|
await _exploreDataTypeDefinition(session, dataTypeDictionaryNodeId, dataTypeFactory, dataTypeManager.namespaceArray);
|
|
661
670
|
}
|
|
671
|
+
// istanbul ignore next
|
|
672
|
+
if (doDebug) {
|
|
673
|
+
for (const d of dataTypeDictionaryInfo) {
|
|
674
|
+
console.log(d);
|
|
675
|
+
}
|
|
676
|
+
}
|
|
662
677
|
// https://medium.com/swlh/dealing-with-multiple-promises-in-javascript-41d6c21f20ff
|
|
663
|
-
|
|
664
|
-
|
|
678
|
+
if (false) {
|
|
679
|
+
// we need to read sequentially the dataTypeDictionaryInfo
|
|
680
|
+
// to esnsure that dependencies are resolved in the correct order
|
|
681
|
+
for (const d of dataTypeDictionaryInfo) {
|
|
682
|
+
await processReferenceOnDataTypeDictionaryType(d);
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
else {
|
|
686
|
+
// attempt to load all dataTypeDictionary in parallel as much as possible
|
|
687
|
+
// 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) {
|
|
691
|
+
continue;
|
|
692
|
+
}
|
|
693
|
+
if (!alreadyProcessed.has(namespace)) {
|
|
694
|
+
return false;
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
return true;
|
|
698
|
+
};
|
|
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
|
+
const queue = [...dataTypeDictionaryInfo];
|
|
704
|
+
while (queue.length > 0) {
|
|
705
|
+
doDebug && console.log("queue length = ", queue.length);
|
|
706
|
+
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
|
+
})());
|
|
714
|
+
}
|
|
715
|
+
else {
|
|
716
|
+
queue.push(d);
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
// const promise: Promise<void>[] = dataTypeDictionaryInfo.map(processReferenceOnDataTypeDictionaryType);
|
|
720
|
+
await Promise.all(promises);
|
|
721
|
+
}
|
|
665
722
|
}
|
|
666
|
-
debugLog("out ...
|
|
723
|
+
debugLog("out ... populateDataTypeManager103");
|
|
667
724
|
}
|
|
668
725
|
//# sourceMappingURL=populate_data_type_manager_103.js.map
|
|
@@ -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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"}
|
|
@@ -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
|
-
|
|
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":";;
|
|
1
|
+
{"version":3,"file":"populate_data_type_manager_104.js","sourceRoot":"","sources":["../../source/private/populate_data_type_manager_104.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,4 +4,8 @@ export interface PseudoDataValue {
|
|
|
4
4
|
value: Variant;
|
|
5
5
|
}
|
|
6
6
|
export declare function extractDataValueToPromote(dataValues: PseudoDataValue[]): PseudoDataValue[];
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @private
|
|
10
|
+
*/
|
|
7
11
|
export declare function promoteOpaqueStructure(session: IBasicSessionAsync2, dataValues: PseudoDataValue[]): Promise<void>;
|
|
@@ -18,6 +18,10 @@ function extractDataValueToPromote(dataValues) {
|
|
|
18
18
|
dataValue.value.value[0] instanceof node_opcua_extension_object_1.OpaqueStructure)));
|
|
19
19
|
return dataValuesToFix;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
*
|
|
23
|
+
* @private
|
|
24
|
+
*/
|
|
21
25
|
async function promoteOpaqueStructure(session, dataValues) {
|
|
22
26
|
const dataValuesToFix = extractDataValueToPromote(dataValues);
|
|
23
27
|
if (dataValuesToFix.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promote_opaque_structure.js","sourceRoot":"","sources":["../source/promote_opaque_structure.ts"],"names":[],"mappings":";;AAWA,8DAaC;
|
|
1
|
+
{"version":3,"file":"promote_opaque_structure.js","sourceRoot":"","sources":["../source/promote_opaque_structure.ts"],"names":[],"mappings":";;AAWA,8DAaC;AAKD,wDAcC;AA3CD,6EAA8D;AAE9D,2DAAyE;AACzE,EAAE;AACF,+EAAwE;AACxE,yFAAmF;AAMnF,SAAgB,yBAAyB,CAAC,UAA6B;IACnE,oCAAoC;IACpC,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CACrC,CAAC,SAA0B,EAAE,EAAE,CAC3B,SAAS,CAAC,KAAK;QACf,SAAS,CAAC,KAAK,CAAC,QAAQ,KAAK,6BAAQ,CAAC,eAAe;QACrD,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,KAAK,qCAAgB,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,YAAY,6CAAe,CAAC;YACxG,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,KAAK,qCAAgB,CAAC,MAAM;gBAClD,SAAS,CAAC,KAAK,CAAC,KAAK;gBACrB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;gBACjC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,6CAAe,CAAC,CAAC,CACpE,CAAC;IACF,OAAO,eAAe,CAAC;AAC3B,CAAC;AACD;;;GAGG;AACI,KAAK,UAAU,sBAAsB,CAAC,OAA4B,EAAE,UAA6B;IACpG,MAAM,eAAe,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO;IACX,CAAC;IAED,mDAAmD;IACnD,MAAM,oBAAoB,GAAG,MAAM,IAAA,qDAAuB,EAAC,OAAO,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,SAA0B,EAAE,EAAE;QACtE,OAAO,MAAM,IAAA,gEAA6B,EAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IACH,oFAAoF;IACpF,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-client-dynamic-extension-object",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.141.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",
|
|
@@ -20,12 +20,12 @@
|
|
|
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.
|
|
24
|
-
"node-opcua-schemas": "2.
|
|
25
|
-
"node-opcua-service-browse": "2.
|
|
26
|
-
"node-opcua-service-translate-browse-path": "2.
|
|
23
|
+
"node-opcua-pseudo-session": "2.141.0",
|
|
24
|
+
"node-opcua-schemas": "2.141.0",
|
|
25
|
+
"node-opcua-service-browse": "2.141.0",
|
|
26
|
+
"node-opcua-service-translate-browse-path": "2.141.0",
|
|
27
27
|
"node-opcua-status-code": "2.139.0",
|
|
28
|
-
"node-opcua-types": "2.
|
|
28
|
+
"node-opcua-types": "2.141.0",
|
|
29
29
|
"node-opcua-variant": "2.139.0"
|
|
30
30
|
},
|
|
31
31
|
"author": "Etienne Rossignon",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"internet of things"
|
|
44
44
|
],
|
|
45
45
|
"homepage": "http://node-opcua.github.io/",
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "7467e145ce9ebad2c80cabb096189bda7714083d",
|
|
47
47
|
"files": [
|
|
48
48
|
"dist",
|
|
49
49
|
"source"
|
|
@@ -5,22 +5,31 @@ import {
|
|
|
5
5
|
clearSessionCache,
|
|
6
6
|
readNamespaceArray
|
|
7
7
|
} from "node-opcua-pseudo-session";
|
|
8
|
+
import { NodeId } from "node-opcua-nodeid";
|
|
8
9
|
//
|
|
9
10
|
import { ExtraDataTypeManager } from "./extra_data_type_manager";
|
|
10
11
|
import { DataTypeExtractStrategy, populateDataTypeManager } from "./populate_data_type_manager";
|
|
11
12
|
|
|
13
|
+
|
|
12
14
|
const doDebug = checkDebugFlag(__filename);
|
|
13
15
|
const debugLog = make_debugLog(__filename);
|
|
14
16
|
const errorLog = make_errorLog(__filename);
|
|
15
17
|
const warningLog = errorLog;
|
|
16
18
|
|
|
17
|
-
interface
|
|
19
|
+
export interface IBasicSessionAsync2Private extends IBasicSessionAsync2 {
|
|
18
20
|
$$namespaceArray?: string[];
|
|
19
21
|
$$extraDataTypeManager?: ExtraDataTypeManager;
|
|
20
22
|
$$extraDataTypeManagerToResolve?: [(a: ExtraDataTypeManager) => void, (err: Error) => void][];
|
|
23
|
+
|
|
24
|
+
$$getSessionForDataTypeExtraction?: () => IBasicSessionAsync2;
|
|
25
|
+
|
|
26
|
+
on?: (this: IBasicSessionAsync2Private, event: "session_restored", func: () => void)=> void;
|
|
27
|
+
|
|
28
|
+
sessionId?: NodeId;
|
|
29
|
+
|
|
21
30
|
}
|
|
22
31
|
export async function invalidateExtraDataTypeManager(session: IBasicSessionAsync2): Promise<void> {
|
|
23
|
-
const sessionPriv = session as
|
|
32
|
+
const sessionPriv = session as IBasicSessionAsync2Private;
|
|
24
33
|
clearSessionCache(session);
|
|
25
34
|
sessionPriv.$$namespaceArray = undefined;
|
|
26
35
|
sessionPriv.$$extraDataTypeManager = undefined;
|
|
@@ -64,8 +73,27 @@ function getStrategy(session: IBasicSessionAsync2, strategy?: DataTypeExtractStr
|
|
|
64
73
|
}
|
|
65
74
|
return DataTypeExtractStrategy.Auto;
|
|
66
75
|
}
|
|
76
|
+
|
|
77
|
+
function getSessionForDataTypeManagerExtraction(session: IBasicSessionAsync2): IBasicSessionAsync2 {
|
|
78
|
+
const _session: IBasicSessionAsync2Private = session as IBasicSessionAsync2Private;
|
|
79
|
+
if (_session.$$getSessionForDataTypeExtraction) {
|
|
80
|
+
return _session.$$getSessionForDataTypeExtraction();
|
|
81
|
+
}
|
|
82
|
+
return session;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
type ICascadingSession = { session?: IBasicSessionAsync2; }
|
|
86
|
+
function followSession(session: IBasicSessionAsync2Private & ICascadingSession): IBasicSessionAsync2Private {
|
|
87
|
+
if (session.session) {
|
|
88
|
+
return followSession(session.session);
|
|
89
|
+
}
|
|
90
|
+
return session;
|
|
91
|
+
}
|
|
92
|
+
|
|
67
93
|
export async function getExtraDataTypeManager(session: IBasicSessionAsync2, strategy?: DataTypeExtractStrategy ): Promise<ExtraDataTypeManager> {
|
|
68
|
-
|
|
94
|
+
|
|
95
|
+
const sessionPriv: IBasicSessionAsync2Private = followSession(session) as IBasicSessionAsync2Private;
|
|
96
|
+
|
|
69
97
|
if (sessionPriv.$$extraDataTypeManager) {
|
|
70
98
|
return sessionPriv.$$extraDataTypeManager;
|
|
71
99
|
}
|
|
@@ -83,7 +111,11 @@ export async function getExtraDataTypeManager(session: IBasicSessionAsync2, stra
|
|
|
83
111
|
(async () => {
|
|
84
112
|
try {
|
|
85
113
|
strategy = getStrategy(session, strategy);
|
|
86
|
-
const
|
|
114
|
+
const sessionToUse = getSessionForDataTypeManagerExtraction(session);
|
|
115
|
+
|
|
116
|
+
const dataTypeManager = await extractDataTypeManagerPrivate(sessionToUse, strategy);
|
|
117
|
+
// note: reconnection will call invalidateExtraDataTypeManager
|
|
118
|
+
// if the session is recreated
|
|
87
119
|
const tmp = sessionPriv.$$extraDataTypeManagerToResolve!;
|
|
88
120
|
sessionPriv.$$extraDataTypeManagerToResolve = undefined;
|
|
89
121
|
for (const [resolve] of tmp) {
|
|
@@ -31,16 +31,19 @@ export async function serverImplementsDataTypeDefinition(
|
|
|
31
31
|
});
|
|
32
32
|
|
|
33
33
|
let count103DataType = 0;
|
|
34
|
-
|
|
34
|
+
|
|
35
|
+
const innerF = async (ref: ReferenceDescription) => {
|
|
35
36
|
const td = ref.typeDefinition;
|
|
36
|
-
if (!(td.namespace === 0 && td.value === VariableTypeIds.DataTypeDictionaryType))
|
|
37
|
+
if (!(td.namespace === 0 && td.value === VariableTypeIds.DataTypeDictionaryType)) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
37
40
|
// we have a type definition,
|
|
38
41
|
// let check if there is a deprecated property
|
|
39
42
|
const p = await session.translateBrowsePath(makeBrowsePath(ref.nodeId, "/Deprecated"));
|
|
40
43
|
if (!p.statusCode.isGood() || !p.targets || p.targets.length === 0) {
|
|
41
44
|
// the dataTypeDictionaryType is not exposing a Deprecated property
|
|
42
45
|
count103DataType++;
|
|
43
|
-
|
|
46
|
+
return;
|
|
44
47
|
}
|
|
45
48
|
const deprecatedNodeId = p.targets[0].targetId;
|
|
46
49
|
// we have a deprecated property => this is a 1.03 server or 1.04
|
|
@@ -49,9 +52,19 @@ export async function serverImplementsDataTypeDefinition(
|
|
|
49
52
|
if (dataValue.statusCode.isGood() && dataValue.value.value === false) {
|
|
50
53
|
// this is a 1.03 server
|
|
51
54
|
count103DataType++;
|
|
52
|
-
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (false) {
|
|
60
|
+
for (let r of (browseResult1.references || [])) {
|
|
61
|
+
await innerF(r);
|
|
53
62
|
}
|
|
63
|
+
} else {
|
|
64
|
+
const promises: Promise<void>[] = (browseResult1.references || []).map((a) => innerF(a));
|
|
65
|
+
await Promise.all(promises);
|
|
54
66
|
}
|
|
67
|
+
|
|
55
68
|
if (count103DataType >= 1) {
|
|
56
69
|
// some namespace are old , we cannot assume that all namespace are 1.04
|
|
57
70
|
return false;
|
|
@@ -120,7 +133,7 @@ export enum DataTypeExtractStrategy {
|
|
|
120
133
|
|
|
121
134
|
export async function populateDataTypeManager(
|
|
122
135
|
session: IBasicSessionAsync2,
|
|
123
|
-
dataTypeManager: ExtraDataTypeManager,
|
|
136
|
+
dataTypeManager: ExtraDataTypeManager,
|
|
124
137
|
strategy: DataTypeExtractStrategy
|
|
125
138
|
): Promise<void> {
|
|
126
139
|
if (strategy === DataTypeExtractStrategy.Auto) {
|
|
@@ -134,7 +147,7 @@ export async function populateDataTypeManager(
|
|
|
134
147
|
await populateDataTypeManager104(session, dataTypeManager);
|
|
135
148
|
return;
|
|
136
149
|
}
|
|
137
|
-
if (strategy == DataTypeExtractStrategy.Force103|| strategy == DataTypeExtractStrategy.Both) {
|
|
150
|
+
if (strategy == DataTypeExtractStrategy.Force103 || strategy == DataTypeExtractStrategy.Both) {
|
|
138
151
|
await populateDataTypeManager103(session, dataTypeManager);
|
|
139
152
|
}
|
|
140
153
|
if (strategy == DataTypeExtractStrategy.Force104 || strategy == DataTypeExtractStrategy.Both) {
|
|
@@ -27,6 +27,7 @@ import {
|
|
|
27
27
|
CacheForFieldResolution,
|
|
28
28
|
convertDataTypeDefinitionToStructureTypeSchema
|
|
29
29
|
} from "../convert_data_type_definition_to_structuretype_schema";
|
|
30
|
+
import { DataValue } from "node-opcua-data-value";
|
|
30
31
|
|
|
31
32
|
const doDebug = checkDebugFlag(__filename);
|
|
32
33
|
const debugLog = make_debugLog(__filename);
|
|
@@ -449,12 +450,13 @@ async function _extractDataTypeDictionary(
|
|
|
449
450
|
session.read({ nodeId: dataTypeDictionaryNodeId, attributeId: AttributeIds.BrowseName }),
|
|
450
451
|
_readNamespaceUriProperty(session, dataTypeDictionaryNodeId)
|
|
451
452
|
]);
|
|
452
|
-
doDebug &&
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
453
|
+
doDebug &&
|
|
454
|
+
debugLog(
|
|
455
|
+
"DataTypeDictionary is deprecated or BSD schema stored in dataValue is null !",
|
|
456
|
+
chalk.cyan(name.value.value.toString()),
|
|
457
|
+
"namespace =",
|
|
458
|
+
namespace
|
|
459
|
+
);
|
|
458
460
|
debugLog("let's use the new way (1.04) and let's explore all dataTypes exposed by this name space");
|
|
459
461
|
}
|
|
460
462
|
// dataType definition in store directly in UADataType under the definition attribute
|
|
@@ -465,7 +467,11 @@ async function _extractDataTypeDictionary(
|
|
|
465
467
|
await _extractDataTypeDictionaryFromDefinition(session, dataTypeDictionaryNodeId, dataTypeFactory2);
|
|
466
468
|
} else {
|
|
467
469
|
const rawSchema = d.rawSchema; // DataValue = await session.read({ nodeId: dataTypeDictionaryNodeId, attributeId: AttributeIds.Value });
|
|
468
|
-
doDebug &&
|
|
470
|
+
doDebug &&
|
|
471
|
+
debugLog(
|
|
472
|
+
" ----- Using old method for extracting schema => with BSD files -----",
|
|
473
|
+
dataTypeDictionaryNodeId.namespaceUri
|
|
474
|
+
);
|
|
469
475
|
// old method ( until 1.03 )
|
|
470
476
|
// one need to read the schema file store in the dataTypeDictionary node and parse it !
|
|
471
477
|
/* istanbul ignore next */
|
|
@@ -656,13 +662,19 @@ export async function populateDataTypeManager103(
|
|
|
656
662
|
const infos: TypeDictionaryInfo[] = [];
|
|
657
663
|
const innerMap: { [key: string]: TypeDictionaryInfo } = {};
|
|
658
664
|
|
|
659
|
-
|
|
665
|
+
const innerF = async (reference: ReferenceDescription) => {
|
|
660
666
|
const dataTypeDictionaryNodeId = reference.nodeId;
|
|
661
|
-
|
|
662
|
-
const
|
|
667
|
+
|
|
668
|
+
const promises: [Promise<boolean>, Promise<DataValue>] = [
|
|
669
|
+
/* isDictionaryDeprecated: bool = await */ _readDeprecatedFlag(session, dataTypeDictionaryNodeId),
|
|
670
|
+
/* rawSchemaDataValue!: DataValue = await */ session.read({
|
|
663
671
|
attributeId: AttributeIds.Value,
|
|
664
672
|
nodeId: dataTypeDictionaryNodeId
|
|
665
|
-
})
|
|
673
|
+
})
|
|
674
|
+
];
|
|
675
|
+
|
|
676
|
+
const [isDictionaryDeprecated, rawSchemaDataValue] = await Promise.all(promises);
|
|
677
|
+
|
|
666
678
|
const rawSchema = rawSchemaDataValue.value.value ? rawSchemaDataValue.value.value.toString() : "";
|
|
667
679
|
|
|
668
680
|
const info: TypeDictionaryInfo = {
|
|
@@ -716,7 +728,10 @@ export async function populateDataTypeManager103(
|
|
|
716
728
|
innerMap[info.targetNamespace] = info;
|
|
717
729
|
}
|
|
718
730
|
// assert(info.targetNamespace.length !== 0);
|
|
719
|
-
}
|
|
731
|
+
};
|
|
732
|
+
const promises: Promise<void>[] = references.map(innerF);
|
|
733
|
+
await Promise.all(promises);
|
|
734
|
+
|
|
720
735
|
// ----------------------------------
|
|
721
736
|
const orderedList: TypeDictionaryInfo[] = [];
|
|
722
737
|
const visited: any = {};
|
|
@@ -745,17 +760,17 @@ export async function populateDataTypeManager103(
|
|
|
745
760
|
|
|
746
761
|
// setup dependencies
|
|
747
762
|
const map: { [key: string]: TypeDictionaryInfo } = {};
|
|
748
|
-
|
|
749
763
|
const map2: { [key: string]: DataTypeFactory[] } = {};
|
|
750
764
|
for (const d of dataTypeDictionaryInfo) {
|
|
751
765
|
map[d.targetNamespace] = d;
|
|
752
766
|
|
|
753
|
-
doDebug &&
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
767
|
+
doDebug &&
|
|
768
|
+
debugLog(
|
|
769
|
+
" fixing based dataTypeFactory dependencies for ",
|
|
770
|
+
d.targetNamespace,
|
|
771
|
+
"index = ",
|
|
772
|
+
d.dataTypeDictionaryNodeId.namespace
|
|
773
|
+
);
|
|
759
774
|
|
|
760
775
|
const baseDataFactories: DataTypeFactory[] = [getStandardDataTypeFactory()];
|
|
761
776
|
for (const namespace of Object.values(d.dependencies)) {
|
|
@@ -770,20 +785,20 @@ export async function populateDataTypeManager103(
|
|
|
770
785
|
if (dataTypeManager.hasDataTypeFactory(namespaceIndex)) {
|
|
771
786
|
const dep = dataTypeManager.getDataTypeFactory(namespaceIndex);
|
|
772
787
|
baseDataFactories.push(dep);
|
|
773
|
-
doDebug &&
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
788
|
+
doDebug &&
|
|
789
|
+
debugLog(
|
|
790
|
+
" considering , ",
|
|
791
|
+
baseDataFactory.targetNamespace,
|
|
792
|
+
"index = ",
|
|
793
|
+
baseDataFactory.dataTypeDictionaryNodeId.namespace
|
|
794
|
+
);
|
|
779
795
|
}
|
|
780
796
|
}
|
|
781
|
-
doDebug && debugLog(
|
|
797
|
+
doDebug && debugLog(" baseDataFactories = ", baseDataFactories.map((f) => f.targetNamespace).join(" "));
|
|
782
798
|
map2[d.targetNamespace] = baseDataFactories;
|
|
783
799
|
}
|
|
784
800
|
|
|
785
|
-
namespaceArray =dataTypeManager.namespaceArray;
|
|
786
|
-
|
|
801
|
+
namespaceArray = dataTypeManager.namespaceArray;
|
|
787
802
|
|
|
788
803
|
for (const d of dataTypeDictionaryInfo) {
|
|
789
804
|
const set = new Set<DataTypeFactory>();
|
|
@@ -800,12 +815,11 @@ export async function populateDataTypeManager103(
|
|
|
800
815
|
if (visited.has(namespaceUri)) {
|
|
801
816
|
continue;
|
|
802
817
|
}
|
|
803
|
-
if (namespaceUri === d.targetNamespace) {
|
|
818
|
+
if (namespaceUri === d.targetNamespace) {
|
|
804
819
|
continue;
|
|
805
820
|
}
|
|
806
|
-
var index
|
|
807
|
-
if (index == -1)
|
|
808
|
-
continue;
|
|
821
|
+
var index = namespaceArray.indexOf(namespaceUri);
|
|
822
|
+
if (index == -1) continue;
|
|
809
823
|
|
|
810
824
|
var dd = dataTypeManager.getDataTypeFactory(index);
|
|
811
825
|
set.add(dd);
|
|
@@ -826,7 +840,6 @@ export async function populateDataTypeManager103(
|
|
|
826
840
|
// --------------------
|
|
827
841
|
|
|
828
842
|
// now investigate DataTypeDescriptionType
|
|
829
|
-
|
|
830
843
|
async function processReferenceOnDataTypeDictionaryType(d: TypeDictionaryInfo): Promise<void> {
|
|
831
844
|
debugLog(chalk.cyan("processReferenceOnDataTypeDictionaryType on "), d.targetNamespace);
|
|
832
845
|
const ref = d.reference;
|
|
@@ -845,10 +858,59 @@ export async function populateDataTypeManager103(
|
|
|
845
858
|
await _exploreDataTypeDefinition(session, dataTypeDictionaryNodeId, dataTypeFactory, dataTypeManager.namespaceArray);
|
|
846
859
|
}
|
|
847
860
|
|
|
848
|
-
//
|
|
849
|
-
|
|
850
|
-
|
|
861
|
+
// istanbul ignore next
|
|
862
|
+
if (doDebug) {
|
|
863
|
+
for (const d of dataTypeDictionaryInfo) {
|
|
864
|
+
console.log(d);
|
|
865
|
+
}
|
|
851
866
|
}
|
|
852
867
|
|
|
853
|
-
|
|
868
|
+
|
|
869
|
+
// https://medium.com/swlh/dealing-with-multiple-promises-in-javascript-41d6c21f20ff
|
|
870
|
+
if (false) {
|
|
871
|
+
// we need to read sequentially the dataTypeDictionaryInfo
|
|
872
|
+
// to esnsure that dependencies are resolved in the correct order
|
|
873
|
+
for (const d of dataTypeDictionaryInfo) {
|
|
874
|
+
await processReferenceOnDataTypeDictionaryType(d);
|
|
875
|
+
}
|
|
876
|
+
} else {
|
|
877
|
+
// attempt to load all dataTypeDictionary in parallel as much as possible
|
|
878
|
+
// 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) {
|
|
882
|
+
continue;
|
|
883
|
+
}
|
|
884
|
+
if (!alreadyProcessed.has(namespace)) {
|
|
885
|
+
return false;
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
return true;
|
|
889
|
+
}
|
|
890
|
+
|
|
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
|
+
const queue: TypeDictionaryInfo[] = [...dataTypeDictionaryInfo];
|
|
896
|
+
|
|
897
|
+
while (queue.length > 0) {
|
|
898
|
+
doDebug && console.log("queue length = ", queue.length);
|
|
899
|
+
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
|
+
})());
|
|
907
|
+
} else {
|
|
908
|
+
queue.push(d);
|
|
909
|
+
}
|
|
910
|
+
}
|
|
911
|
+
// const promise: Promise<void>[] = dataTypeDictionaryInfo.map(processReferenceOnDataTypeDictionaryType);
|
|
912
|
+
await Promise.all(promises);
|
|
913
|
+
}
|
|
914
|
+
}
|
|
915
|
+
debugLog("out ... populateDataTypeManager103");
|
|
854
916
|
}
|
|
@@ -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
|
-
|
|
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
|
|
|
@@ -23,6 +23,10 @@ export function extractDataValueToPromote(dataValues: PseudoDataValue[]): Pseudo
|
|
|
23
23
|
);
|
|
24
24
|
return dataValuesToFix;
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
* @private
|
|
29
|
+
*/
|
|
26
30
|
export async function promoteOpaqueStructure(session: IBasicSessionAsync2, dataValues: PseudoDataValue[]) {
|
|
27
31
|
const dataValuesToFix = extractDataValueToPromote(dataValues);
|
|
28
32
|
if (dataValuesToFix.length === 0) {
|