node-opcua-modeler 2.76.2 → 2.78.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/addExtensionObjectDataType.d.ts +4 -4
- package/dist/addExtensionObjectDataType.js +3 -2
- package/dist/addExtensionObjectDataType.js.map +1 -1
- package/dist/build_model_inner.js +3 -1
- package/dist/build_model_inner.js.map +1 -1
- package/package.json +20 -20
- package/source/addExtensionObjectDataType.ts +10 -14
- package/source/build_model_inner.ts +4 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Namespace, UADataType, UAObject, UAVariableType } from "node-opcua-address-space";
|
|
1
|
+
import { Namespace as INamespace, UADataType, UAObject, UAVariableType } from "node-opcua-address-space";
|
|
2
2
|
import { LocalizedTextLike, QualifiedNameLike } from "node-opcua-data-model";
|
|
3
3
|
import { NodeId } from "node-opcua-nodeid";
|
|
4
4
|
import { StructureDefinitionOptions } from "node-opcua-types";
|
|
@@ -6,7 +6,7 @@ import { StructureDefinitionOptions } from "node-opcua-types";
|
|
|
6
6
|
* create the deprecated DataTypeDictionary node that was
|
|
7
7
|
* used up to version 1.03
|
|
8
8
|
*/
|
|
9
|
-
export declare function getOrCreateDataTypeSystem(namespace:
|
|
9
|
+
export declare function getOrCreateDataTypeSystem(namespace: INamespace): UAObject;
|
|
10
10
|
export interface ExtensionObjectDefinition {
|
|
11
11
|
browseName: QualifiedNameLike;
|
|
12
12
|
description: LocalizedTextLike;
|
|
@@ -17,5 +17,5 @@ export interface ExtensionObjectDefinition {
|
|
|
17
17
|
jsonEncoding?: NodeId;
|
|
18
18
|
subtypeOf?: UADataType;
|
|
19
19
|
}
|
|
20
|
-
export declare function addExtensionObjectDataType(namespace:
|
|
21
|
-
export declare function addVariableTypeForDataType(namespace:
|
|
20
|
+
export declare function addExtensionObjectDataType(namespace: INamespace, options: ExtensionObjectDefinition): Promise<UADataType>;
|
|
21
|
+
export declare function addVariableTypeForDataType(namespace: INamespace, dataType: UADataType): UAVariableType;
|
|
@@ -52,10 +52,11 @@ function addExtensionObjectDataType(namespace, options) {
|
|
|
52
52
|
structureDefinition.baseDataType = structureDefinition.baseDataType
|
|
53
53
|
? (0, node_opcua_nodeid_1.resolveNodeId)(structureDefinition.baseDataType)
|
|
54
54
|
: (0, node_opcua_nodeid_1.resolveNodeId)("Structure");
|
|
55
|
+
const isAbstract = options.isAbstract || false;
|
|
55
56
|
const dataType = namespace.createDataType({
|
|
56
57
|
browseName: options.browseName,
|
|
57
58
|
description: options.description,
|
|
58
|
-
isAbstract
|
|
59
|
+
isAbstract,
|
|
59
60
|
subtypeOf
|
|
60
61
|
});
|
|
61
62
|
const defaultBinary = dataTypeEncodingType.instantiate({
|
|
@@ -73,7 +74,7 @@ function addExtensionObjectDataType(namespace, options) {
|
|
|
73
74
|
const session = new node_opcua_address_space_1.PseudoSession(addressSpace);
|
|
74
75
|
const className = dataType.browseName.name;
|
|
75
76
|
const cache = {};
|
|
76
|
-
const schema = yield (0, node_opcua_client_dynamic_extension_object_1.convertDataTypeDefinitionToStructureTypeSchema)(session, dataType.nodeId, className, dataType.getStructureDefinition(), dataTypeFactory, cache);
|
|
77
|
+
const schema = yield (0, node_opcua_client_dynamic_extension_object_1.convertDataTypeDefinitionToStructureTypeSchema)(session, dataType.nodeId, className, dataType.getStructureDefinition(), dataTypeFactory, isAbstract, cache);
|
|
77
78
|
const Constructor = (0, node_opcua_schemas_1.createDynamicObjectConstructor)(schema, dataTypeFactory);
|
|
78
79
|
return dataType;
|
|
79
80
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addExtensionObjectDataType.js","sourceRoot":"","sources":["../source/addExtensionObjectDataType.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"addExtensionObjectDataType.js","sourceRoot":"","sources":["../source/addExtensionObjectDataType.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,8 +22,10 @@ function buildModelInner(data) {
|
|
|
22
22
|
if (data.presetSymbols) {
|
|
23
23
|
nodeIdManager.setSymbols(data.presetSymbols);
|
|
24
24
|
}
|
|
25
|
-
yield (0, node_opcua_address_space_1.generateAddressSpaceRaw)(addressSpace, data.xmlFiles, data.xmlLoader);
|
|
25
|
+
yield (0, node_opcua_address_space_1.generateAddressSpaceRaw)(addressSpace, data.xmlFiles, data.xmlLoader, {});
|
|
26
|
+
addressSpace.getOwnNamespace().registerSymbolicNames = true;
|
|
26
27
|
yield data.createModel(addressSpace);
|
|
28
|
+
addressSpace.getOwnNamespace().registerSymbolicNames = false;
|
|
27
29
|
const xmlModel = ns.toNodeset2XML();
|
|
28
30
|
const symbols = nodeIdManager.getSymbols();
|
|
29
31
|
const doc = yield (0, generate_markdown_doc_1.buildDocumentationToString)(ns, {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build_model_inner.js","sourceRoot":"","sources":["../source/build_model_inner.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uEAAoH;AACpH,mEAAqE;AAcrE,SAAsB,eAAe,CAAC,IAAuB;;QACzD,IAAI;YACA,MAAM,YAAY,GAAG,uCAAY,CAAC,MAAM,EAAE,CAAC;YAE3C,wDAAwD;YACxD,MAAM,EAAE,GAAG,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE7D,MAAM,aAAa,GAAI,EAAU,CAAC,cAA+B,CAAC;YAClE,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAChD;YAED,MAAM,IAAA,kDAAuB,EAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"build_model_inner.js","sourceRoot":"","sources":["../source/build_model_inner.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uEAAoH;AACpH,mEAAqE;AAcrE,SAAsB,eAAe,CAAC,IAAuB;;QACzD,IAAI;YACA,MAAM,YAAY,GAAG,uCAAY,CAAC,MAAM,EAAE,CAAC;YAE3C,wDAAwD;YACxD,MAAM,EAAE,GAAG,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE7D,MAAM,aAAa,GAAI,EAAU,CAAC,cAA+B,CAAC;YAClE,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAChD;YAED,MAAM,IAAA,kDAAuB,EAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAE9E,YAAY,CAAC,eAAe,EAAU,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACrE,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACpC,YAAY,CAAC,eAAe,EAAU,CAAC,qBAAqB,GAAG,KAAK,CAAC;YAEtE,MAAM,QAAQ,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,MAAM,IAAA,kDAA0B,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACrD,YAAY,CAAC,OAAO,EAAE,CAAC;YAEvB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;SAC/C;QAAC,OAAO,GAAG,EAAE;YACV,uCAAuC;YACvC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC1B,MAAM,GAAG,CAAC;SACb;IACL,CAAC;CAAA;AA7BD,0CA6BC"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-opcua-modeler",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.78.0",
|
|
4
4
|
"description": "pure nodejs OPCUA SDK - module - model",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "tsc -b",
|
|
9
|
-
"clean": "npx rimraf dist *.tsbuildinfo",
|
|
9
|
+
"clean": "npx rimraf node_modules dist *.tsbuildinfo",
|
|
10
10
|
"test": "mocha"
|
|
11
11
|
},
|
|
12
12
|
"author": "Etienne Rossignon",
|
|
@@ -14,26 +14,26 @@
|
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"cli-table3": "^0.6.2",
|
|
16
16
|
"csv-parse": "5.3.0",
|
|
17
|
-
"node-opcua-address-space": "2.
|
|
18
|
-
"node-opcua-assert": "2.
|
|
19
|
-
"node-opcua-basic-types": "2.
|
|
20
|
-
"node-opcua-client-dynamic-extension-object": "2.
|
|
21
|
-
"node-opcua-constants": "2.
|
|
22
|
-
"node-opcua-data-model": "2.
|
|
23
|
-
"node-opcua-debug": "2.
|
|
24
|
-
"node-opcua-factory": "2.
|
|
25
|
-
"node-opcua-nodeid": "2.
|
|
26
|
-
"node-opcua-nodesets": "2.
|
|
27
|
-
"node-opcua-numeric-range": "2.
|
|
28
|
-
"node-opcua-schemas": "2.
|
|
29
|
-
"node-opcua-service-translate-browse-path": "2.
|
|
30
|
-
"node-opcua-status-code": "2.
|
|
31
|
-
"node-opcua-types": "2.
|
|
32
|
-
"node-opcua-variant": "2.
|
|
17
|
+
"node-opcua-address-space": "2.78.0",
|
|
18
|
+
"node-opcua-assert": "2.77.0",
|
|
19
|
+
"node-opcua-basic-types": "2.77.0",
|
|
20
|
+
"node-opcua-client-dynamic-extension-object": "2.78.0",
|
|
21
|
+
"node-opcua-constants": "2.77.0",
|
|
22
|
+
"node-opcua-data-model": "2.78.0",
|
|
23
|
+
"node-opcua-debug": "2.77.0",
|
|
24
|
+
"node-opcua-factory": "2.78.0",
|
|
25
|
+
"node-opcua-nodeid": "2.77.0",
|
|
26
|
+
"node-opcua-nodesets": "2.77.0",
|
|
27
|
+
"node-opcua-numeric-range": "2.78.0",
|
|
28
|
+
"node-opcua-schemas": "2.78.0",
|
|
29
|
+
"node-opcua-service-translate-browse-path": "2.78.0",
|
|
30
|
+
"node-opcua-status-code": "2.77.0",
|
|
31
|
+
"node-opcua-types": "2.78.0",
|
|
32
|
+
"node-opcua-variant": "2.78.0",
|
|
33
33
|
"yargs": "15.4.1"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"node-opcua-leak-detector": "2.
|
|
36
|
+
"node-opcua-leak-detector": "2.77.0",
|
|
37
37
|
"should": "^13.2.3",
|
|
38
38
|
"sinon": "^14.0.0"
|
|
39
39
|
},
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"internet of things"
|
|
51
51
|
],
|
|
52
52
|
"homepage": "http://node-opcua.github.io/",
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "31c6eee3c51f52427584364fff2fdb07bbac65be"
|
|
54
54
|
}
|
|
@@ -1,29 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
|
-
Namespace,
|
|
2
|
+
Namespace as INamespace,
|
|
3
3
|
PseudoSession,
|
|
4
4
|
UADataType,
|
|
5
5
|
UAObject,
|
|
6
|
-
|
|
7
|
-
UAVariableT,
|
|
8
|
-
UAVariableType,
|
|
9
|
-
dumpToBSD,
|
|
10
|
-
DTDataTypeDefinition,
|
|
11
|
-
UAProperty
|
|
12
|
-
} from "node-opcua-address-space";
|
|
6
|
+
UAVariableType} from "node-opcua-address-space";
|
|
13
7
|
import assert from "node-opcua-assert";
|
|
14
8
|
import { convertDataTypeDefinitionToStructureTypeSchema, ExtraDataTypeManager } from "node-opcua-client-dynamic-extension-object";
|
|
15
|
-
import { coerceQualifiedName, LocalizedTextLike,
|
|
9
|
+
import { coerceQualifiedName, LocalizedTextLike, QualifiedNameLike } from "node-opcua-data-model";
|
|
16
10
|
import { ConstructorFuncWithSchema } from "node-opcua-factory";
|
|
17
11
|
import { NodeId, resolveNodeId } from "node-opcua-nodeid";
|
|
18
12
|
import { createDynamicObjectConstructor } from "node-opcua-schemas";
|
|
19
13
|
import { StructureDefinition, StructureDefinitionOptions } from "node-opcua-types";
|
|
20
|
-
import { DataType, Variant } from "node-opcua-variant";
|
|
21
14
|
|
|
22
15
|
/**
|
|
23
16
|
* create the deprecated DataTypeDictionary node that was
|
|
24
17
|
* used up to version 1.03
|
|
25
18
|
*/
|
|
26
|
-
export function getOrCreateDataTypeSystem(namespace:
|
|
19
|
+
export function getOrCreateDataTypeSystem(namespace: INamespace): UAObject {
|
|
27
20
|
const addressSpace = namespace.addressSpace;
|
|
28
21
|
|
|
29
22
|
const opcBinaryTypeSystem = addressSpace.findNode("OPCBinarySchema_TypeSystem") as UAObject;
|
|
@@ -49,7 +42,7 @@ export interface ExtensionObjectDefinition {
|
|
|
49
42
|
subtypeOf?: UADataType;
|
|
50
43
|
}
|
|
51
44
|
|
|
52
|
-
export async function addExtensionObjectDataType(namespace:
|
|
45
|
+
export async function addExtensionObjectDataType(namespace: INamespace, options: ExtensionObjectDefinition): Promise<UADataType> {
|
|
53
46
|
const addressSpace = namespace.addressSpace;
|
|
54
47
|
|
|
55
48
|
// encodings
|
|
@@ -72,10 +65,12 @@ export async function addExtensionObjectDataType(namespace: Namespace, options:
|
|
|
72
65
|
? resolveNodeId(structureDefinition.baseDataType)
|
|
73
66
|
: resolveNodeId("Structure");
|
|
74
67
|
|
|
68
|
+
const isAbstract = options.isAbstract || false;
|
|
69
|
+
|
|
75
70
|
const dataType = namespace.createDataType({
|
|
76
71
|
browseName: options.browseName,
|
|
77
72
|
description: options.description,
|
|
78
|
-
isAbstract
|
|
73
|
+
isAbstract,
|
|
79
74
|
subtypeOf
|
|
80
75
|
});
|
|
81
76
|
|
|
@@ -104,6 +99,7 @@ export async function addExtensionObjectDataType(namespace: Namespace, options:
|
|
|
104
99
|
className,
|
|
105
100
|
dataType.getStructureDefinition(),
|
|
106
101
|
dataTypeFactory,
|
|
102
|
+
isAbstract,
|
|
107
103
|
cache
|
|
108
104
|
);
|
|
109
105
|
const Constructor = createDynamicObjectConstructor(schema, dataTypeFactory) as ConstructorFuncWithSchema;
|
|
@@ -111,7 +107,7 @@ export async function addExtensionObjectDataType(namespace: Namespace, options:
|
|
|
111
107
|
return dataType;
|
|
112
108
|
}
|
|
113
109
|
|
|
114
|
-
export function addVariableTypeForDataType(namespace:
|
|
110
|
+
export function addVariableTypeForDataType(namespace: INamespace, dataType: UADataType): UAVariableType {
|
|
115
111
|
const addressSpace = namespace.addressSpace;
|
|
116
112
|
|
|
117
113
|
// get Definition
|
|
@@ -25,10 +25,12 @@ export async function buildModelInner(data: BuildModelOptions): Promise<{ markdo
|
|
|
25
25
|
nodeIdManager.setSymbols(data.presetSymbols);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
await generateAddressSpaceRaw(addressSpace, data.xmlFiles, data.xmlLoader);
|
|
28
|
+
await generateAddressSpaceRaw(addressSpace, data.xmlFiles, data.xmlLoader, {});
|
|
29
29
|
|
|
30
|
+
(addressSpace.getOwnNamespace() as any).registerSymbolicNames = true;
|
|
30
31
|
await data.createModel(addressSpace);
|
|
31
|
-
|
|
32
|
+
(addressSpace.getOwnNamespace() as any).registerSymbolicNames = false;
|
|
33
|
+
|
|
32
34
|
const xmlModel = ns.toNodeset2XML();
|
|
33
35
|
const symbols = nodeIdManager.getSymbols();
|
|
34
36
|
const doc = await buildDocumentationToString(ns, {});
|